org.mule.module.management.agent
Class ClassloaderSwitchingMBeanWrapper
java.lang.Object
javax.management.StandardMBean
org.mule.module.management.agent.ClassloaderSwitchingMBeanWrapper
- All Implemented Interfaces:
- javax.management.DynamicMBean, javax.management.MBeanRegistration
public class ClassloaderSwitchingMBeanWrapper
- extends javax.management.StandardMBean
- implements javax.management.MBeanRegistration
Ensures any external jmx invocation (like e.g. remote) is executed with a correct application
classloader (otherwise a bootstrap classloader is used by default for platform mbean server). Note
the irony - extends StandardMBean, but StandardMBean is not your 'standard mbean', but rather a
special kind of the DynamicMBean which generates attributes/operations based on the passed in
interface (via reflection).
Methods inherited from class javax.management.StandardMBean |
cacheMBeanInfo, getAttribute, getAttributes, getCachedMBeanInfo, getClassName, getConstructors, getDescription, getDescription, getDescription, getDescription, getDescription, getDescription, getDescription, getImpact, getImplementation, getImplementationClass, getMBeanInfo, getMBeanInterface, getParameterName, getParameterName, setAttribute, setAttributes, setImplementation |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
logger
protected Log logger
ClassloaderSwitchingMBeanWrapper
public ClassloaderSwitchingMBeanWrapper(T implementation,
java.lang.Class<T> mbeanInterface,
java.lang.ClassLoader executionClassLoader)
throws javax.management.NotCompliantMBeanException
- Throws:
javax.management.NotCompliantMBeanException
invoke
public java.lang.Object invoke(java.lang.String actionName,
java.lang.Object[] params,
java.lang.String[] signature)
throws javax.management.MBeanException,
javax.management.ReflectionException
- Specified by:
invoke
in interface javax.management.DynamicMBean
- Overrides:
invoke
in class javax.management.StandardMBean
- Throws:
javax.management.MBeanException
javax.management.ReflectionException
getExecutionClassLoader
public java.lang.ClassLoader getExecutionClassLoader()
setExecutionClassLoader
public void setExecutionClassLoader(java.lang.ClassLoader executionClassLoader)
preRegister
public javax.management.ObjectName preRegister(javax.management.MBeanServer server,
javax.management.ObjectName name)
throws java.lang.Exception
- Specified by:
preRegister
in interface javax.management.MBeanRegistration
- Overrides:
preRegister
in class javax.management.StandardMBean
- Throws:
java.lang.Exception
postRegister
public void postRegister(java.lang.Boolean registrationDone)
- Specified by:
postRegister
in interface javax.management.MBeanRegistration
- Overrides:
postRegister
in class javax.management.StandardMBean
preDeregister
public void preDeregister()
throws java.lang.Exception
- Specified by:
preDeregister
in interface javax.management.MBeanRegistration
- Overrides:
preDeregister
in class javax.management.StandardMBean
- Throws:
java.lang.Exception
postDeregister
public void postDeregister()
- Specified by:
postDeregister
in interface javax.management.MBeanRegistration
- Overrides:
postDeregister
in class javax.management.StandardMBean
Copyright © 2003-2010 MuleSoft, Inc.. All Rights Reserved.