Buscar en el Blog

martes, 29 de enero de 2013

Cómo purgar una cola de ActiveMQ usando el API de JMX

En ésta publicación explico el procedimiento para purgar (purge) una cola de Apache ActiveMQ usando el API de JMX.

1. Tener habilitado el soporte para JMX en  ActiveMQ, en la siguiente publicación se explica cómo hacerlo

2. Incluir las siguientes líneas de código Java que usan el API de JMX:

public void purgeQueue() throws NamingException, IOException, MalformedObjectNameException, InstanceNotFoundException, ReflectionException, MBeanException {
    String activeMQBrokerHost = "localhost"; //Dirección IP o nombre del servidor de ActiveMQ
    String queueToPurge = "test.queue"; //Nombre de la Cola

    JMXServiceURL jmxURL = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://" + activeMQBrokerHost + ":1099/jmxrmi");
    ObjectName queue = new ObjectName("org.apache.activemq:BrokerName=" + activeMQBrokerHost + ",Type=Queue,Destination=" + queueToPurge);
    JMXConnector jmxConnection = JMXConnectorFactory.connect(jmxURL);
    MBeanServerConnection mBeanConnection = jmxConnection.getMBeanServerConnection();
    mBeanConnection.invoke(queue, "purge", null, null);
    jmxConnection.close();
}

No hay comentarios:

Publicar un comentario