You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Claus Ibsen <cl...@gmail.com> on 2011/01/06 17:01:14 UTC

Re: AMQ Component with embedded broker - problem on war redeploy: javax.jms.JMSException: Could not create Transport. Reason: javax.management.InstanceAlreadyExistsException

This is a question for the ActiveMQ user mailing list.

It looks like when you hot-deploy the JMX Mbeans are not unregistered
and thus you hit a problem when AMQ tries to register a MBean when it
starts up, and there old MBean is still there.


On Thu, Jan 6, 2011 at 3:51 PM, Marco Zapletal <ma...@gmail.com> wrote:
> Hello,
>
> I am using the ActiveMQ Component on my routes with an embedded broker. When
> re-deploying my app, I am always getting an InstanceAlreadyExistsException,
> since the broker of the prior deployment seems to be still existing
> (exception is posted below). In my Spring configuration for the AMQ
> component, I also added the component's doStop() method as the bean's
> destroy method, but that didn't help.
>
> Can anybody give me hint how to configure the AMQ component for proper
> re-deployment or is this a shortcoming of the component implementation?
>
> thanks,
> marco
>
> javax.jms.JMSException: Could not create Transport. Reason:
> javax.management.InstanceAlreadyExistsException:
> org.apache.activemq:BrokerName=bla,Type=Broker
>        at
> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:35)
> ~[activemq-core-5.2.0.jar:5.2.0]
>        at
> org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:239)
> ~[activemq-core-5.2.0.jar:5.2.0]
>        at
> org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:252)
> ~[activemq-core-5.2.0.jar:5.2.0]
>        at
> org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:224)
> ~[activemq-core-5.2.0.jar:5.2.0]
>        at
> org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:172)
> ~[activemq-core-5.2.0.jar:5.2.0]
>        at
> org.apache.activemq.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:125)
> ~[activemq-pool-5.2.0.jar:5.2.0]
>        at
> org.apache.activemq.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:110)
> ~[activemq-pool-5.2.0.jar:5.2.0]
>        at
> org.apache.activemq.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:81)
> ~[activemq-pool-5.2.0.jar:5.2.0]
>        at
> org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:184)
> ~[spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]
>        at
> org.springframework.jms.listener.AbstractJmsListeningContainer.createSharedConnection(AbstractJmsListeningContainer.java:403)
> ~[spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]
>        at
> org.springframework.jms.listener.AbstractJmsListeningContainer.refreshSharedConnection(AbstractJmsListeningContainer.java:388)
> ~[spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]
>        at
> org.springframework.jms.listener.DefaultMessageListenerContainer.refreshConnectionUntilSuccessful(DefaultMessageListenerContainer.java:856)
> [spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]
>        at
> org.springframework.jms.listener.DefaultMessageListenerContainer.recoverAfterListenerSetupFailure(DefaultMessageListenerContainer.java:838)
> [spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]
>        at
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:969)
> [spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]
>        at java.lang.Thread.run(Thread.java:619) [na:1.6.0_21]
> Caused by: javax.management.InstanceAlreadyExistsException:
> org.apache.activemq:BrokerName=bla,Type=Broker
>        at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:453)
> ~[na:1.6.0_21]
>        at
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.internal_addObject(DefaultMBeanServerInterceptor.java:1484)
> ~[na:1.6.0_21]
>        at
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:963)
> ~[na:1.6.0_21]
>        at
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:917)
> ~[na:1.6.0_21]
>        at
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:312)
> ~[na:1.6.0_21]
>        at
> com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:482)
> ~[na:1.6.0_21]
>        at
> org.apache.activemq.broker.BrokerService.createBroker(BrokerService.java:1593)
> ~[activemq-core-5.2.0.jar:5.2.0]
>        at
> org.apache.activemq.broker.BrokerService.getBroker(BrokerService.java:579)
> ~[activemq-core-5.2.0.jar:5.2.0]
>        at
> org.apache.activemq.broker.BrokerService.start(BrokerService.java:468)
> ~[activemq-core-5.2.0.jar:5.2.0]
>        at
> org.apache.activemq.transport.vm.VMTransportFactory.doCompositeConnect(VMTransportFactory.java:123)
> ~[activemq-core-5.2.0.jar:5.2.0]
>        at
> org.apache.activemq.transport.vm.VMTransportFactory.doConnect(VMTransportFactory.java:53)
> ~[activemq-core-5.2.0.jar:5.2.0]
>        at
> org.apache.activemq.transport.TransportFactory.doConnect(TransportFactory.java:51)
> ~[activemq-core-5.2.0.jar:5.2.0]
>        at
> org.apache.activemq.transport.TransportFactory.connect(TransportFactory.java:80)
> ~[activemq-core-5.2.0.jar:5.2.0]
>        at
> org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:237)
> ~[activemq-core-5.2.0.jar:5.2.0]
>        ... 13 common frames omitted
>
>



