2016-08-05 58 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隊列/通道上的所有消息都將丟失。如果在冪等性的過程中,如果時間是可以接受的,即應用程序啓動時,我可以從頭開始重新啓動過程。