2016-08-14 7 views
-1

Я новичок в MQ и JNDI, и я ищу простой простой пример кода Java, который разрешает мою конфигурацию WMS JMS и может писать и чтение из двух очередей сообщений.Как использовать ресурсы WAS JMS для очереди IIB MQ из приложения Java на WAS (с использованием JNDI)

конкретно я хотел бы JAVA код для:

  • код запуска на платформе IBM WebSphere Network Deployment Application Server (WAS ND 8.5.5)
  • Пишите, и читать, 2 IBM Integration Bus (IIB) сообщение Очереди на внешней системе

  • В WAS я настроил JMS ресурсы следующим образом:

    • для подключения завода - дал ему имя JNDI из "Jms/MQCONN.FACTORY"
    • для очереди # 1 - дал ему имя JNDI из "JMS/MQUEUE1.DEST"
    • для очереди # 2 - дал это имя JNDI из "JMS/MQUEUE2.DEST"

настроить JAAS - аутентификации J2C учетных данных.

Примечание: Мне не удалось проверить подключение к MQ для фабрики соединений, поскольку параметры безопасности добавляются после завершения работы мастера, и вы можете только проверить мастер. Я считаю, что конфигурация WAS правильная, включая учетные данные.

я особенно не понимаю, как код JNDI часть (т.е. как хранить переменную среды, которая говорит JNDI, который исходный контекст для использования, и где найти поставщика.)

Благодарен за любую помощь!

+0

Нет такой вещи, насколько мне известно, как очередь сообщений IIB. Вы имеете в виду очередь IBM MQ? IIB может взаимодействовать с очередями MQ, но у него нет очередей. –

ответ

0

Sibyl. После того как вы настроили эти управляемые объекты (QueueConnectionFactory. Queue), вы сможете найти их из кода, который можно развернуть на сервере приложений.

Вы должны будете получить

а) InitialContext (при развертывании уха на сервере, вы можете использовать конструктор по умолчанию)

б) подключение очереди Lookup завод (context.lookup (ххх))

с) очереди просмотра (context.lookup (гггг))

г) Создание продюсера сообщение

е) Создание очереди сеанса, текстовое сообщение и отправить сообщение прямо

Вы можете получить больше идей здесь (http://www.webspheretools.com/sites/webspheretools.nsf/docs/Creating%20a%20Queue%20Connection%20Factory%20and%20Queue%20for%20connectivity%20to%20MQ)

В основном размещать конфигурации много шаблонного JMS кодирования

0

Вот небольшая помощь для вас. Вам не нужно предоставлять дополнительную конфигурацию после создания ресурсов в WAS.

Queue myQueue; 
QueueConnectionFactory myQueueFactory; 
QueueConnection connection = null; 
QueueSession session = null; 

try{ 
    InitialContext jndi = new InitialContext(); 
    myQueueFactory = (QueueConnectionFactory) jndi.lookup("jms/MQCONN.FACTORY"); 
    myQueue = (Queue) jndi.lookup("jms/MQUEUE1.DEST"); 

    connection=myQueueFactory.createQueueConnection(); 

    session = connection.createQueueSession(true, Session.AUTO_ACKNOWLEDGE); 

    QueueSender sender = session.createSender(myQueue); 
    connection.start(); 
    TextMessage textMessage = session.createTextMessage(event); 
    textMessage.setStringProperty("messageType", "file"); 
    sender.send(textMessage); 

    sender.close(); 

    if (session != null) { 
     session.close(); 
    } 

    if (connection != null) { 
     connection.close(); 
    } 
} catch (JMSException e) { 
    e.printStackTrace(); 
}