[ 
https://issues.apache.org/jira/browse/ARIES-1119?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jean-Baptiste Onofré reassigned ARIES-1119:
-------------------------------------------

    Assignee: Jean-Baptiste Onofré

> MBean registration race condition in JMXAgentImpl
> -------------------------------------------------
>
>                 Key: ARIES-1119
>                 URL: https://issues.apache.org/jira/browse/ARIES-1119
>             Project: Aries
>          Issue Type: Bug
>          Components: JMX
>    Affects Versions: jmx-core-1.1.0
>         Environment: jmx-core-1.1.1
>            Reporter: Tuomas Kiviaho
>            Assignee: Jean-Baptiste Onofré
>            Priority: Minor
>
> I'm just starting to use Aries JMX Whiteboard but the first thing to struck 
> me was an innocent but yet disturbing error message.
> {code}
> [INFO] [org.visit] Registering 
> org.osgi.jmx.service.cm.ConfigurationAdminMBean to MBeanServer 
> com.sun.jmx.mbeanserver.JmxMBeanServer@82a72a with name 
> osgi.compendium:service=cm,version=1.3,framework=org.apache.felix.framework,uuid=c16979bc-e552-4a51-8763-a41d385589c8
> [INFO] [org.visit] Registering org.osgi.jmx.framework.FrameworkMBean to 
> MBeanServer com.sun.jmx.mbeanserver.JmxMBeanServer@82a72a with name 
> osgi.core:type=framework,version=1.7,framework=org.apache.felix.framework,uuid=c16979bc-e552-4a51-8763-a41d385589c8
> [INFO] [org.visit] Registering 
> org.osgi.jmx.service.cm.ConfigurationAdminMBean to MBeanServer 
> com.sun.jmx.mbeanserver.JmxMBeanServer@82a72a with name 
> osgi.compendium:service=cm,version=1.3,framework=org.apache.felix.framework,uuid=c16979bc-e552-4a51-8763-a41d385589c8
> [WARNING] [org.visit] MBean is already registered
> org.apache.felix.log.LogException: 
> javax.management.InstanceAlreadyExistsException: 
> osgi.compendium:service=cm,version=1.3,framework=org.apache.felix.framework,uuid=c16979bc-e552-4a51-8763-a41d385589c8
>       at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:437)
>       at 
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(DefaultMBeanServerInterceptor.java:1898)
>       at 
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:966)
>       at 
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:900)
>       at 
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:324)
>       at 
> com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522)
>       at org.apache.aries.jmx.agent.JMXAgentImpl.registerMBean(.:194)
>       at org.apache.aries.jmx.agent.JMXAgentContext.registerMBean(.:74)
>       at org.apache.aries.jmx.AbstractCompendiumHandler$1.run(.:91)
> {code}
> It seems that JMXAgentImpl is not keeping track on which server it has 
> registered which mbean instance so it tries to register already registered 
> beans again. With a small effort, the current mbeans handlers tracking table 
> could be changed to contain mbean servers instead of a simple flag indicating 
> whether mbean has been registered or not.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to