2013-05-24 6 views
12

Ich versuche, das resource-ref Attribut von web.xml in meinem Frühjahr Web-Anwendungen WebApplicationInitializer zu JNDI zu konfigurieren.Servlet 3.0 Spring Java-Konfig JNDI

Wie würde ich dies tun:

<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> 

in Java-Config anstatt xml?

Antwort

12

Blick in die Spezifikation für Servlet 3.0 fand ich die @Resource Annotation. Statt in meiner WebApplicationInitializer Klasse ist es jetzt in meiner WebConfig Klasse.

@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

Ich konnte das nicht zur Arbeit bringen. Was genau meinst du mit "WebConfig"? Die Klasse, die den WebMvcConfigurationSupport erweitert? – user871611

+0

WebConfig - Java-Konfiguration (Erweiterung von WebMvcConfigurerAdapter) – ctrlspace