-- 
Claus Ibsen
-----------------
FuseSource
Email: cibsen@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Re: AMQ Component with embedded broker - problem on war redeploy: javax.jms.JMSException: Could not create Transport. Reason: javax.management.InstanceAlreadyExistsException

Posted by Claus Ibsen <cl...@gmail.com>.
On Thu, Jan 6, 2011 at 6:04 PM, Marco Zapletal <ma...@gmail.com> wrote:
> I wasn't sure whether this is related to AMQ itself or to the Camel
> component implementation. Anyway, I upgraded AMQ from 5.2.0 to 5.4.1 and the
> problem seems to be gone.
>

Great. Yeah I would suggest to test using never versions to see if it
was fixed in some later release.
Also maybe search the AMQ forum and/or google with that caused
exception. You may be able to find a thread or JIRA ticket.


> regards,
> marco
>
>
> On 06.01.2011 17:01, Claus Ibsen wrote:
>>
>> This is a question for the ActiveMQ user mailing list.
>>
>> It looks like when you hot-deploy the JMX Mbeans are not unregistered
>> and thus you hit a problem when AMQ tries to register a MBean when it
>> starts up, and there old MBean is still there.
>>
>>
>> On Thu, Jan 6, 2011 at 3:51 PM, Marco Zapletal<ma...@gmail.com>
>>  wrote:
>>>
>>> Hello,
>>>
>>> I am using the ActiveMQ Component on my routes with an embedded broker.
>>> When
>>> re-deploying my app, I am always getting an
>>> InstanceAlreadyExistsException,
>>> since the broker of the prior deployment seems to be still existing
>>> (exception is posted below). In my Spring configuration for the AMQ
>>> component, I also added the component's doStop() method as the bean's
>>> destroy method, but that didn't help.
>>>
>>> Can anybody give me hint how to configure the AMQ component for proper
>>> re-deployment or is this a shortcoming of the component implementation?
>>>
>>> thanks,
>>> marco
>>>
>>> javax.jms.JMSException: Could not create Transport. Reason:
>>> javax.management.InstanceAlreadyExistsException:
>>> org.apache.activemq:BrokerName=bla,Type=Broker
>>>        at
>>>
>>> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:35)
>>> ~[activemq-core-5.2.0.jar:5.2.0]
>>>        at
>>>
>>> org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:239)
>>> ~[activemq-core-5.2.0.jar:5.2.0]
>>>        at
>>>
>>> org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:252)
>>> ~[activemq-core-5.2.0.jar:5.2.0]
>>>        at
>>>
>>> org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:224)
>>> ~[activemq-core-5.2.0.jar:5.2.0]
>>>        at
>>>
>>> org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:172)
>>> ~[activemq-core-5.2.0.jar:5.2.0]
>>>        at
>>>
>>> org.apache.activemq.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:125)
>>> ~[activemq-pool-5.2.0.jar:5.2.0]
>>>        at
>>>
>>> org.apache.activemq.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:110)
>>> ~[activemq-pool-5.2.0.jar:5.2.0]
>>>        at
>>>
>>> org.apache.activemq.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:81)
>>> ~[activemq-pool-5.2.0.jar:5.2.0]
>>>        at
>>>
>>> org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:184)
>>> ~[spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]
>>>        at
>>>
>>> org.springframework.jms.listener.AbstractJmsListeningContainer.createSharedConnection(AbstractJmsListeningContainer.java:403)
>>> ~[spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]
>>>        at
>>>
>>> org.springframework.jms.listener.AbstractJmsListeningContainer.refreshSharedConnection(AbstractJmsListeningContainer.java:388)
>>> ~[spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]
>>>        at
>>>
>>> org.springframework.jms.listener.DefaultMessageListenerContainer.refreshConnectionUntilSuccessful(DefaultMessageListenerContainer.java:856)
>>> [spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]
>>>        at
>>>
>>> org.springframework.jms.listener.DefaultMessageListenerContainer.recoverAfterListenerSetupFailure(DefaultMessageListenerContainer.java:838)
>>> [spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]
>>>        at
>>>
>>> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:969)
>>> [spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]
>>>        at java.lang.Thread.run(Thread.java:619) [na:1.6.0_21]
>>> Caused by: javax.management.InstanceAlreadyExistsException:
>>> org.apache.activemq:BrokerName=bla,Type=Broker
>>>        at
>>> com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:453)
>>> ~[na:1.6.0_21]
>>>        at
>>>
>>> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.internal_addObject(DefaultMBeanServerInterceptor.java:1484)
>>> ~[na:1.6.0_21]
>>>        at
>>>
>>> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:963)
>>> ~[na:1.6.0_21]
>>>        at
>>>
>>> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:917)
>>> ~[na:1.6.0_21]
>>>        at
>>>
>>> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:312)
>>> ~[na:1.6.0_21]
>>>        at
>>>
>>> com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:482)
>>> ~[na:1.6.0_21]
>>>        at
>>>
>>> org.apache.activemq.broker.BrokerService.createBroker(BrokerService.java:1593)
>>> ~[activemq-core-5.2.0.jar:5.2.0]
>>>        at
>>>
>>> org.apache.activemq.broker.BrokerService.getBroker(BrokerService.java:579)
>>> ~[activemq-core-5.2.0.jar:5.2.0]
>>>        at
>>> org.apache.activemq.broker.BrokerService.start(BrokerService.java:468)
>>> ~[activemq-core-5.2.0.jar:5.2.0]
>>>        at
>>>
>>> org.apache.activemq.transport.vm.VMTransportFactory.doCompositeConnect(VMTransportFactory.java:123)
>>> ~[activemq-core-5.2.0.jar:5.2.0]
>>>        at
>>>
>>> org.apache.activemq.transport.vm.VMTransportFactory.doConnect(VMTransportFactory.java:53)
>>> ~[activemq-core-5.2.0.jar:5.2.0]
>>>        at
>>>
>>> org.apache.activemq.transport.TransportFactory.doConnect(TransportFactory.java:51)
>>> ~[activemq-core-5.2.0.jar:5.2.0]
>>>        at
>>>
>>> org.apache.activemq.transport.TransportFactory.connect(TransportFactory.java:80)
>>> ~[activemq-core-5.2.0.jar:5.2.0]
>>>        at
>>>
>>> org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:237)
>>> ~[activemq-core-5.2.0.jar:5.2.0]
>>>        ... 13 common frames omitted
>>>
>>>
>>
>>
>>
>
>



