Ich habe die folgende Kamel Route, die Nachrichten auf einem ActiveMQ Thema hört und sofort sendet sie an alle angeschlossenen Web-Socket-Clients. Dies funktioniert, aber die Verbindung zum Thema wird hergestellt, sobald der Routengenerator initialisiert wird.Verbinden/Trennen von ActiveMQ Thema auf Kamel Websocket Verbindung/Trennung
Was ich brauche, ist nur mit dem Thema verbinden, wenn ein oder mehrere Clients mit dem Web-Socket verbunden sind. Sobald keine Verbindung mehr besteht, möchte ich aufhören, das Thema zu hören. Ist das möglich?
Ja, das ist richtig. Wir könnten in Erwägung ziehen, ein from (websocket: test? Events = onConnect, onDisconnect) zu haben, damit Sie die Ereignisse filtern können und diese dann als Route verwenden, auf der Sie controlbus aufrufen können, um diese andere Route mit den AMQ-Themen zu unterbrechen. –
@ClausIbsen Der Zusatz dieser Ereignisse wäre definitiv hilfreich. Es wäre sinnvoll, dies auch der Atmosphere-Websocket-Komponente hinzuzufügen. Kurzfristig dachte ich, dass ich die JMX-Fähigkeiten nutzen könnte, um die Anzahl der Verbindungen abzufragen und die Route entsprechend auszusetzen. Gedanken? –
Ja, Sie können gerne eine JIRA anmelden: http://camel.apache.org/support.html. Wenn Sie die Details in JMX finden können, dann können Sie ja die AMQ-Route steuern. Da Sie die JMX-Statistiken planen müssen, gibt es ein Zeitfenster, in dem Sie etwas zurückgeblieben sind. –