Quantcast
Channel: Gik's notes » jms
Viewing all articles
Browse latest Browse all 4

JMX remote method invoking to JMS queue

$
0
0

jmxConnect
Remote method invokation via JMX showed below:

package com.test;

import java.util.Arrays;
import java.util.Map;
import java.util.Map.Entry;

import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;

public class JmxInvokeExample {

    public static void main(String[] args) {
        try {
            // Define settings
            final String JMX_SERVICE_URL = "service:jmx:rmi:///jndi/rmi://ServerIP:Port/jmxrmi";

            // Preparing
            JMXServiceURL serviceURL = new JMXServiceURL(JMX_SERVICE_URL);
            JMXConnector connector = JMXConnectorFactory.connect(serviceURL);
            MBeanServerConnection connection = connector.getMBeanServerConnection();

            // Create object to invoke
            ObjectName objectName = new ObjectName("org.hornetq:module=JMS,type=Queue,name=\"Some.Queue.Name\"");

            // Compose invoking params
            String opName = "listMessages";
            String filter = "";
            // filter = "propKey1 = 'some value'";
            // filter += " AND ";
            // filter = "propKey2 = 'some next'";
            Object opParams[] = { filter };
            String opSig[] = { String.class.getName() };

            // Make invoking operation via JMX!
            Object object = connection.invoke(objectName, opName, opParams, opSig);

            // Check and out result
            if (object != null) {
                for (Map<String, Object> map : Arrays.asList((Map<String, Object>[]) object)) {
                    System.out.println("\nMESSAGE:\n--------");
                    for (Entry<String, Object> entry : map.entrySet()) {
                        System.out.println(entry.getKey() + " = " + entry.getValue());
                    }
                }
            }

            // Close connection
            connector.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

See also,
Standard MBeans and JMX
Basic Example of JMX Technology
Standard MBeans
Invoking MBean Operations


Viewing all articles
Browse latest Browse all 4

Latest Images

Trending Articles





Latest Images