2010-02-23 15 views
6

Apache Activemq 5.2.0ActiveMQ JMS ping

Meine Anwendung überwacht Nachrichten zu drei Themen und sendet Nachrichten zu zwei Themen. Wenn meine Anwendung "webping" ist, möchte ich überprüfen, ob diese Themen am Leben sind. Ich würde gerne wissen, ob das möglich ist. Hier sind meine Beobachtungen,

  1. Advisory messages können dafür verwendet werden, aber sie senden Nachrichten nur, wenn ein Erzeuger/Verbraucher verbindet. Das ist nicht ganz das, was ich will. Ich möchte nur überprüfen, ob ich kann Nachrichten an ausgehende Themen senden und kann Nachrichten auf dem eingehenden Thema empfangen.
  2. Benutzerdefinierte Heartbeat-Lösung. Ich kann jeden Producer veranlassen, eine Heartbeat-Nachricht zu senden, sagen wir alle 5 Sekunden, und der Listener sollte keine Heartbeat-Nachrichten verarbeiten, sondern ein Flag/Timestamp aktualisieren. Auf diese Weise weiß ich, dass das Thema läuft.
  3. Gibt es einen Herzschlag, der im Apache ActiveMQ eingebaut ist? oder ein "Ping für ein Thema"?

Ich verstehe JMS nicht für die Überwachung ist, aber wenn ich einen Produzent für ein Thema ist, wird es gut sein, wenn ich mit angemessenem Komfort kann Produkte zum Thema zu kennen. Ich stimme auch zwischen einem Ping und einer Nachricht zu, dass der Kanal untergehen kann und das ist ein akzeptabler Fehler für mich.

Ich möchte nur ein Gesundheits-Check-System/Seite, die sagt „ja Themen sind da und die activemq läuft“

Antwort

5

Sie ActiveMQ JMX mit überwachen können. Dadurch können Sie sehen, ob der Server aktiv ist, welche Themen/Warteschlangen aktiv sind und viele andere nützliche Informationen.

+0

Danke Kevin. JMX ist den Advisor-Nachrichten ähnlich, da ich Dinge wie "EnqueueCount" usw. bekommen kann, was nützlich ist. Es gibt jedoch keine Möglichkeit zu überprüfen, dass das Thema derzeit verwendbar ist. Wenn ich keine Möglichkeit finde, es zu tun (außer das Senden einer Dummy-Nachricht), dann werde ich diese Antwort akzeptieren. –

+0

Was meinst du mit "brauchbar"? Wenn es existiert, können Sie es veröffentlichen. – Kevin

+1

Ignoriere den obigen Kommentar. Anscheinend sagen mir die JMX-Bohnen genau, wonach ich suche. Also habe ich ein einfaches Dienstprogramm geschrieben, das sich mit einem MBeanServer auf der activemq JVM verbindet und überprüft, ob eine MBean für mein Thema existiert und das mein Problem löst. Nett ! –

Verwandte Themen