You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by sub3 <st...@subwest.com> on 2011/09/22 22:52:52 UTC

addNetworkConnector - JMX Error

Hi,

I want to be able to add a network connector a runtime. I believe this code
works, but it throws an error on the first line:

> NetworkConnector connector =
> broker.addNetworkConnector("static://"+"tcp://"+host+":61616");
> connector.setDuplex(true);
> connector.start();

Is it the connector that needs a unique name, or something deeper?  I can't
find any other functions which would change this behavior.  Thanks for any
help.

Error:
java.io.IOException: Network Connector could not be registered in JMX:
org.apache.activemq:BrokerName=denver,Type=NetworkConnector,NetworkConnectorName=NC
        at
org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:27)
        at
org.apache.activemq.broker.BrokerService.registerNetworkConnectorMBean(BrokerService.java:1708)
        at
org.apache.activemq.broker.BrokerService.addNetworkConnector(BrokerService.java:351)
        at
org.apache.activemq.broker.BrokerService.addNetworkConnector(BrokerService.java:305)
        at
org.apache.activemq.broker.BrokerService.addNetworkConnector(BrokerService.java:280)
        at
mil.darpa.insight.broker.LocalBroker.createNetworkConnector(LocalBroker.java:109)
        at
mil.darpa.insight.InsightOSImpl.handleNetworkMessage(InsightOSImpl.java:287)
        at mil.darpa.insight.InsightOSImpl.onMessage(InsightOSImpl.java:264)
        at
org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1230)
        at
org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:134)
        at
org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:205)
        at
org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:127)
        at
org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Caused by: javax.management.InstanceAlreadyExistsException:
org.apache.activemq:BrokerName=denver,Type=NetworkConnector,NetworkConnectorName=NC
        at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:453)
        at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.internal_addObject(DefaultMBeanServerInterceptor.java:1484)
        at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:963)
        at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:917)
        at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:312)
        at
com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:482)
        at
org.apache.activemq.broker.jmx.ManagementContext.registerMBean(ManagementContext.java:299)
        at
org.apache.activemq.broker.jmx.AnnotatedMBean.registerMBean(AnnotatedMBean.java:65)
        at
org.apache.activemq.broker.BrokerService.registerNetworkConnectorMBean(BrokerService.java:1706)


--
View this message in context: http://activemq.2283324.n4.nabble.com/addNetworkConnector-JMX-Error-tp3834836p3834836.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: addNetworkConnector - JMX Error

Posted by sub3 <st...@subwest.com>.
You can't set the connector name because it fails on the first line, before
the connector object is returned.

I did find an answer (documenting here in case anyone googles this group
later). Basically, don't use the addNetworkConnector(String), but instead
addNetworkConnector(NetworkConnector).

> NetworkConnector connector = new DiscoveryNetworkConnector(uri);
> connector.setName(host+"Connector");
> connector.setDuplex(true);
> broker.addNetworkConnector(connector);
> connector.start();

Thanks for your help.


--
View this message in context: http://activemq.2283324.n4.nabble.com/addNetworkConnector-JMX-Error-tp3834836p3838096.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: addNetworkConnector - JMX Error

Posted by Marcelo Jabali <mj...@fusesource.com>.
Have you tried setting the connector's name?
e.g. connector.setName("myNetworkConnector");

The tests available at https://issues.apache.org/jira/browse/AMQ-3348 may also give you some hints to get this working.

Hope this helps,

-Marcelo

On Sep 22, 2011, at 1:52 PM, sub3 wrote:

> Hi,
> 
> I want to be able to add a network connector a runtime. I believe this code
> works, but it throws an error on the first line:
> 
>> NetworkConnector connector =
>> broker.addNetworkConnector("static://"+"tcp://"+host+":61616");
>> connector.setDuplex(true);
>> connector.start();
> 
> Is it the connector that needs a unique name, or something deeper?  I can't
> find any other functions which would change this behavior.  Thanks for any
> help.
> 
> Error:
> java.io.IOException: Network Connector could not be registered in JMX:
> org.apache.activemq:BrokerName=denver,Type=NetworkConnector,NetworkConnectorName=NC
>        at
> org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:27)
>        at
> org.apache.activemq.broker.BrokerService.registerNetworkConnectorMBean(BrokerService.java:1708)
>        at
> org.apache.activemq.broker.BrokerService.addNetworkConnector(BrokerService.java:351)
>        at
> org.apache.activemq.broker.BrokerService.addNetworkConnector(BrokerService.java:305)
>        at
> org.apache.activemq.broker.BrokerService.addNetworkConnector(BrokerService.java:280)
>        at
> mil.darpa.insight.broker.LocalBroker.createNetworkConnector(LocalBroker.java:109)
>        at
> mil.darpa.insight.InsightOSImpl.handleNetworkMessage(InsightOSImpl.java:287)
>        at mil.darpa.insight.InsightOSImpl.onMessage(InsightOSImpl.java:264)
>        at
> org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1230)
>        at
> org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:134)
>        at
> org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:205)
>        at
> org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:127)
>        at
> org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:48)
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>        at java.lang.Thread.run(Thread.java:662)
> Caused by: javax.management.InstanceAlreadyExistsException:
> org.apache.activemq:BrokerName=denver,Type=NetworkConnector,NetworkConnectorName=NC
>        at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:453)
>        at
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.internal_addObject(DefaultMBeanServerInterceptor.java:1484)
>        at
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:963)
>        at
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:917)
>        at
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:312)
>        at
> com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:482)
>        at
> org.apache.activemq.broker.jmx.ManagementContext.registerMBean(ManagementContext.java:299)
>        at
> org.apache.activemq.broker.jmx.AnnotatedMBean.registerMBean(AnnotatedMBean.java:65)
>        at
> org.apache.activemq.broker.BrokerService.registerNetworkConnectorMBean(BrokerService.java:1706)
> 
> 
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/addNetworkConnector-JMX-Error-tp3834836p3834836.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.