我想對使用駱駝路由的activemq隊列進行一種輪詢服務。控制駱駝路由的啓動和關閉
我正在使用路由和routing-jsm插件的grails。
我有我的路線配置設置像這樣。
class QueueRoute {
def configure = {
from("activemq:daemon").routeId("daemonRoute")
.noAutoStartup()
.shutdownRunningTask(ShutdownRunningTask.CompleteCurrentTaskOnly)
.to('bean:daemonCamelService?method=receive')
.end()
}
}
,我基本上是試圖用一些時間插圖中做.suspendRoute( 「daemonRoute」)和.resumeRoute( 「daemonRoute」)。雖然在發出suspendRoute之後路線並未停止。
任何人都試過這個?,我已經讀過一些關於需要殺死正在進行的交換或類似的事情。
這僅輪詢從隊列1個消息,埃弗特第30秒,而你沒有提供tineout選項pollEnrich這是最好的做法,這意味着你最終擁有它阻塞(線程),如果沒有消息是在隊列中。消息傳遞不是很好的解決方案。 – 2012-02-01 18:31:24
好點克勞斯,我認爲這將投票,直到沒有消息返回並返回一個列表,但我明白你的意思......每一個通過只收到一個消息。你認爲這將是一個有效的增強? – 2012-02-02 02:01:26
更新的答案使用bean輪詢消費者而不是pollEnrich()...每個Claus的評論 – 2012-02-02 02:15:34