WebSphere MQ с использованием JMS - PullRequest
4 голосов
/ 25 мая 2009

У меня есть приложение, которое использует WebSphere MQ Java API вместе с файлом конфигурации (xml) для доступа к MQ. Я хотел бы перейти на WebSphere JMS API. Для этого я пытаюсь создать 1) фабрика соединений WebSphere MQ Queue и 2) пункты назначения WebSphere MQ Queue из моего локального WAS. Когда я настраиваю адресатов своей очереди и пытаюсь настроить параметры MQ Config, я получаю сообщение об ошибке типа «WMSG0316E: Вы пытались просмотреть очередь, которая не была локальной, поддерживается только администрирование локальных очередей».

Сообщение является верным в том смысле, что я пытаюсь подключиться к удаленной очереди. Теперь я не могу настроить свой WAS как клиент MQ, пытающийся подключиться к удаленной очереди? Клиент MQ имеет необходимые файлы JQ MQ в пути к классам сервера.

Буду признателен, если кто-нибудь сможет пролить свет на это.

Ответы [ 3 ]

4 голосов
/ 14 февраля 2010

Я работаю над этой же проблемой - я нашел статьи, в которых авторы подтверждают, что WebSphere нужно сказать, что желателен режим "клиент-удаленная очередь", но мне еще предстоит найти подробности о том, как это сделать За одним автором упомянуто переменную среды.

Все еще в поиске ... Я опубликую решение, если найду его.

1 голос
/ 25 мая 2009

Вы можете уточнить что-нибудь. Вы говорите, что «создаете» фабрику соединений и назначение очереди из своего локального WAS. Вы имеете в виду, что вы сами строите объекты?

Если это так, то это неправильный подход, вы должны настроить ресурсы как часть конфигурации ваших приложений, а затем искать их через JNDI. Конфигурация - это то, где локальные ресурсы JMS связаны с реальной реализацией, в вашем случае - с удаленным сервером MQ. Ваш код должен быть привязан только к JMS, а не к конкретной реализации.

1 голос
/ 25 мая 2009

Я вырезал и вставил ваше сообщение об ошибке в Google. В их неповторимом стиле здесь - это документы IBM по вашей проблеме. Полезно, нет?

Где вы установили очередь, с которой пытаетесь связаться? Работает ли он на том же сервере, что и экземпляр WebSphere, на котором вы развернули, или это удаленный сервер? Если это последнее, мне интересно, нужен ли вам мост или прокси, чтобы вы могли отправлять сообщение локально, но при этом оно появлялось на удаленном сервере через прокси.

ОБНОВЛЕНИЕ: я не знаю, но, возможно, один из способов обойти это - создать локальную очередь, аналогичную той, о которой вы говорите, и заставить ее просто пересылать все сообщения в удаленную очередь.

...