[
https://issues.apache.org/activemq/browse/SM-2012?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=63418#action_63418
]
Gert Vanthienen commented on SM-2012:
-------------------------------------
Kurt,
I think this might already be fixed in the latest SNAPSHOT version - cfr.
http://svn.apache.org/viewvc?view=revision&revision=1021877
Regards,
Gert
> JBI Cannot Register MBeans through NMR ManagementAgent
> ------------------------------------------------------
>
> Key: SM-2012
> URL: https://issues.apache.org/activemq/browse/SM-2012
> Project: ServiceMix
> Issue Type: Bug
> Components: servicemix-jbi
> Environment: Fuse 4.3
> Reporter: Kurt Westerfeld
>
> We are trying to use the Apache ODE MBeans which are registered through the
> JBI SMX infrastructure. The border between ODE and SMX/JBI occurs through
> org.apache.servicemix.jbi.runtime.impl.MBeanServerWrapper.
> This class passes along a bean and objectname, which is supposed to register
> the mbean. Instead, it silently fails to do so. Our application needs to
> access the PMAPI ODE APIs, which are published through JMX (as well as a JBI
> endpoint, but that's another story involving java.lang.LinkageError: loader
> constraint violation internal to ODE--which seems the harder of the two
> problems to solve).
> In stepping through the sources in the debugger, the culprit seems to be the
> getTypeSpecificManagedObject() method within nmr's
> org.apache.servicemix.nmr.management.ManagementAgent, which seems to be the
> delegation target for all JBI MBean registrations.
> The issue is, the object passed into "manageNamedObject()", which passes
> object and object name, and subsequently gets filtered out through the call
> to getTypeSpecificManagedObject, which returns null.
> This same code (ie. Apache ODE) manages to register the mbean just fine on
> smx 3, and we have APIs that depend on this API being available over the NMR
> or JMX.
> Why does this method return null if there's no impl of
> ManagedEndpoint/Nameable, and is the only endpoint for MBean registration?
> protected Object getTypeSpecificManagedObject(Object object) throws
> NotCompliantMBeanException {
> return object instanceof ManagedEndpoint
> ? object
> : object instanceof Nameable
> ? new StandardMBean(object,
> ((Nameable)object).getPrimaryInterface())
> : null;
> }
> It seems like the the JBI-->JMX bridge is completely broken. The context
> supplied by JBI CompentContext.getMBeanServer() will not register MBeans on
> smx4. It just so happens that Apache ODE depends on ComponentContext being
> the source for its MBeanServer.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.