OVH Cloud OVH Cloud

JNDI Datasource

2 réponses
Avatar
Alain ROUILLON
Bonjour à tous,

Je crée un EJB qui doit utiliser une source de données. Pour cela je
souhaite déclarer une source nommée et utiliser l'interface JNDI, pour que
mon serveur d'application (JBOSS en l'occurence) prenne en charge les
aspects de connexion.

Mais je ne vois pas comment récupérer une instance de connexion (référence à
l'objet Connection) pour créer des statements à exécuter (requêtes par
exemple).

Quelqu'un a-t-il une suggestion ?

Alain

2 réponses

Avatar
jerome moliere
Alain ROUILLON wrote:
Bonjour à tous,

Je crée un EJB qui doit utiliser une source de données. Pour cela je
souhaite déclarer une source nommée et utiliser l'interface JNDI, pour que
mon serveur d'application (JBOSS en l'occurence) prenne en charge les
aspects de connexion.

Mais je ne vois pas comment récupérer une instance de connexion (référence à
l'objet Connection) pour créer des statements à exécuter (requêtes par
exemple).


l'interface DataSource est faite pour cela...
tu configures ta DataSource dans ton JBOSS
tu la cherches par son nom via JNBDI
puis tu castes en dataSource
t'obtiens une connexion (connection en anglais)
tu fais ce que tu veux
tu liberes
et hop :)

jerome

--
Auteur cahier du programmeur Java tome 2 - Eyrolles 10/2003
http://www.eyrolles.com/php.informatique/Ouvrages/ouvrage.php3?ouv_ean13—82212111941

Avatar
Laurent Nel
Bonjour,

Mais je ne vois pas comment récupérer une instance de connexion (référence
à

l'objet Connection) pour créer des statements à exécuter (requêtes par
exemple).


Avec un code de ce genre (aux exceptions et import près):

InitialContext ctx = new InitialContext ();
DataSource ds = (DataSource)PortableRemoteObject.narrow(

ctx.lookup("java:comp/env/jdbc/lenomdemadatasource"),
javax.sql.DataSource.class)
);
Connection c = ds.getConnection( ...) ; // paramètres éventuels : login +
mdp

// code JDBC standard

c.close(); // CRUCIAL pour le bon fonctionnement du pool de connexions JDBC.

Laurent
--
Laurent NEL, Associé-Gérant

www.leuville.com / Conseil - Ingénierie - Formation
Java - J2EE - UML

Offres d'emploi: http://www.leuville.com/entry_servlet?screenÊrrieres