我有以下的camel路由,它侦听ActiveMQ主题上的消息并立即将它们发送到所有连接的Web套接字客户端。这工作正常,但是一旦路由构建器初始化,就会与主题建立连接。
from("activemq:topic:mytopic").routeId("routeid").to("websocket://test?sendToAll=true");
我需要的是只在一个或多个客户端连接到Web套接字时才连接到主题。一旦没有更多的连接,我想停止听取主题。这可能吗?
答案 0 :(得分:1)
据我所知,没有正确的方法可以做到这一点。实现这一目标的唯一方法是覆盖Jetty WebSocket代码。一旦覆盖Jetty Websocket代码,您就可以灵活地在打开和关闭websocket中编写自己的自定义代码。