-- 
Claus Ibsen
-----------------
FuseSource
Email: cibsen@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Re: AMQ Component with embedded broker - problem on war redeploy: javax.jms.JMSException: Could not create Transport. Reason: javax.management.InstanceAlreadyExistsException

Posted by Marco Zapletal <ma...@gmail.com>.
I wasn't sure whether this is related to AMQ itself or to the Camel 
component implementation. Anyway, I upgraded AMQ from 5.2.0 to 5.4.1 and 
the problem seems to be gone.

regards,
marco


On 06.01.2011 17:01, Claus Ibsen wrote:
> This is a question for the ActiveMQ user mailing list.
>
> It looks like when you hot-deploy the JMX Mbeans are not unregistered
> and thus you hit a problem when AMQ tries to register a MBean when it
> starts up, and there old MBean is still there.
>
>
> On Thu, Jan 6, 2011 at 3:51 PM, Marco Zapletal<ma...@gmail.com>  wrote:
>> Hello,
>>
>> I am using the ActiveMQ Component on my routes with an embedded broker. When
>> re-deploying my app, I am always getting an InstanceAlreadyExistsException,
>> since the broker of the prior deployment seems to be still existing
>> (exception is posted below). In my Spring configuration for the AMQ
>> component, I also added the component's doStop() method as the bean's
>> destroy method, but that didn't help.
>>
>> Can anybody give me hint how to configure the AMQ component for proper
>> re-deployment or is this a shortcoming of the component implementation?
>>
>> thanks,
>> marco
>>
>> javax.jms.JMSException: Could not create Transport. Reason:
>> javax.management.InstanceAlreadyExistsException:
>> org.apache.activemq:BrokerName=bla,Type=Broker
>>         at
>> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:35)
>> ~[activemq-core-5.2.0.jar:5.2.0]
>>         at
>> org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:239)
>> ~[activemq-core-5.2.0.jar:5.2.0]
>>         at
>> org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:252)
>> ~[activemq-core-5.2.0.jar:5.2.0]
>>         at
>> org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:224)
>> ~[activemq-core-5.2.0.jar:5.2.0]
>>         at
>> org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:172)
>> ~[activemq-core-5.2.0.jar:5.2.0]
>>         at
>> org.apache.activemq.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:125)
>> ~[activemq-pool-5.2.0.jar:5.2.0]
>>         at
>> org.apache.activemq.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:110)
>> ~[activemq-pool-5.2.0.jar:5.2.0]
>>         at
>> org.apache.activemq.pool.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:81)
>> ~[activemq-pool-5.2.0.jar:5.2.0]
>>         at
>> org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:184)
>> ~[spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]
>>         at
>> org.springframework.jms.listener.AbstractJmsListeningContainer.createSharedConnection(AbstractJmsListeningContainer.java:403)
>> ~[spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]
>>         at
>> org.springframework.jms.listener.AbstractJmsListeningContainer.refreshSharedConnection(AbstractJmsListeningContainer.java:388)
>> ~[spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]
>>         at
>> org.springframework.jms.listener.DefaultMessageListenerContainer.refreshConnectionUntilSuccessful(DefaultMessageListenerContainer.java:856)
>> [spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]
>>         at
>> org.springframework.jms.listener.DefaultMessageListenerContainer.recoverAfterListenerSetupFailure(DefaultMessageListenerContainer.java:838)
>> [spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]
>>         at
>> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:969)
>> [spring-jms-3.0.5.RELEASE.jar:3.0.5.RELEASE]
>>         at java.lang.Thread.run(Thread.java:619) [na:1.6.0_21]
>> Caused by: javax.management.InstanceAlreadyExistsException:
>> org.apache.activemq:BrokerName=bla,Type=Broker
>>         at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:453)
>> ~[na:1.6.0_21]
>>         at
>> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.internal_addObject(DefaultMBeanServerInterceptor.java:1484)
>> ~[na:1.6.0_21]
>>         at
>> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:963)
>> ~[na:1.6.0_21]
>>         at
>> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:917)
>> ~[na:1.6.0_21]
>>         at
>> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:312)
>> ~[na:1.6.0_21]
>>         at
>> com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:482)
>> ~[na:1.6.0_21]
>>         at
>> org.apache.activemq.broker.BrokerService.createBroker(BrokerService.java:1593)
>> ~[activemq-core-5.2.0.jar:5.2.0]
>>         at
>> org.apache.activemq.broker.BrokerService.getBroker(BrokerService.java:579)
>> ~[activemq-core-5.2.0.jar:5.2.0]
>>         at
>> org.apache.activemq.broker.BrokerService.start(BrokerService.java:468)
>> ~[activemq-core-5.2.0.jar:5.2.0]
>>         at
>> org.apache.activemq.transport.vm.VMTransportFactory.doCompositeConnect(VMTransportFactory.java:123)
>> ~[activemq-core-5.2.0.jar:5.2.0]
>>         at
>> org.apache.activemq.transport.vm.VMTransportFactory.doConnect(VMTransportFactory.java:53)
>> ~[activemq-core-5.2.0.jar:5.2.0]
>>         at
>> org.apache.activemq.transport.TransportFactory.doConnect(TransportFactory.java:51)
>> ~[activemq-core-5.2.0.jar:5.2.0]
>>         at
>> org.apache.activemq.transport.TransportFactory.connect(TransportFactory.java:80)
>> ~[activemq-core-5.2.0.jar:5.2.0]
>>         at
>> org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:237)
>> ~[activemq-core-5.2.0.jar:5.2.0]
>>         ... 13 common frames omitted
>>
>>
>
>
>