Ich möchte eine Java-Klasse erstellen, die nur dazu dient, den Status eines ActiveMQ-Brokers (oder die Verbindung zu einem ActiveMQ-Broker zu überprüfen, da ein Ausfall auch als Verlust der Netzwerkkonnektivität des Clients definiert werden kann).
>Also würde im Grunde nach jedem paar Sekunden ein Thread laufen, um den Status des Brokers zu überprüfen. Wenn der Broker nicht aktiv ist, möchte ich eine bestimmte Aufgabe erledigen, die Supportgruppe und solche Sachen zu verschicken.
Die Online-Beispiele sind nicht detailliert genug, um zu erklären, wie dies erreicht werden kann.
Hat jemand das schon gemacht, oder kann er einen schönen Weg vorschlagen, dies zu erreichen?
Danke, Neeraj
Senden Sie eine Testnachricht an den Broker:
%Vor%verbinden, Nachricht senden, wenn Sie Nachricht erhalten: alles ist in Ordnung. wenn nicht ....
das ist was ich tue. Außerdem mache ich ein paar andere Sachen:
Ich brauchte eine Lösung für die gleiche Frage, deshalb habe ich mehr darüber gelesen und mehrere Tests gemacht.
Das Senden einer Testnachricht (wie Laures vorgeschlagen) kann in einigen Umgebungen ein Problem sein.
Der "normale" Weg wäre, einen TransportListener zu setzen (wie Anand vorgeschlagen), aber die bereitgestellte Schnittstelle wirklich zu implementieren und reagieren auf die gemeldeten Ereignisse.
Für andere ActiveMQ-Neulinge (wie ich bis letzten Monat war) poste ich eine Beispiel-Start-Implementierung. Es schreibt nur die Protokollierung für jedes Ereignis. In einer realen Umgebung kann man an eine Reconnect-Testversion in transportInterupted()
bis transportResumed()
oder ähnlich denken und vieles mehr ...
Der TransportListener kann z. B. eingestellt werden:
%Vor%Viel Spaß!