Fiches / Articles

Cadre Fonctionnel

Accès aux bases de données pour les EJB

Cadre Technique

NT / JonAS (Java Open Application Server)

Identifiant 

BD_EJB_01

Référent technique 


Version 

1.0

Auteur 

Alexandre Brillant

Date 

04/01

Source

Documentation de Jonas

Cibles 

ETB_EJB_01, SB_EJB_01, OPT_ETB_EJB_01

Dépendance 

INS_EJB_01

L’accès aux bases de données passent par des sources de données de type javax.sql.DataSource. Ce composant (une factory) permet d’accéder à un objet de type java.sql.Connection permettant d’exécuter et de traiter des requêtes SQL. La déclaration de ces sources de données est faite dans le fichier %JONAS_ROOT%\jonas.properties.

jonas.datasources acces_1

Acces_1 représente un alias vers le fichier acces_1.properties contenant tous les paramètres d’accès à la base de données via JDBC :

Exemple de fichier acces_1.properties :

datasource.name       acces_1

datasource.url jdbc:postgresql://hexadev/base1

datasource.classname  postgresql.Driver

datasource.username   hexadev

datasource.password   vedaxeh


Un entity bean dans le cas Bean-Managed Persistence ou un session bean vont définir dans leur fichier de déploiement ejb-jar.xml l’accès à ces ressources.

Exemple dans un fichier de déploiement :

<jonas-resource>

<res-ref-name>jdbc/uneBase</res-ref-name>

<jndi-name>acces_1</jndi-name>

</jonas-resource>

L’accès à cette base se fait par JNDI,

Exemple d’utilisation :

InitialContext it = new InitialContext();

DataSource ds = (DataSource)it.lookup("java:comp/env/jdbc/uneBase");

Connection connection = ds.getConnection();

On utilisera de préférence la méthode ejbCreate pour obtenir une connexion et l’initialisation des différents champs mappant une partie de la base. Pour optimiser la communication client/serveu voir la fiche OPT_ETB_EJB_01.