Spring Integration错误通道解决方案

时间:2014-01-23 08:30:33

标签: spring spring-integration

您好,我对Spring Integration非常陌生。

我知道错误通道会将异常参数抛出到通道。

但是当程序正在处理错误时我需要在异常发生之前获取当前状态(例如,在主进程或字符串中设置一些值的对象)

问题是如何向错误通道发送其他参数(例如,一个对象)?

还是我必须使用其他解决方案?

谢谢,

1 个答案:

答案 0 :(得分:3)

好吧,你得到类似(Message< MessageHandlingException> msg)作为错误处理程序方法中的参数。然后使用

msg.getPayload().getFailedMessage()

您可以访问失败的消息。如果它还不够,那么您可以将对象设置为标题为<标题增强器>在可能的异常之前的某个地方,并在错误处理程序中获取它:

msg.getPayload().getFailedMessage().getHeaders().get("trackedImage");