您好,我对Spring Integration非常陌生。
我知道错误通道会将异常参数抛出到通道。
但是当程序正在处理错误时我需要在异常发生之前获取当前状态(例如,在主进程或字符串中设置一些值的对象)
问题是如何向错误通道发送其他参数(例如,一个对象)?
还是我必须使用其他解决方案?
谢谢,
答案 0 :(得分:3)
好吧,你得到类似(Message< MessageHandlingException> msg)作为错误处理程序方法中的参数。然后使用
msg.getPayload().getFailedMessage()
您可以访问失败的消息。如果它还不够,那么您可以将对象设置为标题为<标题增强器>在可能的异常之前的某个地方,并在错误处理程序中获取它:
msg.getPayload().getFailedMessage().getHeaders().get("trackedImage");