The MX4J MBeanServer implementation.
The MBeanServer accomplishes these roles:
- Returns information about the Agent
- Acts as a repository for MBeans
- Acts as an invoker, on behalf of the user, on MBeans
The repository function is delegated to instances of
MBeanRepository
classes.
This class acts as a factory for MBeanRepository instances, that can be controlled via the system property
MX4JSystemKeys.MX4J_MBEANSERVER_REPOSITORY
to the qualified name of the implementation class.
This class also acts as an invoker on MBeans. The architecture is interceptor-based, that is whenever you call
from a client an MBeanServer method that will end up to call the MBean instance, the call is dispatched to
the interceptor chain and eventually to the MBean.
The interceptors are configurable via the MBean
MBeanServerInterceptorConfigurator
.
When the call is about to arrive to the MBean instance, the last interceptor dispatches the call depending on
the MBean type: if the MBean is a dynamic MBean, the call is dispatched directly; if the MBean is a standard
MBean an
MBeanInvoker
is delegated to invoke on the MBean instance.
addNotificationListener
public void addNotificationListener(javax.management.ObjectName observed,
javax.management.NotificationListener listener,
javax.management.NotificationFilter filter,
Object handback)
throws javax.management.InstanceNotFoundException
- addNotificationListener in interface javax.management.MBeanServer
- addNotificationListener in interface javax.management.MBeanServerConnection
addNotificationListener
public void addNotificationListener(javax.management.ObjectName observed,
javax.management.ObjectName listener,
javax.management.NotificationFilter filter,
Object handback)
throws javax.management.InstanceNotFoundException
- addNotificationListener in interface javax.management.MBeanServer
- addNotificationListener in interface javax.management.MBeanServerConnection
createMBean
public javax.management.ObjectInstance createMBean(String className,
javax.management.ObjectName objectName)
throws javax.management.ReflectionException,
javax.management.InstanceAlreadyExistsException,
javax.management.MBeanRegistrationException,
javax.management.MBeanException,
javax.management.NotCompliantMBeanException
- createMBean in interface javax.management.MBeanServer
- createMBean in interface javax.management.MBeanServerConnection
createMBean
public javax.management.ObjectInstance createMBean(String className,
javax.management.ObjectName objectName,
Object[] args,
String[] parameters)
throws javax.management.ReflectionException,
javax.management.InstanceAlreadyExistsException,
javax.management.MBeanRegistrationException,
javax.management.MBeanException,
javax.management.NotCompliantMBeanException
- createMBean in interface javax.management.MBeanServer
- createMBean in interface javax.management.MBeanServerConnection
createMBean
public javax.management.ObjectInstance createMBean(String className,
javax.management.ObjectName objectName,
javax.management.ObjectName loaderName)
throws javax.management.ReflectionException,
javax.management.InstanceAlreadyExistsException,
javax.management.MBeanRegistrationException,
javax.management.MBeanException,
javax.management.NotCompliantMBeanException,
javax.management.InstanceNotFoundException
- createMBean in interface javax.management.MBeanServer
- createMBean in interface javax.management.MBeanServerConnection
createMBean
public javax.management.ObjectInstance createMBean(String className,
javax.management.ObjectName objectName,
javax.management.ObjectName loaderName,
Object[] args,
String[] parameters)
throws javax.management.ReflectionException,
javax.management.InstanceAlreadyExistsException,
javax.management.MBeanRegistrationException,
javax.management.MBeanException,
javax.management.NotCompliantMBeanException,
javax.management.InstanceNotFoundException
- createMBean in interface javax.management.MBeanServer
- createMBean in interface javax.management.MBeanServerConnection
deserialize
public ObjectInputStream deserialize(String className,
byte[] bytes)
throws javax.management.OperationsException,
javax.management.ReflectionException
- deserialize in interface javax.management.MBeanServer
deserialize
public ObjectInputStream deserialize(String className,
javax.management.ObjectName loaderName,
byte[] bytes)
throws javax.management.InstanceNotFoundException,
javax.management.OperationsException,
javax.management.ReflectionException
- deserialize in interface javax.management.MBeanServer
deserialize
public ObjectInputStream deserialize(javax.management.ObjectName objectName,
byte[] bytes)
throws javax.management.InstanceNotFoundException,
javax.management.OperationsException
- deserialize in interface javax.management.MBeanServer
getAttribute
public Object getAttribute(javax.management.ObjectName objectName,
String attribute)
throws javax.management.InstanceNotFoundException,
javax.management.MBeanException,
javax.management.AttributeNotFoundException,
javax.management.ReflectionException
- getAttribute in interface javax.management.MBeanServer
- getAttribute in interface javax.management.MBeanServerConnection
getAttributes
public javax.management.AttributeList getAttributes(javax.management.ObjectName objectName,
String[] attributes)
throws javax.management.InstanceNotFoundException,
javax.management.ReflectionException
- getAttributes in interface javax.management.MBeanServer
- getAttributes in interface javax.management.MBeanServerConnection
getClassLoader
public ClassLoader getClassLoader(javax.management.ObjectName name)
throws javax.management.InstanceNotFoundException
- getClassLoader in interface javax.management.MBeanServer
getClassLoaderFor
public ClassLoader getClassLoaderFor(javax.management.ObjectName name)
throws javax.management.InstanceNotFoundException
- getClassLoaderFor in interface javax.management.MBeanServer
getClassLoaderRepository
public javax.management.loading.ClassLoaderRepository getClassLoaderRepository()
- getClassLoaderRepository in interface javax.management.MBeanServer
getDefaultDomain
public String getDefaultDomain()
- getDefaultDomain in interface javax.management.MBeanServer
- getDefaultDomain in interface javax.management.MBeanServerConnection
getDomains
public String[] getDomains()
- getDomains in interface javax.management.MBeanServer
- getDomains in interface javax.management.MBeanServerConnection
getMBeanCount
public Integer getMBeanCount()
- getMBeanCount in interface javax.management.MBeanServer
- getMBeanCount in interface javax.management.MBeanServerConnection
getMBeanInfo
public javax.management.MBeanInfo getMBeanInfo(javax.management.ObjectName objectName)
throws javax.management.InstanceNotFoundException,
javax.management.IntrospectionException,
javax.management.ReflectionException
- getMBeanInfo in interface javax.management.MBeanServer
- getMBeanInfo in interface javax.management.MBeanServerConnection
getObjectInstance
public javax.management.ObjectInstance getObjectInstance(javax.management.ObjectName objectName)
throws javax.management.InstanceNotFoundException
- getObjectInstance in interface javax.management.MBeanServer
- getObjectInstance in interface javax.management.MBeanServerConnection
instantiate
public Object instantiate(String className)
throws javax.management.ReflectionException,
javax.management.MBeanException
- instantiate in interface javax.management.MBeanServer
instantiate
public Object instantiate(String className,
Object[] args,
String[] parameters)
throws javax.management.ReflectionException,
javax.management.MBeanException
- instantiate in interface javax.management.MBeanServer
instantiate
public Object instantiate(String className,
javax.management.ObjectName loaderName)
throws javax.management.ReflectionException,
javax.management.MBeanException,
javax.management.InstanceNotFoundException
- instantiate in interface javax.management.MBeanServer
instantiate
public Object instantiate(String className,
javax.management.ObjectName loaderName,
Object[] args,
String[] parameters)
throws javax.management.ReflectionException,
javax.management.MBeanException,
javax.management.InstanceNotFoundException
- instantiate in interface javax.management.MBeanServer
invoke
public Object invoke(javax.management.ObjectName objectName,
String methodName,
Object[] args,
String[] parameters)
throws javax.management.InstanceNotFoundException,
javax.management.MBeanException,
javax.management.ReflectionException
- invoke in interface javax.management.MBeanServer
- invoke in interface javax.management.MBeanServerConnection
isInstanceOf
public boolean isInstanceOf(javax.management.ObjectName objectName,
String className)
throws javax.management.InstanceNotFoundException
- isInstanceOf in interface javax.management.MBeanServer
- isInstanceOf in interface javax.management.MBeanServerConnection
isRegistered
public boolean isRegistered(javax.management.ObjectName objectName)
- isRegistered in interface javax.management.MBeanServer
- isRegistered in interface javax.management.MBeanServerConnection
queryMBeans
public Set queryMBeans(javax.management.ObjectName patternName,
javax.management.QueryExp filter)
- queryMBeans in interface javax.management.MBeanServer
- queryMBeans in interface javax.management.MBeanServerConnection
queryNames
public Set queryNames(javax.management.ObjectName patternName,
javax.management.QueryExp filter)
- queryNames in interface javax.management.MBeanServer
- queryNames in interface javax.management.MBeanServerConnection
registerMBean
public javax.management.ObjectInstance registerMBean(Object mbean,
javax.management.ObjectName objectName)
throws javax.management.InstanceAlreadyExistsException,
javax.management.MBeanRegistrationException,
javax.management.NotCompliantMBeanException
- registerMBean in interface javax.management.MBeanServer
removeNotificationListener
public void removeNotificationListener(javax.management.ObjectName observed,
javax.management.NotificationListener listener)
throws javax.management.InstanceNotFoundException,
javax.management.ListenerNotFoundException
- removeNotificationListener in interface javax.management.MBeanServer
- removeNotificationListener in interface javax.management.MBeanServerConnection
removeNotificationListener
public void removeNotificationListener(javax.management.ObjectName observed,
javax.management.NotificationListener listener,
javax.management.NotificationFilter filter,
Object handback)
throws javax.management.InstanceNotFoundException,
javax.management.ListenerNotFoundException
- removeNotificationListener in interface javax.management.MBeanServer
- removeNotificationListener in interface javax.management.MBeanServerConnection
removeNotificationListener
public void removeNotificationListener(javax.management.ObjectName observed,
javax.management.ObjectName listener)
throws javax.management.InstanceNotFoundException,
javax.management.ListenerNotFoundException
- removeNotificationListener in interface javax.management.MBeanServer
- removeNotificationListener in interface javax.management.MBeanServerConnection
removeNotificationListener
public void removeNotificationListener(javax.management.ObjectName observed,
javax.management.ObjectName listener,
javax.management.NotificationFilter filter,
Object handback)
throws javax.management.InstanceNotFoundException,
javax.management.ListenerNotFoundException
- removeNotificationListener in interface javax.management.MBeanServer
- removeNotificationListener in interface javax.management.MBeanServerConnection
setAttribute
public void setAttribute(javax.management.ObjectName objectName,
javax.management.Attribute attribute)
throws javax.management.InstanceNotFoundException,
javax.management.AttributeNotFoundException,
javax.management.InvalidAttributeValueException,
javax.management.MBeanException,
javax.management.ReflectionException
- setAttribute in interface javax.management.MBeanServer
- setAttribute in interface javax.management.MBeanServerConnection
setAttributes
public javax.management.AttributeList setAttributes(javax.management.ObjectName objectName,
javax.management.AttributeList attributes)
throws javax.management.InstanceNotFoundException,
javax.management.ReflectionException
- setAttributes in interface javax.management.MBeanServer
- setAttributes in interface javax.management.MBeanServerConnection
unregisterMBean
public void unregisterMBean(javax.management.ObjectName objectName)
throws javax.management.InstanceNotFoundException,
javax.management.MBeanRegistrationException
- unregisterMBean in interface javax.management.MBeanServer
- unregisterMBean in interface javax.management.MBeanServerConnection