在MDB回退队列上放置自定义消息

时间:2012-03-22 18:05:59

标签: queue ejb-3.0 message-queue websphere-6.1

我正在使用部署在WAS 61上的MDB。我有一个队列(X)和一个退出队列(Y)。当侦听X的MDB无法处理消息并抛出EJB异常时,事务将回退并将原始消息放在退出队列中。 退出队列(Y)有自己的MDB,它接收消息并通过电子邮件发送给支持团队。到现在为止还挺好。

现在支持团队将得到很多帮助,如果除了电子邮件中的消息之外,他们还可以看到EJB抛出的异常。因为只看消息,所以无法弄清楚出了什么问题。有没有办法在将原始消息放入回退队列之前将其添加到原始消息中?

1 个答案:

答案 0 :(得分:1)

ObjectMessage  :

  

ObjectMessage对象用于发送包含a的消息   Java编程语言中的可序列化对象(" Java对象")。   它继承自Message接口并添加一个包含的主体   单个引用对象。只有Seri​​alizable Java对象才可以   使用

您可以创建一个实现Serializable界面&可以拥有适当的属性来保存异常详细信息。然后通过在ObjectMssage中设置此对象,您可以将其放入队列。

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

在接收端,可以从消息&获得该对象。可以相应地检索异常详细信息。