Skip to content
accelerando

Spring und JNDI Datasources

Ich nutze gerade das J2EE Framework Spring zusammen mit Hibernate und Oracle für eine Webanwendung.

Die Hibernate DataSource kann entweder über eine DriverManagerDataSource und Angabe der Verbindungsparameter innerhalb der Webanwendung gesteuert werden, oder es kann eine JNDI Datasource des Application Containers (in dem Fall Tomcat) genutzt werden:

<bean id="serverDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
	<property name="jndiName"  value="java:comp/env/jdbc/blah"/>
</bean>

Der Trick dabei ist, den vollständigen Namen der DataSource anzugeben, also “java:comp/env/jdbc/blah” statt “jdbc/blah”, ansonsten bekommt nur “javax.naming.NameNotFoundException: Name jdbc is not bound in this Context” um die Ohren geschlagen, auch wenn man die DataSource im Tomcat konfiguriert hat.

Bah, das sowas immer soviel Zeit kosten muss….

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*

*