Spring集成异步网关响应处理

时间:2015-05-14 13:06:38

标签: response spring-integration gateway

我需要一些提示如何解决Spring Integration的问题。

我有一个网关接口。

public interface OrderGateway {
   Future<Response> process(Request value);
} 

我通过网关发送请求消息。 ValidationService应检查数据是否正确。如果是,则应将消息转发给OrderService。 OderService将生成响应。 但是如果请求数据不正确,ValidationService应该生成一个响应对象,将其返回给网关。在这种情况下,不应该调用OrderService。 ValidationService是什么样的消息端点?它会咬一个路由器吗?我想避免通过抛出异常来处理这个问题。如何用Spring Integration解决这种情况?

   +--------------------------------+
   v                                |                         
Async Gateway --> CH --> ValidationService --> CH --> OrderService +
   ^                                                               |
   |---------------------------------------------------------------|                                                                 

提前致谢。

1 个答案:

答案 0 :(得分:0)

处理此问题的常规方法是抛出异常并在网关上添加error-channel;处理那里的错误并从那里返回验证响应。

如果那不合适,那么,是的,有效载荷类型的路由器可以工作,验证结果被发送到“无处桥”(只有一个输入通道的桥),框架将它路由回网关