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

Simple example of using Management API

Navdeep Shergill Newbie

Hi

     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();

session.start();



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);