vers l'accueil formulaire de contact

Tutoriel administration Jboss N°10 : config. Jboss Messaging

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

Maîtrisez la configuration de JBoss Messaging, le module de configuration d’une source de données JMS dans JBoss. Basée sur une infrastructure impliquant Jboss remoting et Jboss Cache, JBoss messaging est un puissant levier pour vos applications asynchrones, avec par exemple un fournisseur de message Active MQ ou WebSphere MQ.

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
- Niveaux d’isolation base de données MySQL
- Utilisation outil Hermes Jms pour Jboss
- Tutoriel Struts N°8 : accès base de données JDBC (déploiement Tomcat)

Prérequis

- Installation Kit de développement JDK 6
- Tutoriel administration jboss N°1 : installation Jboss 5
- Tutoriel administration jboss N°3 : intégration MySQL

Objectifs


- Comprendre l’architecture de Jboss Messaging
- Configurer JBoss messaging
- Créer une Queue ou un Topic dans Jboss
- Déployer un EJB3 Message (EJB3 MDB) dans Jboss

Durée

- 1h

Programme

- Introduction et méthodologie
- Partie 1 : configuration Datasource dans Jboss
- Partie 2 : configuration du controle d’accès
- Partie 3 : configuration des destinations (queues et topics)
- Partie 4 : développement d’un EJB3 message (MDB)
- Partie 5 : déploiement de l’EJB3 message

Introduction & Méthodologie

Configuration Jboss Messaging en 5 étapes

— 1) Configuration DataSource
— 2) Configuration du controle d’accès
— 3) Configuration des destinations (queues et topics)
— 4) Développement d’un EJB3 MDB
— 5) Déploiement de l’EJB3 MDB

Partie 1 : Configuration DataSource

Datasource JNDI

Cette DataSource a été configurée dans notre tutoriel Administration Jboss N°3 : intégration MySQL

Le contenu du fichier DataSource est le suivant :

Persistence JMS

Avec JBoss Messaging, les messages JMS sont par défaut stockés physiquement dans une base de données. Plusieurs configurations sont disponibles pour différents ditypes de bases de données (Oracle, postgresql...)

Nous allons spécifier à Jboss la base de données à utiliser (ici MySQL5) pour la persistence (le stockage) des messages.

- Identifiez le fichier mysql-persistence-service.xml dans JBOSS_HOME\docs\examples\jms

- Faites une copie de ce fichier dans le même répertoire en le nommant objisformation-mysql-persistence-service.xml

- Dans le fichier objisformation-mysql-persistence-service.xml, modifier les 6 références à DefaultDS en formationDS, la datasource que nous avons configurée.

- Remarquez l’option cluster à false.

- Commentez la dépendance au Channel JGroups .

- Déployez dans JBoss : copiez le fichier objisformation-mysql-persistence-service.xml dans JBOSS_HOME\server_default\deploy\messaging
- Dans ce même répertoire (JBOSS_HOME\server_default\deploy\messaging ) supprimez le fichier hsqldb-persistence-service.xml qui indiquait à Jboss la base de données à utiliser pour la persistence (hsqldb) :

Le contenu du répertoire messaging est désormais le suivant.

- Relancez le serveur JBoss.

Sur la console de log, jboss vous informe d’un déploiement réussi pour la configuration par défaut (hsql) ainsi que pour notre configuration :

ça y est : Jboss Messaging est bien démarré ! BRAVO.

INFO : le message de Warning est ’normal’ : il est lié à la configuration du niveau d’isolation par défaut de la base de données MySQL (REAPETABLE_READ) qui est différent de celui préconisé par JBoss pour Jboss Messaging (READ_COMMITED).

INFO 2 : vous pouvez modifier le niveau d’isolation de votre base de données en ajoutant la ligne suivante dans la section serveur [mysqld] de votre my.ini (windows) ou my.cnf (linux). Par exemple juste après la déclaration du port d’écoute :

Après arrêt et redémarrage de Jboss, voici alors la trace complète :

création automatique de tables pour Jboss Messaging

INFO 3 : Lors du redémarrage de Jboss, ce dernier créée dans votre source de données les 9 tables nécessaire au bon fonctionnement du service Jboss Messaging. Ci dessous, ce sont toutes les tables sauf la table ’demandeformation’.

Partie 2 : Configuration du contrôle d’accès

Dans cette partie vous allez analyser la stratégie d’accès par défaut pour l’accès en lecture/écriture aux différentes ’destinations’ des messages JMS (Queues et Topicsaux Queues et Topics) de Jboss, puis mettre en œuvre une stratégie d’authentification et d’autorisation personalisée.

Utilisation de la stratégie par défaut : ’messaging’

- Dans le fichier messaging-jboss-beans.xml également dans le répertoire deploy\messaging ,

- Ouvrez ce fichier et localisez la stratégie de sécurité ’messaging’ associée au service de message, et initialement paramétrée pour DefaultDS.

- Modifiez la source de de données vers la dataSource formationDS :

ça y est : vous bénéficiez de la stratégie de sécurité par défaut de Jboss Messaging :
— les utilisateurs et rôles sont déclarés sur les tables JBM_USER et JBM_ROLE

Notez l’existence user guest/guest de role guest.

table role

table user

Partie 3 : Configuration des destinations

- Les ’destinations’ livrées avec Jboss par défaut sont dans le fichier destinations.xml

- Créez un fichier spécifique formation-destination.xml , déclarant un Topic, auquel les personnes profil ’fclient’ auront possibilité d’écrire, et les profils ’fcentreformation’ ne pourront que lire.

Téléchargez le fichier suivant :

XML - 685 octets
configuration destination Topic DemandeFormation

- Déposez le fichier dans le répertoire deploy\messaging.

INFO : JBoss vous informe sur sa console que le Topic est bien déployé.

ça y est. Votre ’destination’ JMS est prête.

Reste à créer l’EJB Message qui sera à l’écoute du moindre message de demande de formation afin de remplir une base de données à partir des informations présentes dans le message de demande de formation.

Partie 4 : Création EJB3 Message

- Crééz un EJB3 message pas à pas avec notre tutoriel ejb3 : création EJB3 Message Il s’agit d’un ejb de gestion des demandes de formations Objis, qui sont stockés sous forme de message JMS dans une file de messages.

Partie 5 : Déploiement EJB3 Message

- Copiez le jar de EJB3 ci dessus dans le répertoire deploy de Jboss.

JBoss vous informe dans la console du bon déploiement de l’EJB

Conclusion

Dans ce tutoriel vous avez analysé et mis en œuvre une configuration de Jboss Messaging.

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