2016-08-05 67 views
0

也许是一个愚蠢的问题,但请继续阅读关于SIs“基于Spring的应用程序中的轻量级消息传递”。我想知道(如果)SI如何在内部使用消息传递。当我运行一个SI(Boot)应用程序(不需要AMPQ ...也称为'messaging'支持)时,我不必运行一个Rabbit服务器。但是,从我收集的信息来看,SI在内部使用消息传递。这是如何完成的?我似乎找不到任何参考资料来解释这个&需要哪些基础设施来实现这一点。谢谢!Spring Integration“内部”​​消息传递如何工作?

回答

0

消息只是在组件之间传递的Java对象(o.s.messaging.Message)。除非需要持久性,否则不需要外部代理。

我建议你阅读Mark Fisher的书(Spring Integration in Action)和/或reference manual

0

Spring集成中的消息传递是通过通道/队列从一个服务传递到另一个服务的内存java对象。它提供了一种机制来定义流程和处理顺序,还允许每个服务步骤独立工作。 Spring集成队列最终是java.util.Queue接口的实现。 它不同于商业消息传递工具,如IBM MQ或Active MQ,因为它不提供持久性。这意味着如果你杀死jvm或者app进程停止,那么Spring队列/通道上的所有消息都将丢失。如果在幂等性的过程中,如果时间是可以接受的,即应用程序启动时,我可以从头开始重新启动过程。