jdbc/myDataSource ou java:myDataSource
Bonjour,
Je suis en train de développer un service sous forme de jar qui doit tourner aussi bien sur JBoss et Tomcat. Vous allez me dire que Tomcat est dans JBoss, chose que je sais mais j'ai un petit problème au niveau de la configuration.
J'utilise un fichier hibernate.cfg.xml dans mon jar qui va chercher un datasource défini par les applications clientes.
Donc dans ce fichier, j'ai :
Code:
1 2
| <property name="connection.datasource">jdbc/MyDataSource</property> //Tomcat
<property name="connection.datasource">java:MyDataSource</property> //JBoss |
La configuration pour une application cliente sous JBoss, j'ai des fichiers *-ds.xml avec par exemple :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| <?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>MyDataSource</jndi-name>
<connection-url>jdbc:oracle:thin:@XXXXXXX</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>XXXXX</user-name>
<password>XXXXX</password>
<min-pool-size>10</min-pool-size>
<connection-property name="autoCommit">false</connection-property>
</local-tx-datasource>
</datasources> |
Dans l'application cliente sous Tomcat, j'ai deux fichiers qui référencent le datasource : web.xml et context.xml:
Web.xml:
Code:
1 2 3 4 5 6
| <resource-ref>
<description>MyDataSource</description>
<res-ref-name>jdbc/MyDataSource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref> |
Context.xml
Code:
1 2 3 4 5 6 7
| <Resource name="jdbc/MyDataSource"
auth="Container"
type="javax.sql.DataSource"
username="XXXXXXX"
password="XXXXXX"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@XXXXXXXXXX" /> |
Ma question est la suivante : comment pourrais-je uniformiser mon service partagé ? A quoi correspondent les jdbc/myDataSource ou java:myDataSource ?
D'avance merci pour votre aide :)