Привязка очереди к EJB 3.0 MDB в WebSphere 7 - PullRequest
0 голосов
/ 01 июня 2011

Я пишу или пытаюсь написать, First Baby Baby MDB на WebSphere 7. У меня почти не осталось волос, вытащив все это, пытаясь заставить вещь работать. кажется , что у меня все настроено правильно, но я не получаю ответа, когда помещаю сообщение в связанную очередь.

Вот настройка файла EAR:

simplemdb.ear
    META-INF
        Manifest.mf
        application.xml
    simplemdb.jar
        META-INF
            Manifest.mf
            ejb-jar.xml
        com
            [ classes go here ]

Я не могу найти синтаксис для определения имени JNDI очереди в ejb-jar.xml, поэтому вместо этого я:

  • Определить спецификацию активации WebSphere. Имя SimpleMDBActivationSpec, имя JNDI jms / SimpleActivationSpec, место назначения jms / SimpleMDBQueue.
  • Определить очередь WebSphere. Имя SimpleMDBQueue, имя JNDI jms / SimpleMDBQueue, имя очереди SIMPLE.MDB.QUEUE.
  • Определите очередь MQ с именем SIMPLE.MDB.QUEUE.
  • Развернуть файл EAR. Во время развертывания меня просят ввести обязательную информацию. Я выбираю спецификацию активации, затем указываю имя JNDI целевого ресурса и имя JNDI получателя в спецификации и очереди активации соответственно.

(Код MDB не имеет аннотаций.) В этот момент приложение указывает на спецификацию и очередь, а спецификация указывает на очередь - ремень и подвески. Естественно, я предполагаю, что приложение знает об очереди. Полный надежд, я положил сообщение в очередь, и ... ничего. Событие onMessage должно использовать System.out для регистрации сообщения. Я не вижу сообщений.

Четкая документация по этому вопросу заметна по отсутствию. Google дает МНОГО результатов, но ни один из них не детализирует, как конфигурация все сходится. В ibm-ejb-jar-bnd.xmi много размахиваний руками, но примеры этого файла загадочные, полные непрозрачных чисел без объяснения того, как они были сгенерированы или как они связаны с другими частями конфигурации. 1022 *

Ради бога. Все, что я хочу сделать, это развернуть MDB и написать «Hello, world», когда я помещаю сообщение в очередь. Я использую vi и ant в качестве инструментов для разработки и сборки. Кто-нибудь может дать мне представление о том, что мне не хватает?

Редактировать: добавлен тег "zos".

Ответы [ 2 ]

1 голос
/ 04 июня 2011

Я нашел проблему.Это специфично для WebSphere, работающей в z / OS.Чтобы спецификация активации была полностью доступна в этой среде, необходимо запустить процесс Control Region Adjunct (CRA).Я сказал WAS запустить его, переработал сервер приложений, и вот!Мой MDB начал отвечать.

Чтобы запустить CRA через консоль администратора WebSphere, перейдите на ...

  • Серверы приложений> [имя сервера]> Связь> Сообщения> WebSphere MQНастройки CRA

... и установите флажок «Запустить CRA».Нажмите OK, сохраните его в главной конфигурации и, чтобы CRA действительно запустился, отключите сервер приложений и выполните резервное копирование.(Это для WAS 7.0.)

Спасибо всем за уделенное время и мысли.

0 голосов
/ 02 июня 2011

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

http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/topic/com.ibm.iea.wasfpejb/wasfpejb/6.1/DevelopmentTools/WASv61_EJB3FP_MDBLab.pdf

Я не играл с этим в течение последнего года, поэтому яне могу комментировать сразу, но я подумал, что PDF может вам помочь.

HTH

Манглу

...