Documente Academic
Documente Profesional
Documente Cultură
JMS
Il est possible de crer des messages pour des clients non JMS, on utilise alors : les BytesMessages ; les MapMessages ou les StreamMessages pour lmission (le JMS provider transforme alors le message au format du client non JMS).
Exemple de commandes (pour le j2sdkee1.3) de cration dune file de nom nomJNDIQueue : j2eeadmin addJmsDestination nomJNDIqueue 1 - cration
Exemple dun programme client qui recherche une file : lookup( nomJNDIQueue );
Il y a deux catgories dobjets administrables : Les fabriques de connexion utilises pour crer une connexion avec un provider ; Les destinations (files ou sujets) qui peuvent tre cres par des commandes. Outil dadministration bind Espace de nommage JNDI
Benot Charroux - API - Mars 02 - 11
2 - recherche
3 - utilisation
provider
Les tapes du dveloppement dune application JMS : exemple dune file de messages
Accs la fabrique par programme : QueueConnectionFactory factory = lookup( " nomJNDIFactory " ); Commande de cration dune file : j2eeadmin addJmsDestination nomJNDIQueue queue Queue ou sujet Accs la file par programme : Queue queue = lookup( " nomJNDIQueue " );
Benot Charroux - API - Mars 02 - 14
session QueueSender sender = QueueReceiver receiver = session.createSender( nomJNDIQueue ) ; session.createReceiver( nomJNDIQueue ) ; producteur Queue ou sujet sender.send( message ) ;
Benot Charroux - API - Mars 02 - 16
Un producteur est un objet qui va envoyer des messages une file du provider.
Queue
consommateur
Les messages sont rcuprs linitiative du consommateur ; exemple dune file de messages :
exemple dune file de messages : public class Listener implements MessageListener{ public void onMessage(Message message) {
QueueConnection connection = factory.createQueueConnection() ; QueueReceiver receiver = session.createReceiver( nomJNDIQueue ) ; connection.start(); Message m = receiver.receive(); } }
QueueConnection connection = factory.createQueueConnection() ; QueueReceiver receiver = session.createReceiver( nomJNDIQueue ) ; receiver.setMessageListener( new Listener() ) ; connection.start();
Benot Charroux - API - Mars 02 - 17 Benot Charroux - API - Mars 02 - 18