Accueil > Non classé > Websphere MQ en JMS / JNDI

Websphere MQ en JMS / JNDI

Petit problème technique rencontré la semaine dernière : Configurer un logiciel pour utiliser Websphere MQ comme provider JMS via JNDI. En effet, le logiciel (propriétaire) ne propose pas d’instancier directement la ConnectionFactory mais demande une factory JNDI, une URL et un nom JNDI.

Après quelques recherches, j’ai trouvé un article chez IBM qui explique qu’il faut télécharger des support pacs (MS0B & ME01)

La factory à utiliser est « com.ibm.mq.jms.context.WMQInitialContextFactory »

L’url est de la forme « hostWebsphereMq:portManager/channel ». Par exemple : « 192.168.0.25:1414/SYSTEM.DEF.SVRCONN »

Le nom de la connectionFactory est le nom du manager MQ

Voici un exemple de code qui envoie un message texte dans Websphere MQ en JMS via JNDI.

	    /* Environement JNDI */
	    Properties env = new Properties();
	    /* Factory fournie par les support pacs */
	    env.put(Context.INITIAL_CONTEXT_FACTORY,  
               "com.ibm.mq.jms.context.WMQInitialContextFactory");
	    /* serveur:port/channel */
	    env.put(Context.PROVIDER_URL, "mymanager:1414/SYSTEM.DEF.SVRCONN");
	    /* Connexion JNDI */
	    Context context = new InitialContext(env);

	    /* Recherche de la connection factory (nom du manager) */
	    QueueConnectionFactory queueFactory = (QueueConnectionFactory) context.lookup("MYTSTA");

	    /* API JMS classique */
	    QueueConnection queueConnection = queueFactory.createQueueConnection();
	    QueueSession queueSession = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
	    Queue queue = queueSession.createQueue("TEST.QUEUE");
	    QueueSender queueSender = queueSession.createSender(queue);
	    TextMessage message = queueSession.createTextMessage();
	    message.setText("Hello World !");
	    queueSender.send(message);
	    queueSession.close();
  1. Sammy
    1 juillet 2009 à 19:52

    Merci! Ça m’a vraiment aidé!

  1. No trackbacks yet.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :