Поместить пользовательское сообщение в очередь возврата MDB - PullRequest
1 голос
/ 22 марта 2012

Я использую MDB, развернутые в WAS 61. У меня есть очередь (X) и очередь возврата (Y).Когда MDB, прослушивающий X, не может обработать сообщение и выдается исключение EJB, транзакция откатывается, и я помещаю исходное сообщение в очередь возврата.Очередь возврата (Y) имеет собственный MDB, который принимает сообщение и отправляет его в службу поддержки по электронной почте.Все идет нормально.

Теперь команде поддержки очень помогли бы, если бы в дополнение к сообщению в электронном письме они также могли видеть исключение, которое было выдано EJB.Потому что, глядя только на сообщение, невозможно понять, что пошло не так.Есть ли способ добавить исключение к исходному сообщению, прежде чем поместить его в очередь возврата?

1 Ответ

1 голос
/ 23 марта 2012

ObjectMessage :

Объект ObjectMessage используется для отправки сообщения, содержащего сериализуемый объект на языке программирования Java («объект Java»). Он наследует от интерфейса сообщения и добавляет тело, содержащее одиночная ссылка на объект. Только Сериализуемые объекты Java могут быть б.

Вы можете создать класс, реализующий интерфейс Serializable и иметь надлежащие атрибуты для хранения сведений об исключении. Затем, установив этот объект в ObjectMssage, вы можете поставить его в очередь.

objectMessage.setObject(object);  //-- Setting serializable object

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

...