0
我有以下駱駝路由,它偵聽ActiveMQ主題上的消息,並立即將它們發送到所有連接的Web套接字客戶端。這工作正常,但只要初始化路由構建器就會連接到主題。從駱駝websocket連接/斷開ActiveMQ主題連接/斷開
from("activemq:topic:mytopic").routeId("routeid").to("websocket://test?sendToAll=true");
我需要的是隻連接到該主題時,一個或多個客戶端連接到網絡插座。一旦沒有更多的連接,我想停止聽這個話題。這可能嗎?
是的,這是正確的。我們可以考慮讓一個from(websocket:test?events = onConnect,onDisconnect),以便您可以過濾事件,然後將其用作路由,然後您可以調用controlbus使用AMQ主題掛起/恢復其他路由。 –
@ClausIbsen這些事件的增加肯定會有幫助。將它添加到Atmosphere-websocket組件也是有意義的。在短期內,我認爲我可以利用JMX功能輪詢連接數量並相應地暫停路由。思考? –
是的,歡迎您登錄JIRA:http://camel.apache.org/support.html。如果您可以在JMX中找到詳細信息,那麼您可以使用它來控制AMQ路線。因爲您需要安排輪詢JMX統計信息,所以有一個時間窗口,您有點落後。 –