在我的应用程序中,我的网关在标头中接收请求标识符,每当发生错误时,错误通道都会收到异常。但看起来,errorChannel不会从网关获取标题。
是否可以将标题信息转移到错误通道?
示例示例: sampleErrorChannel中的sysout没有我已经传递的标题。
答案 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");
}