2017-08-02 46 views
1

我需要向幾個收件人發送消息,然後在動態超時值(即每個交換機的值不同)後繼續路由 - 無論一個或多個收件人是否設法返回某些內容。 我以爲我可以通過組播來實現這一點,其中一個分支是一個計時器,但我似乎無法找到一種方法來告訴組播完成時,一個分支到達,忽略其他分支。它可能有點類似於aggregate的completionSize,但是對於我的情況來說,合適的EIP是多播的,所以在我認爲這個醜陋的解決方案之前,我問...在駱駝組播中,有沒有辦法在所有收件人都返回之前退出?

+0

[Multicast](http://camel.apache.org/multicast.html)已經有了'timeout'設置,所以我錯過了什麼? – Morfic

+0

它不是動態的。你不能根據表達式來改變它。 – Deroude

回答

0

我想,當Aggregator接收到第一個數據時,Aggregator發送消息到下一個使用生產者模板路由。

+0

聚合器是一種解決方案,但就我的理解而言,它完全改變了流程。我想發送同樣的消息給幾個收件人(比如多播或者收件人列表),然後等待一個動態的(基於交換的)時間,並且只用那些可用的回答繼續前進,而不去等待它們。使用聚合器,我需要將每個收件人作爲單獨的路線。 – Deroude

相關問題