2014-10-06 37 views
2

我有一種編排,可以通過並行形狀上進入的兩種類型的消息之一激活。消息通過ID和狀態關聯,然後編排的其餘部分得到執行(並且消息合併爲1)。當使用並行Convoy關聯和消息丟失時防止脫水實例

enter image description here

我想找到一種方法,防止業務流程的脫水情況的發生,當2個消息中的一個不來通過。所以基本上,有一條消息進入另一條消息,編排實例在等待第二條消息時被脫水。

我一直在做一堆搜索,發現了一些體面的方法來做到這一點,如果這是序列車隊,但它不是和消息的順序不能得到保證。

例如,this post在串口車隊方面非常有幫助,但仍然不能滿足我的要求。

我試着用自己的分支上的每個消息和第三個分支上的延遲的listen形狀,但瞭解到,如果您使用listen進行激活,所有分支必須激活,並且由於延遲形狀無法激活編排,它不會編譯。

任何建議,或者我應該放棄並去製作一個單獨的數據庫,以便使用管道手動關聯消息?

回答

5

根據您的描述,您的郵件標題稍微不準確。脫水不是問題,缺少的信息是。

你需要做的是將接收包裝在帶有超時設置的範圍形狀中。然後,如果其他消息未到達超時範圍內,則會引發超時異常,您可以處理並採取適當的措施。

否則,並行形狀將基本上等待其他消息永遠。

+0

您對標題正確無誤。我的原因和結果有點混亂。我會給你一個嘗試的建議,並報告它讓我充滿希望。 – Bensonius 2014-10-07 15:13:49

+0

另外,我不得不問,你是否將範圍形狀放在整個平行形狀的周圍?或者單獨在接收形狀周圍? – Bensonius 2014-10-07 15:59:15

+0

要麼應該工作,這取決於你想如何處理這種情況。 – 2014-10-07 17:31:43