无论我读了多少这两种模式,我都看不出差异。
答案 0 :(得分:20)
渠道 适配器 将应用程序连接到邮件系统。
任何 双向 或请求回复适配器称为 网关 。
答案 1 :(得分:17)
这是一个很好的问题,因为它们相似,因为它们提供了对邮件系统的应用程序访问。它是如何实现它的,我认为这可以区分它们。
通道适配器模式处理如何在不修改该系统的情况下从现有系统获取数据。通常,Channel Adapdter是在进程外实现的。经常看到的示例是一个程序,它定期遍历底层数据库以查找要排队的内容。可能是一个独立的应用程序,它调用远程处理或HTTP API来访问系统数据以创建消息。关键是,非消息传递系统完全没有修改。
我认为Message Gateway更适用于进程内消息传递集成。它实际上是围绕消息子系统应用良好的OO封装。也许系统中的某个对象称为WorkOrderSender,其方法名为Send(WorkOrder wo)。该类的实现使应用程序免受消息传递的任何细节......调用只是另一种方法调用。事实上,应该可以换掉你的消息供应商,甚至可以用HTTP或FTP等交换消息。
答案 2 :(得分:2)
来自Spring集成参考文档:
尽管JMS通道适配器用于单向消息传递(仅发送或仅接收),但Spring Integration还为请求/应答操作提供入站和出站JMS网关。
请参阅http://static.springsource.org/spring-integration/reference/htmlsingle/#jms
答案 3 :(得分:0)
在Spring Integration中,模式名称Channel Adapter适用于任何单向入站或出站适配器。 换句话说,入站通道适配器支持仅邮件交换,而出站通道适配器支持仅邮件交换。
任何双向适配器或请求答复适配器在Spring Integration中被称为网关
频道适配器
通道适配器将应用程序连接到消息传递系统 在Spring Integration中,我们选择将定义限制为仅包含连接 是单向的,因此单向消息流以 通道适配器。存在许多不同种类的通道适配器,范围从 方法调用通道适配器到Web服务通道适配器
将通道适配器放在开头 以及单向消息流的结束。
在Spring Integration中,消息传递网关是特定的连接 双向消息传递。如果传入请求需要多个服务 线程,但调用者需要保持对消息传递系统的意识, 入站网关提供了解决方案。 在出站侧,传入消息 可以在同步调用中使用,结果将在回复通道上发送。
例如,出站网关可用于调用Web服务和同步 通过JMS进行请求-答复交互。
网关也可以在单向消息流的中间使用。与 通道适配器,相比之下,我们已经限制了消息传递网关的定义 到企业集成模式。
参考:Spring Integration in Action
答案 4 :(得分:0)