2014-12-02 58 views
0

當我創建一個由多個模塊組成的流時,是否有任何事件傳遞給每個模塊的保證。有沒有重播活動的可能性?Spring XD - 事件交付保證

如果處理器模塊花費很長時間來處理一個事件但在處理過程中發生崩潰會怎麼樣?當模塊在容器中重新啓動時,該事件會發生什麼?

回答

0

參見the documentation re: Message Bus Configuration並具體地說Error Handling (Message Delivery Failures)

可以在總線或個別模塊/流級別修改重試配置。

+0

謝謝加里。我確實參考了這個文件。但我不確定在以下兩種情況下會發生什麼情況。 i。無錯誤案例:這些事件是否總是隻交付一次,或者是否有可能多次交付? ii。模塊崩潰:當事件從消息總線出隊,但進程在出隊和處理之後崩潰。在這種情況下,事件是否丟失? – user3847658 2014-12-03 00:18:05

+0

假設兔子運輸;一世。如果網絡在交付後但在確認發送給經紀人之前發生故障,那麼有一個小的(但不是零)可能性。該消息將被重新發送並將被重新發送;您可以使用消息標題檢測重新傳送,但您需要檢測先前是否成功處理重新傳送的邏輯。如果使用直接綁定,則行爲是不同的,因爲異常將引發到前一個模塊。 II。不,再次假設兔子,該消息將被重新排序,因爲它沒有被確認。 – 2014-12-03 04:12:37

+0

謝謝你加里! – user3847658 2014-12-03 06:56:17