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
Monitoring Avec GLASSBOX Sous Jboss 5
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 serverdefaultdeployhsqldb-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 serverdefaultlib (à 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_HOMEdocsexamplesjcamysql-ds.xml
Faîtes une copie de ce fichier dans le répertoire serverdefaultdeploy 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.
datasource mysql sans gestion pool connexion
Copiez le fichier dans le répertoire JBOSS_HOMEserverdefaultdeploy.
Démarrez Jboss (double-cliquez sur JBOSS_HOMEbinrun.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 :
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
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 : Monitoring
En utilisant l’application Web console de Jboss (http://localhost:8080/web-console),
montrez qu’il est possible de monitorer en temps réels le nombre de connections à la base de données
Expliquez
Partie 5 : pool de connexion
Qu’est ce qu’un pool de connexion ? Quelle valeur ajoutée
Modifier le contenu du fichier
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 ?
Redémarrez Jboss
Identifiezà nouveau monitoring du nombre de connexion.
Expliquez.
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 :
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