¿Cómo obtener la longitud de la cola (cantidad de mensajes no consumidos enviados a la cola) en ActiveMQ, usando Java?¿Alguna forma simple de obtener la longitud de cola de un ActiveMQ?
Respuesta
Debe usar JMX, ya que la interfaz Queue no proporciona dicha información.
Ejemplo de recuperar el tamaño de una cola específica:
// connection
String url = "service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi";
JMXConnector connector = JMXConnectorFactory.connect(new JMXServiceURL(url));
MBeanServerConnection connection = connector.getMBeanServerConnection();
// get queue size
ObjectName nameConsumers = new ObjectName("org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=myqueue");
DestinationViewMBean mbView = MBeanServerInvocationHandler.newProxyInstance(connection, nameConsumers, DestinationViewMBean.class, true);
long queueSize = mbView.getQueueSize();
Referencia: ActiveMQ JMX, Required MBeans
Ejemplo: managing ActiveMQ with JMX APIs
Gracias por la pista, pero utilicé Next ObjectName: "org.apache.activemq: BrokerName = localhost, Type = Queue, Destination = queueName "y QueueViewMBean class para obtener queueViewMBean. En general, el enfoque fue el mismo –
gusta esta;
QueueBrowser browser = session.createBrowser(queue);
Enumeration enu = browser.getEnumeration();
List list = new ArrayList();
while (enu.hasMoreElements()) {
TextMessage message = (TextMessage) enu.nextElement();
list.add(message.getText());
}
System.out.println("Size " + list.size());
Nota: a menos que incremente maxPageSize y memoryLimit, solo lo examinará a lo sumo a 400 mensajes: http://betterlogic.com/roger/2012/06/activemq-browse- all-messages – rogerdpack
Leerá todos los mensajes del intermediario al consumidor para simplemente contarlo, ¿en serio? – deFreitas
- 1. Cómo configurar la cola en activemq
- 2. ActiveMQ: Problema con la búsqueda en cola
- 3. Cómo encontrar un horneq Longitud de cola
- 4. ¿Hay alguna forma incorporada para obtener la longitud de un iterable en python?
- 5. Longitud máxima para la cola de scala
- 6. ¿Hay alguna forma de obtener la dirección de un registro?
- 7. Paquetes udp actuales longitud de cola
- 8. ¿Cómo establecer la ActiveMQ redeliveryPolicy en una cola?
- 9. ActiveMQ: la cola de mensajes no entregados guarda la orden de mis mensajes
- 10. Cómo verificar la longitud de la cola en Python
- 11. Obtener la longitud de un archivo de audio php
- 12. ¿Hay alguna forma de obtener XML de elemento por atributo?
- 13. ¿Hay alguna forma de agregar un número par de dígitos?
- 14. ¿Mejor forma de determinar la longitud de un std :: istream?
- 15. Cuál es la forma más sencilla de obtener la latitud y la longitud de un usuario desde una dirección IP
- 16. ¿Hay alguna forma de obtener un valor de propiedad de un objeto utilizando la clase PropertyPath?
- 17. Consumidor de ActiveMQ se bloquea
- 18. Implementación de una cola simple usando matrices
- 19. Forma simple de analizar un WSDL
- 20. ¿Alguna forma de calcular la longitud de píxel de una cadena?
- 21. ¿Hay alguna forma de obtener el alias de un tipo mediante la reflexión?
- 22. Cómo eliminar eventos de una cola de Amazon SQS (servicio de cola simple) realmente rápido?
- 23. Cola en C++ - ejemplo simple
- 24. ¿Hay alguna forma de obtener el nombre de la unidad actual de un archivo de inclusión?
- 25. Uso de ActiveMQ a través de JNDI
- 26. Activación de PHP desde ActiveMQ
- 27. ¿Hay alguna forma de obtener la dirección IP de origen de un mensaje JMS?
- 28. ¿Hay alguna forma de obtener la codificación de un archivo de texto en UltraEdit?
- 29. ¿Cómo obtener la longitud de IStream? C++
- 30. ¿Cómo obtener la longitud de char **?
Debe utilizar JMX, ya que la interfaz Queue no proporciona dicha información. Referencia: [ActiveMQ JMX] (http://activemq.apache.org/jmx.html), [MBeans obligatorios] (http://activemq.apache.org/jmx-support.html) Ejemplo: [administración de ActiveMQ con JMX APIs] (http://www.consulting-notes.com/2010/08/monitoring-and-managing-activemq-with.html) – Dag