我正在使用部署在WAS 61上的MDB。我有一个队列(X)和一个退出队列(Y)。当侦听X的MDB无法处理消息并抛出EJB异常时,事务将回退并将原始消息放在退出队列中。 退出队列(Y)有自己的MDB,它接收消息并通过电子邮件发送给支持团队。到现在为止还挺好。
现在支持团队将得到很多帮助,如果除了电子邮件中的消息之外,他们还可以看到EJB抛出的异常。因为只看消息,所以无法弄清楚出了什么问题。有没有办法在将原始消息放入回退队列之前将其添加到原始消息中?
答案 0 :(得分:1)
ObjectMessage :
ObjectMessage对象用于发送包含a的消息 Java编程语言中的可序列化对象(" Java对象")。 它继承自Message接口并添加一个包含的主体 单个引用对象。只有Serializable Java对象才可以 使用
您可以创建一个实现Serializable
界面&可以拥有适当的属性来保存异常详细信息。然后通过在ObjectMssage
中设置此对象,您可以将其放入队列。
objectMessage.setObject(object); //-- Setting serializable object
在接收端,可以从消息&获得该对象。可以相应地检索异常详细信息。