-En JBoss sólo se pueden poner datasources en ficheros *-ds.xml. No se pueden poner en el META-INF/context.xml. Por lo que vamos a ver como modificar el war de tomcat para que funcione el datasource en JBoss:
1.-Se crea el datasource correspondiente:
<datasources>
<local-tx-datasource>
<jndi-name>jdbc/test</jndi-name>
….
</local-tx-datasource>
</datasources>
2.- Hay que modificar el web.xml y añadir un recurso si no se tiene ya:
<!–web.xml–>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/test</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
3.- Hay que crear si no existe un fichero “jboss-web.xml” con lo siguiente:
<!–jboss-web.xml–>
<jboss-web>
<resource-ref>
<res-ref-name>jdbc/test</res-ref-name>
<jndi-name>java:/jdbc/test</jndi-name>
</resource-ref>
</jboss-web>
-Con esto le decimos que el “jdbc/test” del tomcat se corresponde con el “/jdbc/test” del jboss.
4.- Finalmente desde la aplicación web ya se puede acceder al datasource de la siguiente forma:
Context ctx = new javax.naming.InitialContext();
DataSource ds = (DataSource)ctx.lookup(“java:comp/env/jdbc/test”);
0 comentarios