网关中的春季集成误差通道



我有一个REST控制器,它将触发我的网关方法

<int:gateway id="bGatewayService"
        service-interface="nd.l.eai.gw.BGateway"
        default-reply-channel="dest-channel"
        default-request-timeout="5000" default-reply-timeout="5000">        
        <int:method name="m1" request-channel="atbInChannel"/>
        <int:method name="m2" request-channel="btuInChannel"/>
    </int:gateway>

应用程序正常。我没有错误通道[如上所述]

我的问题是 - 错误渠道的优势是什么,因为我在没有它的情况下得到了500或不好的请求。我应该创建一个错误频道并包含以上吗?

我也在使用默认回复频道,可以吗?还是我应该在每种方法中添加回复通道?我还有另一个有10种方法的网关。

如果您不需要一些补偿流程,则不需要error-channel。如果您的用例只能提出异常,则不要配置任何error-channel

在大多数情况下,即使是default-reply-channel,我们也不需要reply-channel。当您在流的最后一个端点中不使用output-channel时,replyChannel标头将使用。我们只需要reply-channel来用于使用某种类型的Pub-sub回复消息处理的用例,我们想在其中发送回复消息,不仅作为Gateway方法调用的返回,还要发送其他一些流程。p>更多信息在文档中:https://docs.spring.io/spring-integration/docs/current/referent/referent/html/#gateway

这取决于您要做什么;错误通道允许您根据异常分析错误并返回不同的结果。

例如。您可以要求他们再次尝试暂时错误或报告请求中致命错误的问题。

通常不需要回复频道,除非您想执行诸如添加电线以记录回复之类的事情。实际上,该频道最终在请求中被桥接到回复渠道标题(这是网关关联请求/答复的方式。

最新更新