我正在使用 DefaultMessageListenerContainer 配置消息驱动通道适配器以从队列中读取消息,对其进行处理并使用出站通道适配器将其发布到不同的队列。如果在将消息发布到出站队列时遇到任何异常(例如 javax.jms.JMSException:消息超出最大大小),我想在 errorHandler(DefaultMessageListenerContainer 的属性)中处理它并通知接收者。
我能够在 errorHandler 中获取异常堆栈跟踪,但我不确定是哪条消息导致了该异常。有什么方法可以获取导致errorHandler异常的消息/有效负载?
public class MyErrorHandler implements ErrorHandler {
public void handleError(Throwable t) {
// Get the payload???
// Log the exception
// Notify the receiver
}
谢谢!大师