activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Timothy Bish <tabish...@gmail.com>
Subject Re: JMXServiceURL for vm://
Date Wed, 25 Jul 2012 23:38:05 GMT
On Thu, 2012-08-02 at 10:09 +0200, Jamie wrote: 
> Greetings!
> 
> I have ActiveMQ integrated in an  embedded scenario whereby the Broker 
> and ActiveMQ configuration is created programmatically in Java.
> 
> Since I am not intending to queue data over a network, for performance 
> reasons, I am using the URL "vm://appname" in place of localhost when 
> creating the broker.
> 
> brokerService = new BrokerService();)
> brokerService.addConnector("vm://"+brokerName);
> 
> The queuing works perfectly, though I am having difficulty obtaining the 
> QueueViewMBean instance for the purposes of retrieving the current queue 
> size.
> 
> JMXServiceURL url = new 
> JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:1199/jmxrmi"); // 
> what value for this URL?
> 
> It is unclear to me what URL must be used for the JMXServiceURL in the 
> scenario where vm://appname is used (i.e. equivalent of 
> "service:jmx:rmi:///jndi/rmi://localhost:1199/jmxrmi"). Alternatively, 
> perhaps there is another way to obtain the QueueViewMBean instance. I am 
> not planning on connecting to any remote vm's. I  simply need to use the 
> QueueViewMBean in the same virtual machine as where the brokerService 
> object is created.
> 
> Thanks in advance for your advice.
> 
> Regards
> 
> Jamie

If you search the unit tests code for QueueViewMBean you'll find several
examples of how to get one, here's a snippet from one of the tests:

    private QueueViewMBean getProxyToQueueViewMBean() throws
MalformedObjectNameException, NullPointerException,
            JMSException {
        final ObjectName queueViewMBeanName = new
ObjectName("org.apache.activemq:Type=Queue,Destination="
                + queue.getQueueName() + ",BrokerName=localhost");
        final QueueViewMBean proxy = (QueueViewMBean)
brokerService.getManagementContext().newProxyInstance(
                queueViewMBeanName, QueueViewMBean.class, true);
        return proxy;
    }



-- 
Tim Bish
Sr Software Engineer | FuseSource Corp
tim.bish@fusesource.com | www.fusesource.com
skype: tabish121 | twitter: @tabish121
blog: http://timbish.blogspot.com/


Mime
View raw message