0
我在單個駱駝包中部署了多條路由,我試圖實現的是一旦單個路由開始執行,其他路由不應該被執行,直到開始的路由是完成執行。同步駱駝路由
我明白,可以讓包含我的路線的整個camelContext成爲單線程,但在性能方面我看到了一個缺點。
有人有類似的用例和最好的解決方法是什麼?由於我使用OSGi Blueprint DSL,因此歡迎任何示例。
我在單個駱駝包中部署了多條路由,我試圖實現的是一旦單個路由開始執行,其他路由不應該被執行,直到開始的路由是完成執行。同步駱駝路由
我明白,可以讓包含我的路線的整個camelContext成爲單線程,但在性能方面我看到了一個缺點。
有人有類似的用例和最好的解決方法是什麼?由於我使用OSGi Blueprint DSL,因此歡迎任何示例。
如果您需要選擇性地控制其他路線,例如啓動和停止它們,您可以使用駱駝的Control Bus。
首先,您需要阻止您希望在啓動應用程序時執行的路線。這是用的自動啓動實現了=你的路由定義錯誤:
<to uri="controlbus:route?routeId=foo&action=start"/>
你還可以:
<route id="foo" autoStartup="false">
<from uri="activemq:queue:special"/>
<to uri="file://backup"/>
</route>
在想要做的東西,只是之後開始另一條路線在您的行駛路徑點
然後訂購路線的啓動(和關閉),在Camel documentation here中解釋。