ActivationConfig для MDB и ActivationSpec в WebSphere AS 7 - PullRequest
3 голосов
/ 25 марта 2011

В настоящее время я разрабатываю небольшое приложение EJB 3 для WebSphere AS 7 с WebSphere-MQSeries. Это очень простое приложение, которое в основном состоит из одного MDB, прослушивающего очередь, преобразующего входящие сообщения и записывающего извлеченные данные в базу данных. Я наконец запустил его и запустил, но меня немного смущают аннотации ActivationConfig в коде, ibm-ejb-jar-bnd.xml и спецификация активации в самом WAS. Мой главный вопрос: зачем мне ВСЕ из них? Почему / мне следует указывать такие вещи, как имя очереди или тип назначения через аннотацию (@ActivationConfigProperty), когда мне все еще нужна спецификация активации в WAS, где я также указываю пункт назначения, например, Очередь-имя? Кроме того, мне также нужна привязка через файл XML? Это правильно? Можно ли также указать имя активации через аннотацию и, таким образом, избавиться от файла привязки xml? Можно ли избежать создания спецификации активации в WAS?

Надеюсь, кто-то может прояснить ситуацию, спасибо.

1 Ответ

2 голосов
/ 26 августа 2011

Вы не можете избежать объекта спецификации активации, потому что он отвечает за открытие соединения с вашим JMS-провайдером, запрос сообщений в соответствии с различными параметрами, такими как фильтр выбора сообщений.

Согласно WebSphere 7 InfoCenter Аннотации EJB-3 могут заменять свойства спецификации активации из файла привязки, но свойства, требуемые WebSphere, не являются стандартными.

Итак, насколько я знаю, вы должны предоставить:

  • либо файл привязки, написанный вручную или отредактированный с помощью средства развертывания

  • при настройке параметров развертывания в административной консоли или в автоматическом сценарии jython / wsadmin

Имейте в виду , что спецификация активации является компонентом времени выполнения, который можно остановить, как правило, после некоторых откатов сообщений. В этом случае оно больше не использует сообщение, и вашему MDB нечего обрабатывать, пока вы не активируете его повторно из консоли WebSphere.

...