无论我读了多少这两种模式,我都看不出有什么不同。通道适配器和消息传递网关模式有什么区别?
30
A
回答
14
这是一个很好的问题,因为它们的相似之处在于它们提供了对消息传递系统的应用程序访问。这是他们如何实现它我认为区分它们。
通道适配器模式处理如何在不修改该系统的情况下从现有系统获取数据。 Channel Adapdter通常是在进程外实现的。通常看到的例子是一个程序,它周期性地走一个底层数据库来查找要入队的东西。可能是一个独立的应用程序,它调用远程或HTTP API来访问系统数据以创建消息。问题是,非消息系统完全没有修改。
我认为Message Gateway更适合进行中消息集成。这实际上是围绕消息子系统应用良好的OO封装。也许系统中的某个对象被称为WorkOrderSender,其方法称为Send(WorkOrder wo)。该类的实现将应用程序从任何消息传递的细节屏蔽......对于该调用只是另一种方法调用。事实上,它应该能够换出您的邮件供应商,甚至交易消息来处理HTTP或FTP等
2
从Spring集成参考文档:
尽管JMS通道适配器旨在用于单向消息(发送 - 仅限或仅接收),Spring Integration还为请求/回复操作提供入站和出站JMS网关。
参见http://static.springsource.org/spring-integration/reference/htmlsingle/#jms
15
甲通道适配器连接应用到消息系统。
- 通道适配器被放置在开始和单向消息流的结束。
- 通道适配器适用于任何单向入站或出站适配器。
- 换句话说,入站信道适配器支持的在仅消息
交换,和出站信道适配器支持的出仅交换。
不限双向,或请求 - 应答,适配器已知为网关。
- 如果进入的请求需要由多个线程来服务,但调用者需要保持不知道消息传送系统的,一个入站网关提供了解决方案。
- 在出站一侧,可以在同步调用中使用传入消息,并且在回复通道上发送结果。例如,出站网关可用于调用Web服务以及通过JMS进行同步请求 - 回复交互。
相关问题
- 1. 垫片和立面/适配器模式有什么区别?
- 2. 消息传递和方法调用有什么区别?
- 3. 扩展对象模式和适配器模式有什么区别?
- 4. 消息传递和共享内存并发模型之间有什么区别?
- 5. 消息驱动通道适配器或JMS网关的错误通道
- 6. 装饰器,包装器和适配器模式有什么区别?
- 7. 管道和消息队列之间有什么区别?
- 8. 对象适配器模式和类适配器模式之间的区别
- 9. 通配符和'T'有什么区别?
- 10. 代理模式和适配器模式之间的区别?
- 11. DAO和DP模式有什么区别?
- 12. “::”和“sys”模式有什么区别?
- 13. Factory和Strategy模式有什么区别?
- 14. Oracle和Microsoft模式有什么区别?
- 15. 底座,阵列和光标适配器有什么区别
- 16. SqlBulkCopy:传递SqlBulkCopyOptions.UseInternalTransaction和不传递它有什么区别?
- 17. 工厂和管道设计模式有什么区别?
- 18. 正则和自适应低通滤波器有什么区别?
- 19. 物联网网关和云服务器消息传递
- 20. 适配器和代理模式之间的确切区别是什么?
- 21. int-jms:消息驱动通道适配器和确认=“事务”
- 22. 在systemverilog中通过ref传递和传递val有什么区别?
- 23. 什么是消息传递?
- 24. 支付网关和marchant网关有什么区别?
- 25. 登录jms:消息驱动通道适配器和jms:出站通道适配器
- 26. sql表适配器和实体框架模型有什么区别?
- 27. 什么是管道模式和清漆传递模式
- 28. 模式匹配时=〜和match()有什么区别?
- 29. 脚本语言和模式匹配技术有什么区别?
- 30. /^ 1?$ /和/^1 $ /模式匹配有什么区别?
如果@Pillblast指的是由Hohpe和Woolf在企业集成模式书中描述的模式,那么我同意。其他定义可能会有所不同(请参阅下面的emush的Spring参考)。在我已经实现这些模式的情况下,我实际上使用了通道适配器中的消息传递网关,以便像在应用程序中那样抽象基础消息传递系统。 – BitMask777