Я пишу или пытаюсь написать Baby's First 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 много говорят, но примеры файла загадочны, полны непрозрачных чисел без объяснения того, как они были сгенерированы или как они связаны с другими частями конфигурации.
Ради Бога. Все, что я хочу сделать, это развернуть MDB и заставить его писать «Hello, world», когда я помещаю сообщение в очередь. Я использую vi и ant в качестве инструментов разработки и сборки. Может ли кто-нибудь дать мне представление о том, что мне не хватает?
Редактировать: добавлен тег "zos".