3 Replies Latest reply: Apr 27, 2012 6:19 AM by Pushkal Maheshwari RSS

Simple example of using Management API

Navdeep Shergill Newbie


     I had a hard time following the management api documentation and doing mangement operations listed here: http://docs.jboss.org/hornetq/2.2.5.Final/user-manual/en/html/management.html


All examples that I found on the forums were showing how to connect using JMX; which I didn't really want to explore. I just needed a simple pure java object that will connect to hornetQ and do some managment operation. It took me a while to figure this out; so I decided to share this example in case anyone else needs to do the same.


My use case is as follows: hornetQ server running on same host




Map<String, Object> connectionParams = new HashMap<String,Object>();

connectionParams.put(org.hornetq.core.remoting.impl.netty.TransportConstants.HOST_PROP_NAME, "myhostname");

ServerLocator serverLocator = HornetQClient.createServerLocatorWithoutHA(new TransportConfiguration(NettyConnectorFactory.class.getName(), connectionParams));

ClientSessionFactory sf = serverLocator.createSessionFactory();

ClientSession session = sf.createSession();


ClientRequestor requestor = new ClientRequestor(session, "jms.queue.hornetq.management");

ClientMessage message = session.createMessage(false);

// calling this method http://docs.jboss.org/hornetq/2.2.5.Final/api/org/hornetq/api/core/management/QueueControl.html#getAddress%28%29

ManagementHelper.putOperationInvocation(message, ResourceNames.CORE_QUEUE + "queue1", "getAddress");


ClientMessage reply = requestor.request(message);

String addr = (String) ManagementHelper.getResult(reply);

System.out.println("got reply: " + addr);