Tutoriel administration Jboss N°10 : config. Jboss Messaging

////Tutoriel administration Jboss N°10 : config. Jboss Messaging

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.

Liens utiles

 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

tutoriel_joss5_objis_integration_mysql_3.png

Le contenu du fichier DataSource est le suivant :

tutoriel_joss5_objis_integration_mysql_2.png

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_HOMEdocsexamplesjms

tutoriel_jboss_objis_configuration_jms_1.png

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

tuto_jboss_jms_mysql_persistence_service.png

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

tutoriel_jboss_objis_configuration_jms_3.png

 Remarquez l’option cluster à false.

tutoriel_jboss_objis_configuration_jms_5.png

 Commentez la dépendance au Channel JGroups .

tutoriel_jboss_objis_configuration_jms_4.png

 Déployez dans JBoss : copiez le fichier objisformation-mysql-persistence-service.xml dans JBOSS_HOMEserver_defaultdeploymessaging

 Dans ce même répertoire (JBOSS_HOMEserver_defaultdeploymessaging ) supprimez le fichier hsqldb-persistence-service.xml qui indiquait à Jboss la base de données à utiliser pour la persistence (hsqldb) :

tutoriel_jboss_objis_configuration_jms_7.png

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

uto_jboss_jms_repertoire_messaging.png

 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 :

tutoriel_jboss_objis_configuration_jms_10-2.png

ç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 :

mysql_transaction_isolation.png

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

tuto_jboss_jms_mysql_trace_complete_avec__modif_transaction.png

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’.

tutoriel_jboss_objis_configuration_jms_9.png

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 deploymessaging ,

tuto_jboss_jms_mysql_fichier_messaging_jboss_beans.png

 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.

tuto_jboss_jms_mysql_strategie_securite_messaging_defaultds.png

 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

tuto_jboss_jms_mysql_strategie_securite_messaging.png

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

table role
tuto_jboss_jms_mysql_table_role.png

table user
tuto_jboss_jms_mysql_table_user.png

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.

tutoriel_jboss_objis_configuration_jms_22.png

Téléchargez le fichier suivant :

configuration destination Topic DemandeFormation

 Déposez le fichier dans le répertoire deploymessaging.

tutoriel_jboss_objis_configuration_jms_21.png

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

tutoriel_jboss_objis_configuration_jms_23.png

ç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.

tutoriel_jboss_objis_configuration_jms_25.png

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

tutoriel_jboss_objis_configuration_jms_24.png

Conclusion

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

2018-01-27T16:29:50+01:00

Contactez nous

241 rue DUGUESCLIN, 69003 Lyon

Web : Objis : spécialiste formation Java