spring 3.x + jboss 7.1.1: how to get the datasource from jndi
settholo Jan 24, 2013 10:17 AMHello everyone,
I have to go into production with my web application. The application server is JBoss 7.1.1.
So I was looking for moving the datasources from the spring application context to the container.
I configured the datasource in jboss:
<datasource jta="false" jndi-name="java:jboss/datasources/sampleDS" pool-name="sampleDSPool" enabled="true" use-java-context="true" use-ccm="false"> <connection-url>jdbc:postgresql://localhost:5432/sampleDB</connection-url> <driver-class>org.postgresql.Driver</driver-class> <driver>postgresql</driver> <pool> <min-pool-size>2</min-pool-size> <max-pool-size>20</max-pool-size> </pool> <security> <user-name>*****</user-name> <password>*****</password> </security> <validation> <validate-on-match>false</validate-on-match> <background-validation>false</background-validation> <background-validation-millis>1</background-validation-millis> </validation> <statement> <prepared-statement-cache-size>0</prepared-statement-cache-size> <share-prepared-statements>false</share-prepared-statements> </statement> </datasource>
Well, when jboss starts it confirms that my datasource it's bound to java:jboss/datasources/sampleDS.
Now I wanted to move the configuration:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="${db.driver.prod}" /> <property name="url" value="${db.url.prod}" /> <property name="username" value="${db.username.prod}" /> <property name="password" value="${db.password.prod}" /> </bean>
to
<jee:jndi-lookup id="dataSource" jndi-name="java:jboss/datasources/sampleDS"/>
or
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName"> <value>java:jboss/datasources/sampleDS</value> </property> </bean>
There is no way of getting the datasource from jboss, I always end with name not found ( I tried almost every combination ).
Caused by: javax.naming.NameNotFoundException: jboss/datasources/sampleDS -- service jboss.naming.context.java.jboss.exported.jboss.datasources.sampleDS
Is there someone that is able to use the datasource fomr joss through jndi?
You can find the thread also in the spring forum at: http://forum.springsource.org/showthread.php?134298-spring-3-2-jboss-7-1-1-how-to-get-the-datasource-from-jndi
Thank you for your help.
Daniele