2013-05-24 3 views
12

Я пытаюсь реплицировать атрибут resource-refweb.xml в моих весенних веб-приложениях WebApplicationInitializer для настройки JNDI.Servlet 3.0 Spring Java Config JNDI

Как бы я это сделать:

<resource-ref> 
<description>Connection Pool</description> 
<res-ref-name>jdbc/LocalCheddar</res-ref-name> 
<res-type>javax.sql.Datasource</res-type> 
<res-auth>Container</res-auth> 
</resource-ref> 

в Java конфигурации, а не XML?

ответ

12

Заглянув в спецификацию для сервлета 3.0, я нашел аннотацию @Resource. Вместо моего класса WebApplicationInitializer он теперь находится в моем классе WebConfig.

@Bean 
@Resource(name="jdbc/MyDB") 
public DataSource dataSourceLookup() { 
    final JndiDataSourceLookup dsLookup = new JndiDataSourceLookup(); 
    dsLookup.setResourceRef(true); 
    DataSource dataSource = dsLookup.getDataSource("java:comp/env/jdbc/MyDB"); 
    return dataSource; 
} 
+0

Я не мог заставить это работать. Что именно вы подразумеваете под «WebConfig»? Класс, расширяющий WebMvcConfigurationSupport? – user871611

+0

WebConfig - конфигурация java (расширение WebMvcConfigurerAdapter) – ctrlspace

Смежные вопросы