Spring 集成异步网关响应处理
Spring Integration Async Gateway Response Handling
我需要一些提示如何解决 Spring 集成的问题。
我有网关接口。
public interface OrderGateway {
Future<Response> process(Request value);
}
我通过网关发送请求消息。 ValidationService 应该检查数据是否正确。如果是,它应该将消息转发给 OrderService。 OderService 将生成响应。
但是如果请求数据不正确,ValidationService 应该生成一个响应对象 return 它到网关。在这种情况下,不应调用 OrderService。 ValidationService 是哪种消息端点?它会咬路由器吗?我想避免通过抛出异常来处理这个问题。 Spring集成如何解决这种情况?
+--------------------------------+
v |
Async Gateway --> CH --> ValidationService --> CH --> OrderService +
^ |
|---------------------------------------------------------------|
提前致谢。
正常的处理方式是抛出一个异常并在网关上添加一个error-channel
;在那里处理错误,return 从那里处理验证响应。
如果这不合适,那么,是的,有效载荷类型的路由器可以工作,验证结果被发送到 "bridge to nowhere"(只有输入通道的网桥),框架会将其路由回网关。
我需要一些提示如何解决 Spring 集成的问题。
我有网关接口。
public interface OrderGateway {
Future<Response> process(Request value);
}
我通过网关发送请求消息。 ValidationService 应该检查数据是否正确。如果是,它应该将消息转发给 OrderService。 OderService 将生成响应。 但是如果请求数据不正确,ValidationService 应该生成一个响应对象 return 它到网关。在这种情况下,不应调用 OrderService。 ValidationService 是哪种消息端点?它会咬路由器吗?我想避免通过抛出异常来处理这个问题。 Spring集成如何解决这种情况?
+--------------------------------+
v |
Async Gateway --> CH --> ValidationService --> CH --> OrderService +
^ |
|---------------------------------------------------------------|
提前致谢。
正常的处理方式是抛出一个异常并在网关上添加一个error-channel
;在那里处理错误,return 从那里处理验证响应。
如果这不合适,那么,是的,有效载荷类型的路由器可以工作,验证结果被发送到 "bridge to nowhere"(只有输入通道的网桥),框架会将其路由回网关。