Per ottenere la connessione via Java con una webapp si devono effettuare 4 operazioni:
1) Definire un datasource dentro JBOSS;
2) Definire il nodo resource-ref nel web.xml;
3) Definire il file jboss-web.xml dentro la directory WEB-INF;
4) Effettuare la lookup al datasource
Di seguito vediamo i 4 passi in pratica, avendo come AS JBOSS 5.1 e come database sottostante MySql 5.1.
Passo 1
Il datasource XXXXX-ds.xml
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>jdbc/personaDS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/gestore</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root</user-name>
<password>root</password>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
<!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
<metadata>
<type-mapping>mySQL</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
Passo 2
Nel web.xml abbiamo :
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/personaDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
Passo 3
Il file jboss-web.xml
<jboss-web>
<context-root>GestorePersonaWeb</context-root>
<resource-ref>
<description>database connection</description>
<res-ref-name>jdbc/personaDS</res-ref-name>
<jndi-name>java:jdbc/personaDS</jndi-name>
</resource-ref>
</jboss-web>
Passo 4
Per ottenere la reference al datasource si utilizzano le seguenti istruzioni:
.......
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/personaDS");
.....
1) Definire un datasource dentro JBOSS;
2) Definire il nodo resource-ref nel web.xml;
3) Definire il file jboss-web.xml dentro la directory WEB-INF;
4) Effettuare la lookup al datasource
Di seguito vediamo i 4 passi in pratica, avendo come AS JBOSS 5.1 e come database sottostante MySql 5.1.
Passo 1
Il datasource XXXXX-ds.xml
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>jdbc/personaDS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/gestore</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root</user-name>
<password>root</password>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
<!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
<metadata>
<type-mapping>mySQL</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
Passo 2
Nel web.xml abbiamo :
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/personaDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
Passo 3
Il file jboss-web.xml
<jboss-web>
<context-root>GestorePersonaWeb</context-root>
<resource-ref>
<description>database connection</description>
<res-ref-name>jdbc/personaDS</res-ref-name>
<jndi-name>java:jdbc/personaDS</jndi-name>
</resource-ref>
</jboss-web>
Passo 4
Per ottenere la reference al datasource si utilizzano le seguenti istruzioni:
.......
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/personaDS");
.....
Nessun commento:
Posta un commento