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

Есть ли какой-нибудь пример, который я могу использовать, чтобы построить это?

2
Xanathos 29 Мар 2014 в 02:48
Все системы JMS, о которых я знаю (Joram, ActiveMQ и OpenMQ), имеют Java API, которые можно настроить без использования JNDI - намного проще IMO для автономных приложений. Есть ли какая-то конкретная причина, по которой вам все равно нужен JNDI, или у Websphere нет такого автономного API?
 – 
fvu
29 Мар 2014 в 02:52
У меня возникла проблема с использованием ресурсов JNDI в WAS для подключения к MQ Manager. Я подозреваю, что с сервером что-то происходит, поэтому, чтобы сузить круг вопросов, я хочу создать приложение, использующее JNDI для использования интерфейсов JMS для подключения к этому диспетчеру очередей. Если работает без сбоев, то проблема в сервере. Знаете ли вы какой-нибудь хороший учебник или справочник по созданию такого приложения?
 – 
Xanathos
29 Мар 2014 в 02:58
Нет, тут ничем не могу помочь, извините.
 – 
fvu
29 Мар 2014 в 03:09

2 ответа

Лучший ответ

Немного старый, но объясняет шаги: Технический журнал IBM WebSphere Developer: Разработка автономного приложения Java для WebSphere MQ http://www.ibm.com/developerworks/websphere/techjournal/0502_woolf /0502_woolf.html

Затем для доступа к JNDI вам понадобится тонкий клиент http://pic.dhe.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=%2Fcom.ibm.websphere.express.doc % 2Finfo% 2Fexp% 2Fae% 2Ftcli_developthin.html

Также есть образец в клиентской загрузке JmsJndiProducer.java

2
Neeraj Krishna 29 Мар 2014 в 13:58
Да, похоже, вам нужно создать ресурсы на MQ, чтобы сделать все это. По крайней мере, это то, что я читал. Что ж, спасибо за поддержку.
 – 
Xanathos
30 Мар 2014 в 06:16
Не используйте класс «WMQInitialContextFactory». Это не поддерживается.
 – 
Roger
1 Апр 2014 в 00:38

Документацию Javadoc для классов JMS WebSphere MQ можно найти на здесь. Вам нужно создать экземпляр com.ibm.mq.jms.MQConnectionFactory, com.ibm.mq.jms.MQQueueConnectionFactory или com.ibm.mq.jms.MQTopicConnectionFactory. Когда у вас есть экземпляр, вы можете настроить его, используя различные сеттеры, а затем вызвать один из методов createConnection. Простой пример:

MQConnectionFactory factory = new MQConnectionFactory();
factory.setQueueManager("myQmgr");
factory.setTransportType(WMQConstants.WMQ_CM_BINDINGS);

Connection conn = factory.createConnection();
Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
Queue q = session.createQueue("myQ");
TextMessage msg = session.createTextMessage();
msg.setText("My message body");
MessageProducer sender = session.createProducer(q);
1
Alasdair 29 Мар 2014 в 13:59