我需要一些提示如何解决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 +
^ |
|---------------------------------------------------------------|
提前致谢。
答案 0 :(得分:0)
处理此问题的常规方法是抛出异常并在网关上添加error-channel
;处理那里的错误并从那里返回验证响应。
如果那不合适,那么,是的,有效载荷类型的路由器可以工作,验证结果被发送到“无处桥”(只有一个输入通道的桥),框架将它路由回网关