> Index du TP

 

Commandes de compilation et d’exécution

 

Notes Importantes :

1.       Avant de commencer, copiez les libraires de Joram (présentes dans le répertoire  lib) dans le répertoire lib du TP : cp -r lib tp-jms

2.       Toutes les commandes doivent être exécutées à partir du répertoire d’installation du TP – tp-jms : cd tp-jms. Le fichier build.xml doit se trouver dans ce répertoire.

 

Compilation des applications JMS

Pour compiler tous les fichiers Java du répertoire tp-jms, utilisez la commande :

ant compile

Note : afin d’effacer les classes Java déjà existantes, vous pouvez utiliser la commande :

ant clean compile 

Attention : si le serveur JMS est en train de s’exécuter, cette commande va donner une erreur car certains répertoires (ex : run) sont utilisé par le serveur et donc ils ne peuvent pas être effacés.

 

Démarrage du serveur JMS

Pour démarrer le serveur JMS (en utilisant le fichier de configuration config/centralized_a3servers.xml) utilisez la commande :

ant single_server -Dsid=<l’id de votre serveur> 

ex : ant single_server -Dsid=0111

Note : vous pouvez visualiser l’exécution du serveur JMS via la console graphique du service JMX :

jconsole

Note : vous pouvez vérifier la bonne configuration des ports du service de nommage et du TCP proxy en utilisant la commande netsat :

netstatanp | grep <le_port>

ex : netstatanp | grep 16111

ex : netstatanp | grep 15111

 

Administration du serveur JMS

Pour exécuter le fichier de configuration d’administration du serveur JMS (joramAdmin_TP.xml), utilisez la commande :

ant adminxml

 

Exécution d’applications JMS

Pour exécuter les classes Java (ex : Sender, Browser, Receiver, Listener ou TopicSelectors), utilisez les commandes suivantes :

Sender :

ant sender -Ddestination=<destination> -Dcount=<count>

-          <destination> = le nom de la destination (ex : queue ou topic) vers laquelle le Sender va envoyer les messages

-          <count> = le nombre de messages à envoyer

Ex: ant sender -Ddestination=queue1 -Dcount=9

Quelques Exceptions possibles :

·         javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial

o   Cause : on ne trouve pas, ou on ne peut pas accéder au fichier jndi.properties

o   Solution : assurez-vous que le fichier jndi.properties se trouve dans le répertoire run du tp-jms. Normalement, ce fichier est copié dans le répertoire run lors du démarrage du serveur JMS avec la commande ant single_server

·         javax.naming.NameNotFoundException

     at fr.dyade.aaa.jndi2.client.NamingContextImpl.lookup(NamingContextImpl.java:126)

     at javax.naming.InitialContext.lookup(InitialContext.java:409)

     at Sender.main(Sender.java:46)

o   Cause : la destination donnée en paramètre ne peut pas être trouvée

o   Solutions :

                                                         i.            vérifiez la syntaxe du nom de destination donnée en paramètre

                                                       ii.            vérifiez la présence de la destination indiquée dans le serveur Joram, en utilisant la jconsole. Si la destination n’existe pas, assurez-vous d’avoir correctement configuré et exécuté le fichier d’administration joramAdmin_TP.xml

Browser :

ant browser -Dqueue=<queue_name>

<queue_name> = le nom de la file (« queue ») que le Browser va inspecter

Ex : ant browser -Dqueue=queue1

Receiver :

ant receiver -Ddestination=<destination> [-Dcount=<count>]

<destination> = l’endroit où le Receiver lit et prend les messages

<count> (paramètre optionnel) = le nombre de messages que le Receiver va lire et prendre de <destination>

Ex: ant receiver -Ddestination=queue1 -Dcount=9

Listener :

ant listener -Ddestination=<topic_name>

<topic_name> = nom du thème (« topic ») auquel le Listener s’abonne

Ex : ant listener -Dtopic=topic1

TopicSelectors :

ant topicSelectors -Dtopic=<topic_name>

<topic_name> = le nom du thème (« topic ») utilisé pour la distribution de messages

Note : la file de control utilisée est enregistrée dans le service JNDI sous le nom : « queue1 »

Ex : ant topicSelectors -Dtopic=topic1

 

Arrêt du serveur JMS

Pour arrêter le serveur JMS, il suffit d’utiliser la combinaison de touches Ctrl+C dans la fenêtre où le serveur a été démarré.