|
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 |
|
|
Dépendance |
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.