0

我需要调整返回给集成流调用者的所有错误消息,这样我就不会泄漏信息,无论它们是作为异常抛出还是作为异步错误处理。我想避免在每个消息处理程序上定义自定义错误通道。我试图将变压器附加到默认错误通道但没有成功:

@Bean
IntegrationFlow errorFlow() {
    return IntegrationFlows.from("errorChannel")
            .transform("{'status': 500, 'error': 'Internal Server Error'}")
            .get();
}

是否有一个中心点可以转换所有传出的错误消息?

4

1 回答 1

1

根据您的逻辑,您似乎在处理 REST - 请求/回复。因此,您需要向请求点返回回复。这可以通过replyChannel请求消息的标头获得。这样的信息您可以在 中的一个MessagingException.failedMessage属性中payload访问ErrorMessage

总结您.transform()必须期望的所有内容MessagingException作为有效负载并生成输出消息,并从中复制标头failedMessage。这样消息将被发送到 HTTP Inbound Gateway 请求消息的回复通道。

于 2017-10-30T11:36:31.050 回答