Bonjour,
Mon problème est assez brouillon pour moi alors j'espère être le plus clair possible. J'ai une application web qui utilise un base Oracle, la base de données est renseignée par un alias dans le fichier repository.xml de cette manière :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
<jdbc-connection-descriptor jcd-alias="dbresources"	default-connection="true" platform="Oracle9i" jdbc-level="2.0"
	jndi-datasource-name="java:comp/env/jdbc/toto_ds" batch-mode="true" >
	<sequence-manager className="org.apache.ojb.broker.util.sequence.SequenceManagerNextValImpl" />
</jdbc-connection-descriptor>
Le lien avec le serveur web (jboss) s'effectue donc avec un fichier oracle-ds.xml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>toto_ds</jndi-name>
    <connection-url>jdbc:oracle:thin:@serveur:port:user</connection-url>
	<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
    <user-name>user</user-name>
    <password>pwd</password>
	<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
  </local-tx-datasource>
</datasources>
Jusqu'ici tout vas bien, sauf que j'ai mis en place des tests unitaires, qui sont donc lancés à chaque build et qui doivent se connecter à la base de données. J'essaye de faire un truc le plus générique possible, j'ai donc repris le mode de fonctionnement de l'applcation. A savoir un PersistenceBroker.
Voici mon code pour me connecter à la base de données :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
Connection connection = null;
PersistenceBroker broker = null;
broker = PersistenceBrokerFactory.createPersistenceBroker(ObjectDataAccess.ALIAS_PBKEY);
if (broker != null) {
	try {
		connection = broker.serviceConnectionManager().getConnection();
	} catch (LookupException e) {
		e.printStackTrace();
	}
}
et voici l'erreur que j'obtiens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Naming Exception while looking up DataSource (java:comp/env/jdbc/toto_ds)
 
Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
Donc en fait ce qu'il me manque c'est comment faire le lien entre tout ça, en gros comment donner les infos qui fichier oracle-ds.xml à mes tests unitaires.