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

时间:2015-08-03 02:32:44

标签: spring-integration

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

是否可以将标题信息转移到错误通道?

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

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

1 个答案:

答案 0 :(得分:4)

错误频道上的消息为ErrorMessage,其有效负载为MessagingException,其中包含两个属性cause(例外)和failedMessage

您可以通过这种方式访问​​失败的邮件标题。

e.g。使用SpEL时payload.failedMessage.headers['foo']

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

public void failure(MessagingException failure) {
    MyHeader mh = failure.getFailedMessage().getHeader("mh");
}