我在某些地方看到过<int:gateway ..../>
配置,在其他地方看到过<int-jms:inbound-gateway ../>
或<int-ws:outbound-gateway ../>
,或者在spring集成配置中看到过。我无法找出它们之间的主要区别。
我得到了gatway的双向连接。然后
int:gatway
既可以用于定向通信,也不能用它代替其他inbound/outbound gatway
? - 我相信答案将是用于特定类型的请求,如WS
或JMS
来执行特定任务。但是如果使用int:gatway
可以做同样的事情,我仍然感到困惑。int:gatway
的用途是什么。将<int:gateway/>
视为从遗留Java代码到消息流的网关。
public interface MyGate {
Bar fooToBar(Foo foo);
}
然后,在遗留的Java代码(例如REST控制器)中,您“发送”包含在消息中的Foo,并且流程在回复Payload中返回一个Bar,框架将为您解包。
客户端代码不知道它正在与消息传递系统进行交互。
例如,流程的结束可能会调用<ws:outbound-gateway/>
。
因此,网关从客户端的角度抽象出消息传递。