如何将标头信息转移到errorChannel?

Man*_*noj 4 spring-integration

在我的应用程序中,我的网关正在标头中接收请求标识符,每当发生错误时,错误通道就会接收到异常。但似乎errorChannel不会从网关获取标头。

是否可以将标头信息也传递到错误通道?

示例示例:sampleErrorChannel中的sysout没有我已传递的标头。

https://github.com/manojp1988/spring-integration/blob/master/javadsl/src/main/java/ErrorChannel/ErrorChannelExample.java

Gar*_*ell 5

错误通道上的消息为ErrorMessage,它的有效负载MessagingException具有两个属性,cause(exception)和failedMessage

您可以通过这种方式访问​​失败的消息头。

例如payload.failedMessage.headers['foo'],使用SpEL时。

如果在错误流上使用POJO服务激活器,则可以使用

public void failure(MessagingException failure) {
    MyHeader mh = failure.getFailedMessage().getHeader("mh");
}
Run Code Online (Sandbox Code Playgroud)