Spring Integration中int:gatway与int-ws:inbound-gatway或int-ws:outbound-gatway有什么区别

时间:2018-08-31 19:30:22

标签: spring-integration

我在某个地方看到了<int:gateway ..../>配置,在其他地方看到了<int-jms:inbound-gateway ../><int-ws:outbound-gateway ../>,或者在spring集成配置中一起看到了。我无法找出它们之间的主要区别。

我得到了盖特威的双向连接。然后

  • 由于int:gatway可以双向使用,难道我们不能代替其他inbound/outbound gatway来使用它吗? -我相信答案是它们将用于WSJMS之类的特定请求,以执行特定任务。但是,如果可以使用int:gatway进行相同操作,我仍然感到困惑。
  • 如果所有不同服务(例如JMS或WS)都存在特定类型的网关,那么int:gatway的用途是什么。

1 个答案:

答案 0 :(得分:1)

考虑将<int:gateway/>作为从旧版Java代码到消息传递流的网关。

public interface MyGate {

    Bar fooToBar(Foo foo);

}

然后,在旧版Java代码(例如REST控制器)中,您“发送”包裹在消息中的Foo,并且流程在答复有效载荷中返回Bar,然后框架为您解包。

客户端代码不知道它正在与消息传递系统进行交互。

例如,流程的结尾可能会调用<ws:outbound-gateway/>

因此,从客户端的角度来看,网关从消息传递中抽象出来。