2010-02-23 14 views
6

Apache Activemq 5.2.0ActiveMQ JMS ping

Mi aplicación escucha mensajes sobre tres temas y envía mensajes sobre 2 temas. Cuando mi aplicación es "webping" ed, quiero verificar si estos temas están vivos. Me gustaría saber si esto es posible. Aquí están mis observaciones,

  1. Advisory messages pueden usarse para esto, pero envían mensajes solo cuando un productor/consumidor se une. Esto no es exactamente lo que quiero. Solo quiero comprobar si puede enviar mensajes a temas salientes y puede recibir mensajes sobre el tema entrante.
  2. solución personalizada Heartbeat. Puedo hacer que cada productor envíe un mensaje de latido cada 5 segundos y que el oyente no procese mensajes de latido pero actualice un indicador/marca de tiempo. De esa forma sé que el tema está en marcha.
  3. ¿Hay un latido del corazón algo incorporado en el Apache ActiveMQ? o un "ping para un tema"?

entiendo JMS no es para la supervisión, pero si soy un productor de un tema, que será bueno saber si yo puedo productos sobre el tema con el nivel de comodidad razonable. También estoy de acuerdo entre un ping y un mensaje de que el canal puede ir hacia abajo y que es un error aceptable para mí.

sólo quiero un sistema de control de salud/página que se puede decir "si los temas están ahí y la activemq se está ejecutando"

Respuesta

5

Puede supervisar el uso de ActiveMQ JMX. Esto le permitirá ver si el servidor está activo, qué temas/colas están activos y mucha otra información útil.

+0

Gracias Kevin. JMX es similar a los mensajes de asesor, ya que puedo obtener cosas como "EnqueueCount", etc., que es útil. Sin embargo, no hay forma de comprobar que el tema se puede usar actualmente. Si no encuentro ninguna forma de hacerlo (que no sea el envío de un mensaje ficticio), entonces aceptaré esta respuesta. –

+0

¿Qué quiere decir "usable"? Si existe, puede publicarlo. – Kevin

+1

Ignora el comentario anterior. Al parecer, los frijoles JMX me dicen exactamente lo que estoy buscando. Así que escribí una utilidad simple que se conecta a un MBeanServer en la JVM activemq, y verifico si existe un MBean para mi tema y eso resuelve mi problema. Agradable ! –

Cuestiones relacionadas