[ 
https://issues.apache.org/jira/browse/ARIES-259?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12851623#action_12851623
 ] 

Adam Wojtuniak commented on ARIES-259:
--------------------------------------

patch submitted.

Answer to your question:
We decided to use SingleThreadExecutor for better management of MBeans 
lifecycle. Except framework services the rest is dynamic and
of course MBeanServer which is also registered as a service (for compendium 
services and MBean server we are using serviceTracker.). 
We are not treating MBeanServer as a static service. So we can't assume that 
MBean will be registered after jmx bundle is started. 
SingleThreadExecutor perfectly fit in that situation cause we can guarantee 
sequential order of  MBeans registration and unregistration.   

thanks,
Adam


> MBeans not getting unregistered reliably
> ----------------------------------------
>
>                 Key: ARIES-259
>                 URL: https://issues.apache.org/jira/browse/ARIES-259
>             Project: Aries
>          Issue Type: Bug
>          Components: JMX
>            Reporter: Thomas Diesler
>            Assignee: Adam Wojtuniak
>             Fix For: 0.1
>
>         Attachments: ARIES-259-20100318.patch
>
>
> Closing the MBeanServiceTracker asyncronously triggers 
> JMXAgent.unregisterBeans(MBeanServer server)
> If there is a unexpected exception while unregistering an MBeanHandler the 
> ones coming after it will not get unregitered.
> In particular I am seeing an unguarded postDeregister hook.
> Caused by: java.lang.IllegalStateException: Invalid BundleContext.
>       at 
> org.apache.felix.framework.BundleContextImpl.checkValidity(BundleContextImpl.java:393)
>       at 
> org.apache.felix.framework.BundleContextImpl.removeBundleListener(BundleContextImpl.java:170)
>       at 
> org.apache.aries.jmx.framework.BundleState.shutDownDispatcher(BundleState.java:353)
>       at 
> org.apache.aries.jmx.framework.BundleState.postDeregister(BundleState.java:293)
>       at 
> org.apache.aries.jmx.framework.RegistrableStandardEmitterMBean.postDeregister(RegistrableStandardEmitterMBean.java:69)
>       at 
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.postDeregisterInvoke(DefaultMBeanServerInterceptor.java:1065)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to