vers l'accueil formulaire de contact

Tutoriel administration Jboss N°6 : intégration MySQL

Votre formation JBOSS avec Objis, spécialiste formation java depuis 2005

Maîtrisez la configuration d’une source de données JDBC (MySQL, Oracle) dans JBoss 5. Mettez en œuvre une datasource dans l’arbre JNDI de Jboss 5. Accédez à vos données à partir d’une application jee (war). Enfin configurez un votre pool de connexion afin d’améliorer les performances d’accès aux donnée de votre application.

Ce tutoriel est un extrait de séances pratiques de la formation Administration JBOSS5 dispensée par Objis.

Les + objis
- 70% de travaux pratiques
- Clé USB avec tous les outils utilisés + Corrigés TPs
- Bilan pédagogique individuel + conseils
- Nos tutoriaux pour vous initier

Liens utiles

- + de 100 tutoriaux java/jee Objis
- 10 tutoriaux JBOSS 5
- Objis, spécialiste formation java depuis 2005
- Site de téléchargement serveur Jboss 5
- Site de la communauté Jboss
- Tutoriel Struts N°8 : accès base de données JDBC (déploiement Tomcat)
- Monitoring Pool de connexion Jboss

Prérequis

- Installation Kit de développement JDK 6
- Tutoriel jboss N°1 : installation Jboss 5

Objectifs

- Configurer une Datasource JNDI dans Jboss.
- Déployer un war accédant à la base de données
- Comprendre et paramétrer un pool de connexion.

Durée

- 40 min

Programme

- Partie 1 : création base de données ’formation’
- Partie 2 : configuration de l’accès à la base dans Jboss
- Partie 3 : développement et déploiement application de ’demande de formations’
- Partie 4 : introduction pool de connexion

Introduction

Jboss 5 est livrée avec une base de données nommée HSQLDB, configurée dans le fichier server\default\deploy\hsqldb-ds.xml

La base est utile en environnement de développement mais pas en production.

Nous allons configurer une DataSource JNDI (source de données) pour la base de données MySQL5 ’formation’ démarrée plus haut.

Partie 1 : Création base de données

- Dans un serveur de bases de données MYSQL (WAMP5 ou autre outil), créez une base de données nommée ’formation’.
- Vérifiez que la base est créée et que le serveur de base de données MySQL est démarré.

Partie 2 : Configuration Datasource dans Jboss

Etape 1 : Driver JDBC
- Téléchargez le zip du driver MySQL connector/J à partir du site de MySQL. Par exemple cliquez ici pour télécharger directement le fichier mysql-connector-5.0.5.zip.

- Dézippez le fichier. Vous voyez alors le jar du driver : mysql-connector-java-5.0.5-bin.jar

- Ajoutez le driver MySQL (fichier mysql-connector-java-5.0.5-bin.jar) dans le répertoire \server\default\lib (à récupérer à partir du site de Mysql. Téléchargez le zip et extraire le jar)

Etape 2 :création fichier objisformation-mysql-ds.xml

- Identifiez le fichier JBOSS_HOME\docs\examples\jca\mysql-ds.xml

Faîtes une copie de ce fichier dans le répertoire \server\default\deploy et renomant la copie objisformation-mysql-ds.xml

Vous ferez ainsi pour toute autre base de données à intégrer. En effet la plupart des bases ont leur fichier de config préconfiguré (Oracle , postgresql, db2...).

Etape 3 : mise à jour et déploiement DataSource

Modifiez le contenu du fichier afin de l’adapter à votre base de données.

— Nous donnons à notre base de données un nom JNDI formationDS

REMARQUE : dans cette configuration, aucun pool de connexion n’est configuré. L’application est responsable de l’ouverture et de la fermeture de toute connexion à la base de données.

XML - 738 octets
datasource mysql sans gestion pool connexion

- Copiez le fichier dans le répertoire JBOSS_HOME\server\default\deploy.

- Démarrez Jboss (double-cliquez sur JBOSS_HOME\bin\run.bat).

La trace suivante apparaît vers la fin du chargement de Jboss

ça y est, votre base de données est identifiée par Jboss. Les applications pourrons se connecter par programmation en utilisant l’API JNDI en utilisant la ressource JNDI java:formationDS

Partie 3 : Déploiement application war

Nous allons mettre en œuvre l’intégration d’une application jee avec une base de données. L’application écrit dans une table des informations récupérées sur un formulaire de demande de formation.

Cette application a été développée dans le cadre de nos tutoriaux Struts1, et en particulier le tutoriel Struts N°8 : accès base de données JDBC (déploiement Tomcat) .

Préparation base de données : création table ’demandeformation’

- Sélectionnez la base de données ’formation’ et exécutez le script sql suivant :

Zip - 565 octets
script création table demandeformation

Ce script crée une unique table ’demandeformation’.

Dans WAMP la table est créée.

Nous allons désormais analyser le code associé à l’insertion d’une demande de formation Objis dans cette table.

Code associé à l’accès aux données DataSource Jboss

Notez la ligne impliquée dans la connection via Datasource JNDI. L’adresse JNDI de la base de données est : java:formationDS.

- Déployez l’application demostrutsdatabase.war

Zip - 1.7 Mo
demo déploiement appli db jboss5

L’utilisateur rempli un formulaire et le soumet. Le code vu plus haut est celui de l’insertion des données en base de données via Datasource dans Jboss.

- Avec votre navigateur, allez à l’adresse : http://localhost ://8080/demostrutsdatabase.

- Cliquez sur le lien ’Accès demo struts database’

- Remplissez le formulaire de demande de formation

- Validez. Vérifier les logs et la base de données.

Partie 4 : pool de connexion

- Modifier le contenu du fichier

- Qu’est ce qu’un pool de connexion ? Quelle valeur ajoutée

- Expliquez la configuration ci-dessus.

- En utilisant la documentation Jboss, expliquez à quoi servent les paramètres min-pool-size, max-pool-size, idle-timeout-minutes, blocking-timeout-millis ?

- En utilisant le domaine JMX jboss.jca, expliquez comment monitorer le pool de connexion. Combien de MBean sont impliqués dans la configuration du pool de Connexion ?

- Que sont les paramètres track-statements, prepared-statement-cache-size, security-domain ?

Monitoring

- En utilisant l’application Web console de Jboss (System / JmX Mbean, /"name=formationDS ,service=ManagedConnectionPool"), montrez qu’il est possible de monitorer en temps réels le nombre de connections du pool utilisés

PNG - 10.8 ko
tutoriel-jboss-datasource-monitoring-pool-conection-0

- 

PNG - 17.5 ko
tutoriel-jboss-datasource-monitoring-pool-conection

Conclusion

Dans ce tutoriel vous avez analysé et mis en oeuvre l’intégration d’une base de données MySQL dans Jboss 5.

Prochaine formation JBOSS

Le chemin le plus court pour avoir les réflexes et la méthodologie du bon développeur JBOSS :

Votre formation JBOSS avec Objis, spécialiste formation java depuis 2005

Pour aller plus loin : le réseau Objis

Si vous appréciez notre sens du partage, devenez gratuitement membre ’classic’ du Club Objis :
- Votez pour les prochains tutoriaux à publier
- Préparez vos entretiens techniques
- Valorisez votre profil / expertise
- Identifiez des opportunités d’emploi
- Recevez la newsletter objis.com