JBoss Community

HornetQ message count.

created by Rishi k in JBoss Web Development - View the full discussion
  

 

   
      

 

Hi all,

 

 

I am new to HOrnetQ, I need to get message count from HornetQ running on Jboss6Final.But it shows the following error:

 

 

ExpiryQueuejava.io.IOException: Failed to retrieve RMIServer stub: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial    at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:338)    at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:248)    at com.jboss.embedded.TestNG.TestCounters.main(TestCounters.java:51)Caused by: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)    at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:325)    at javax.naming.InitialContext.lookup(InitialContext.java:392)    at javax.management.remote.rmi.RMIConnector.findRMIServerJNDI(RMIConnector.java:1886)    at javax.management.remote.rmi.RMIConnector.findRMIServer(RMIConnector.java:1856)    at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:257)    ... 2 more

 

 

Here is my code

 

 

public static void main(String[] args){
    Context lContext=null;
    Connection Hconn=null;
    ConnectionFactory Hconnection=null;
    HornetQQueue q=null;
    ObjectName on;
    Hashtable ht = new Hashtable();
    ht.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
    ht.put(Context.PROVIDER_URL, "xx.xx.xxx.xx");
    ht.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
    try{
        lContext = new InitialContext(ht);
        Hconnection = (ConnectionFactory) lContext.lookup("ConnectionFactory");
        q = (HornetQQueue) lContext.lookup("/queue/ExpiryQueue");
        //System.out.println(q.getQueueName());
        on = ObjectNameBuilder.DEFAULT.getJMSQueueObjectName(q.getQueueName());
        JMXServiceURL url = new JMXServiceURL("rmi", "xx.xx.xxx.xx", 1099, "/jndi/jmx");
        JMXConnector cntor = JMXConnectorFactory.connect(url, ht);
        MBeanServerConnection mbsc = cntor.getMBeanServerConnection();
        JMSQueueControl queueControl = (JMSQueueControl)MBeanServerInvocationHandler.newProxyInstance(mbsc, on, JMSQueueControl.class, false);
        String counters = queueControl.listMessageCounter();
        //System.out.print(counters);
        MessageCounterInfo messageCounter = MessageCounterInfo.fromJSON(counters);        
        System.out.format("%s message(s) in the queue (since last sample: %s)\n",messageCounter.getDepth(),messageCounter.getDepthDelta());
    } catch (Exception e) {
        e.printStackTrace();
    }

}

 

 

What seems to be wrong ?

Reply to this message by going to Community

Start a new discussion in JBoss Web Development at Community