org.objectweb.cjdbc.controller.jmx
Class ChainedMBeanServer

java.lang.Object
  extended byorg.objectweb.cjdbc.controller.jmx.ChainedMBeanServer
All Implemented Interfaces:
javax.management.MBeanServer, javax.management.MBeanServerConnection
Direct Known Subclasses:
AuthenticatingMBeanServer

public class ChainedMBeanServer
extends java.lang.Object
implements javax.management.MBeanServer

Base class for chained MBeanServers. By default this class delegates all method calls to the nested MBeanServer. Subclass it to add behavior to one or more (or all) methods.

This class takes its origin in mx4j.server.ChainedMBeanServer

Version:
1.0
Author:
Marc Wick

Field Summary
private  javax.management.MBeanServer mbServer
           
 
Constructor Summary
ChainedMBeanServer()
          Creates a new ChainedMBeanServer that will delegate to an MBeanServer specified using setMBeanServer(javax.management.MBeanServer)
ChainedMBeanServer(javax.management.MBeanServer server)
          Creates a new ChainedMBeanServer that delegates to the specified MBeanServer.
 
Method Summary
 void addNotificationListener(javax.management.ObjectName observed, javax.management.NotificationListener listener, javax.management.NotificationFilter filter, java.lang.Object handback)
           
 void addNotificationListener(javax.management.ObjectName observed, javax.management.ObjectName listener, javax.management.NotificationFilter filter, java.lang.Object handback)
           
 javax.management.ObjectInstance createMBean(java.lang.String className, javax.management.ObjectName objectName)
           
 javax.management.ObjectInstance createMBean(java.lang.String className, javax.management.ObjectName objectName, java.lang.Object[] args, java.lang.String[] parameters)
           
 javax.management.ObjectInstance createMBean(java.lang.String className, javax.management.ObjectName objectName, javax.management.ObjectName loaderName)
           
 javax.management.ObjectInstance createMBean(java.lang.String className, javax.management.ObjectName objectName, javax.management.ObjectName loaderName, java.lang.Object[] args, java.lang.String[] parameters)
           
 java.io.ObjectInputStream deserialize(javax.management.ObjectName objectName, byte[] bytes)
           
 java.io.ObjectInputStream deserialize(java.lang.String className, byte[] bytes)
           
 java.io.ObjectInputStream deserialize(java.lang.String className, javax.management.ObjectName loaderName, byte[] bytes)
           
 java.lang.Object getAttribute(javax.management.ObjectName objectName, java.lang.String attribute)
           
 javax.management.AttributeList getAttributes(javax.management.ObjectName objectName, java.lang.String[] attributes)
           
 java.lang.ClassLoader getClassLoader(javax.management.ObjectName loaderName)
           
 java.lang.ClassLoader getClassLoaderFor(javax.management.ObjectName mbeanName)
           
 javax.management.loading.ClassLoaderRepository getClassLoaderRepository()
           
 java.lang.String getDefaultDomain()
           
 java.lang.String[] getDomains()
           
 java.lang.Integer getMBeanCount()
           
 javax.management.MBeanInfo getMBeanInfo(javax.management.ObjectName objectName)
           
protected  javax.management.MBeanServer getMBeanServer()
          Returns the nested MBeanServer
 javax.management.ObjectInstance getObjectInstance(javax.management.ObjectName objectName)
           
 java.lang.Object instantiate(java.lang.String className)
           
 java.lang.Object instantiate(java.lang.String className, java.lang.Object[] args, java.lang.String[] parameters)
           
 java.lang.Object instantiate(java.lang.String className, javax.management.ObjectName loaderName)
           
 java.lang.Object instantiate(java.lang.String className, javax.management.ObjectName loaderName, java.lang.Object[] args, java.lang.String[] parameters)
           
 java.lang.Object invoke(javax.management.ObjectName objectName, java.lang.String methodName, java.lang.Object[] args, java.lang.String[] parameters)
           
 boolean isInstanceOf(javax.management.ObjectName objectName, java.lang.String className)
           
 boolean isRegistered(javax.management.ObjectName objectname)
           
 java.util.Set queryMBeans(javax.management.ObjectName patternName, javax.management.QueryExp filter)
           
 java.util.Set queryNames(javax.management.ObjectName patternName, javax.management.QueryExp filter)
           
 javax.management.ObjectInstance registerMBean(java.lang.Object mbean, javax.management.ObjectName objectName)
           
 void removeNotificationListener(javax.management.ObjectName observed, javax.management.NotificationListener listener)
           
 void removeNotificationListener(javax.management.ObjectName observed, javax.management.NotificationListener listener, javax.management.NotificationFilter filter, java.lang.Object handback)
           
 void removeNotificationListener(javax.management.ObjectName observed, javax.management.ObjectName listener)
           
 void removeNotificationListener(javax.management.ObjectName observed, javax.management.ObjectName listener, javax.management.NotificationFilter filter, java.lang.Object handback)
           
 void setAttribute(javax.management.ObjectName objectName, javax.management.Attribute attribute)
           
 javax.management.AttributeList setAttributes(javax.management.ObjectName objectName, javax.management.AttributeList attributes)
           
protected  void setMBeanServer(javax.management.MBeanServer server)
           
 void unregisterMBean(javax.management.ObjectName objectName)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mbServer

private javax.management.MBeanServer mbServer
Constructor Detail

ChainedMBeanServer

public ChainedMBeanServer()
Creates a new ChainedMBeanServer that will delegate to an MBeanServer specified using setMBeanServer(javax.management.MBeanServer)


ChainedMBeanServer

public ChainedMBeanServer(javax.management.MBeanServer server)
Creates a new ChainedMBeanServer that delegates to the specified MBeanServer.

Parameters:
server - MBeanServer
Method Detail

getMBeanServer

protected javax.management.MBeanServer getMBeanServer()
Returns the nested MBeanServer


setMBeanServer

protected void setMBeanServer(javax.management.MBeanServer server)

addNotificationListener

public void addNotificationListener(javax.management.ObjectName observed,
                                    javax.management.NotificationListener listener,
                                    javax.management.NotificationFilter filter,
                                    java.lang.Object handback)
                             throws javax.management.InstanceNotFoundException
Specified by:
addNotificationListener in interface javax.management.MBeanServer
Throws:
javax.management.InstanceNotFoundException
See Also:
MBeanServerConnection.addNotificationListener(javax.management.ObjectName, javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)

addNotificationListener

public void addNotificationListener(javax.management.ObjectName observed,
                                    javax.management.ObjectName listener,
                                    javax.management.NotificationFilter filter,
                                    java.lang.Object handback)
                             throws javax.management.InstanceNotFoundException
Specified by:
addNotificationListener in interface javax.management.MBeanServer
Throws:
javax.management.InstanceNotFoundException
See Also:
MBeanServerConnection.addNotificationListener(javax.management.ObjectName, javax.management.ObjectName, javax.management.NotificationFilter, java.lang.Object)

createMBean

public javax.management.ObjectInstance createMBean(java.lang.String className,
                                                   javax.management.ObjectName objectName)
                                            throws javax.management.ReflectionException,
                                                   javax.management.InstanceAlreadyExistsException,
                                                   javax.management.MBeanRegistrationException,
                                                   javax.management.MBeanException,
                                                   javax.management.NotCompliantMBeanException
Specified by:
createMBean in interface javax.management.MBeanServer
Throws:
javax.management.ReflectionException
javax.management.InstanceAlreadyExistsException
javax.management.MBeanRegistrationException
javax.management.MBeanException
javax.management.NotCompliantMBeanException
See Also:
MBeanServerConnection.createMBean(java.lang.String, javax.management.ObjectName)

createMBean

public javax.management.ObjectInstance createMBean(java.lang.String className,
                                                   javax.management.ObjectName objectName,
                                                   java.lang.Object[] args,
                                                   java.lang.String[] parameters)
                                            throws javax.management.ReflectionException,
                                                   javax.management.InstanceAlreadyExistsException,
                                                   javax.management.MBeanRegistrationException,
                                                   javax.management.MBeanException,
                                                   javax.management.NotCompliantMBeanException
Specified by:
createMBean in interface javax.management.MBeanServer
Throws:
javax.management.ReflectionException
javax.management.InstanceAlreadyExistsException
javax.management.MBeanRegistrationException
javax.management.MBeanException
javax.management.NotCompliantMBeanException
See Also:
MBeanServerConnection.createMBean(java.lang.String, javax.management.ObjectName, java.lang.Object[], java.lang.String[])

createMBean

public javax.management.ObjectInstance createMBean(java.lang.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
Specified by:
createMBean in interface javax.management.MBeanServer
Throws:
javax.management.ReflectionException
javax.management.InstanceAlreadyExistsException
javax.management.MBeanRegistrationException
javax.management.MBeanException
javax.management.NotCompliantMBeanException
javax.management.InstanceNotFoundException
See Also:
MBeanServerConnection.createMBean(java.lang.String, javax.management.ObjectName, javax.management.ObjectName)

createMBean

public javax.management.ObjectInstance createMBean(java.lang.String className,
                                                   javax.management.ObjectName objectName,
                                                   javax.management.ObjectName loaderName,
                                                   java.lang.Object[] args,
                                                   java.lang.String[] parameters)
                                            throws javax.management.ReflectionException,
                                                   javax.management.InstanceAlreadyExistsException,
                                                   javax.management.MBeanRegistrationException,
                                                   javax.management.MBeanException,
                                                   javax.management.NotCompliantMBeanException,
                                                   javax.management.InstanceNotFoundException
Specified by:
createMBean in interface javax.management.MBeanServer
Throws:
javax.management.ReflectionException
javax.management.InstanceAlreadyExistsException
javax.management.MBeanRegistrationException
javax.management.MBeanException
javax.management.NotCompliantMBeanException
javax.management.InstanceNotFoundException
See Also:
MBeanServerConnection.createMBean(java.lang.String, javax.management.ObjectName, javax.management.ObjectName, java.lang.Object[], java.lang.String[])

deserialize

public java.io.ObjectInputStream deserialize(java.lang.String className,
                                             byte[] bytes)
                                      throws javax.management.OperationsException,
                                             javax.management.ReflectionException
Specified by:
deserialize in interface javax.management.MBeanServer
Throws:
javax.management.OperationsException
javax.management.ReflectionException
See Also:
MBeanServer.deserialize(java.lang.String, byte[])

deserialize

public java.io.ObjectInputStream deserialize(java.lang.String className,
                                             javax.management.ObjectName loaderName,
                                             byte[] bytes)
                                      throws javax.management.InstanceNotFoundException,
                                             javax.management.OperationsException,
                                             javax.management.ReflectionException
Specified by:
deserialize in interface javax.management.MBeanServer
Throws:
javax.management.InstanceNotFoundException
javax.management.OperationsException
javax.management.ReflectionException
See Also:
MBeanServer.deserialize(java.lang.String, javax.management.ObjectName, byte[])

deserialize

public java.io.ObjectInputStream deserialize(javax.management.ObjectName objectName,
                                             byte[] bytes)
                                      throws javax.management.InstanceNotFoundException,
                                             javax.management.OperationsException
Specified by:
deserialize in interface javax.management.MBeanServer
Throws:
javax.management.InstanceNotFoundException
javax.management.OperationsException
See Also:
MBeanServer.deserialize(javax.management.ObjectName, byte[])

getAttribute

public java.lang.Object getAttribute(javax.management.ObjectName objectName,
                                     java.lang.String attribute)
                              throws javax.management.MBeanException,
                                     javax.management.AttributeNotFoundException,
                                     javax.management.InstanceNotFoundException,
                                     javax.management.ReflectionException
Specified by:
getAttribute in interface javax.management.MBeanServer
Throws:
javax.management.MBeanException
javax.management.AttributeNotFoundException
javax.management.InstanceNotFoundException
javax.management.ReflectionException
See Also:
MBeanServerConnection.getAttribute(javax.management.ObjectName, java.lang.String)

getAttributes

public javax.management.AttributeList getAttributes(javax.management.ObjectName objectName,
                                                    java.lang.String[] attributes)
                                             throws javax.management.InstanceNotFoundException,
                                                    javax.management.ReflectionException
Specified by:
getAttributes in interface javax.management.MBeanServer
Throws:
javax.management.InstanceNotFoundException
javax.management.ReflectionException
See Also:
MBeanServerConnection.getAttributes(javax.management.ObjectName, java.lang.String[])

getDefaultDomain

public java.lang.String getDefaultDomain()
Specified by:
getDefaultDomain in interface javax.management.MBeanServer
See Also:
MBeanServerConnection.getDefaultDomain()

getDomains

public java.lang.String[] getDomains()
Specified by:
getDomains in interface javax.management.MBeanServer
See Also:
MBeanServerConnection.getDomains()

getMBeanCount

public java.lang.Integer getMBeanCount()
Specified by:
getMBeanCount in interface javax.management.MBeanServer
See Also:
MBeanServerConnection.getMBeanCount()

getMBeanInfo

public javax.management.MBeanInfo getMBeanInfo(javax.management.ObjectName objectName)
                                        throws javax.management.InstanceNotFoundException,
                                               javax.management.IntrospectionException,
                                               javax.management.ReflectionException
Specified by:
getMBeanInfo in interface javax.management.MBeanServer
Throws:
javax.management.InstanceNotFoundException
javax.management.IntrospectionException
javax.management.ReflectionException
See Also:
MBeanServerConnection.getMBeanInfo(javax.management.ObjectName)

getObjectInstance

public javax.management.ObjectInstance getObjectInstance(javax.management.ObjectName objectName)
                                                  throws javax.management.InstanceNotFoundException
Specified by:
getObjectInstance in interface javax.management.MBeanServer
Throws:
javax.management.InstanceNotFoundException
See Also:
MBeanServerConnection.getObjectInstance(javax.management.ObjectName)

instantiate

public java.lang.Object instantiate(java.lang.String className)
                             throws javax.management.ReflectionException,
                                    javax.management.MBeanException
Specified by:
instantiate in interface javax.management.MBeanServer
Throws:
javax.management.ReflectionException
javax.management.MBeanException
See Also:
MBeanServer.instantiate(java.lang.String)

instantiate

public java.lang.Object instantiate(java.lang.String className,
                                    java.lang.Object[] args,
                                    java.lang.String[] parameters)
                             throws javax.management.ReflectionException,
                                    javax.management.MBeanException
Specified by:
instantiate in interface javax.management.MBeanServer
Throws:
javax.management.ReflectionException
javax.management.MBeanException
See Also:
MBeanServer.instantiate(java.lang.String, java.lang.Object[], java.lang.String[])

instantiate

public java.lang.Object instantiate(java.lang.String className,
                                    javax.management.ObjectName loaderName)
                             throws javax.management.ReflectionException,
                                    javax.management.MBeanException,
                                    javax.management.InstanceNotFoundException
Specified by:
instantiate in interface javax.management.MBeanServer
Throws:
javax.management.ReflectionException
javax.management.MBeanException
javax.management.InstanceNotFoundException
See Also:
MBeanServer.instantiate(java.lang.String, javax.management.ObjectName)

instantiate

public java.lang.Object instantiate(java.lang.String className,
                                    javax.management.ObjectName loaderName,
                                    java.lang.Object[] args,
                                    java.lang.String[] parameters)
                             throws javax.management.ReflectionException,
                                    javax.management.MBeanException,
                                    javax.management.InstanceNotFoundException
Specified by:
instantiate in interface javax.management.MBeanServer
Throws:
javax.management.ReflectionException
javax.management.MBeanException
javax.management.InstanceNotFoundException
See Also:
MBeanServer.instantiate(java.lang.String, javax.management.ObjectName, java.lang.Object[], java.lang.String[])

invoke

public java.lang.Object invoke(javax.management.ObjectName objectName,
                               java.lang.String methodName,
                               java.lang.Object[] args,
                               java.lang.String[] parameters)
                        throws javax.management.InstanceNotFoundException,
                               javax.management.MBeanException,
                               javax.management.ReflectionException
Specified by:
invoke in interface javax.management.MBeanServer
Throws:
javax.management.InstanceNotFoundException
javax.management.MBeanException
javax.management.ReflectionException
See Also:
MBeanServerConnection.invoke(javax.management.ObjectName, java.lang.String, java.lang.Object[], java.lang.String[])

isInstanceOf

public boolean isInstanceOf(javax.management.ObjectName objectName,
                            java.lang.String className)
                     throws javax.management.InstanceNotFoundException
Specified by:
isInstanceOf in interface javax.management.MBeanServer
Throws:
javax.management.InstanceNotFoundException
See Also:
MBeanServerConnection.isInstanceOf(javax.management.ObjectName, java.lang.String)

isRegistered

public boolean isRegistered(javax.management.ObjectName objectname)
Specified by:
isRegistered in interface javax.management.MBeanServer
See Also:
MBeanServerConnection.isRegistered(javax.management.ObjectName)

queryMBeans

public java.util.Set queryMBeans(javax.management.ObjectName patternName,
                                 javax.management.QueryExp filter)
Specified by:
queryMBeans in interface javax.management.MBeanServer
See Also:
MBeanServerConnection.queryMBeans(javax.management.ObjectName, javax.management.QueryExp)

queryNames

public java.util.Set queryNames(javax.management.ObjectName patternName,
                                javax.management.QueryExp filter)
Specified by:
queryNames in interface javax.management.MBeanServer
See Also:
MBeanServerConnection.queryNames(javax.management.ObjectName, javax.management.QueryExp)

registerMBean

public javax.management.ObjectInstance registerMBean(java.lang.Object mbean,
                                                     javax.management.ObjectName objectName)
                                              throws javax.management.InstanceAlreadyExistsException,
                                                     javax.management.MBeanRegistrationException,
                                                     javax.management.NotCompliantMBeanException
Specified by:
registerMBean in interface javax.management.MBeanServer
Throws:
javax.management.InstanceAlreadyExistsException
javax.management.MBeanRegistrationException
javax.management.NotCompliantMBeanException
See Also:
MBeanServer.registerMBean(java.lang.Object, javax.management.ObjectName)

removeNotificationListener

public void removeNotificationListener(javax.management.ObjectName observed,
                                       javax.management.NotificationListener listener)
                                throws javax.management.InstanceNotFoundException,
                                       javax.management.ListenerNotFoundException
Specified by:
removeNotificationListener in interface javax.management.MBeanServer
Throws:
javax.management.InstanceNotFoundException
javax.management.ListenerNotFoundException
See Also:
MBeanServerConnection.removeNotificationListener(javax.management.ObjectName, javax.management.NotificationListener)

removeNotificationListener

public void removeNotificationListener(javax.management.ObjectName observed,
                                       javax.management.ObjectName listener)
                                throws javax.management.InstanceNotFoundException,
                                       javax.management.ListenerNotFoundException
Specified by:
removeNotificationListener in interface javax.management.MBeanServer
Throws:
javax.management.InstanceNotFoundException
javax.management.ListenerNotFoundException
See Also:
MBeanServerConnection.removeNotificationListener(javax.management.ObjectName, javax.management.ObjectName)

removeNotificationListener

public void removeNotificationListener(javax.management.ObjectName observed,
                                       javax.management.ObjectName listener,
                                       javax.management.NotificationFilter filter,
                                       java.lang.Object handback)
                                throws javax.management.InstanceNotFoundException,
                                       javax.management.ListenerNotFoundException
Specified by:
removeNotificationListener in interface javax.management.MBeanServer
Throws:
javax.management.InstanceNotFoundException
javax.management.ListenerNotFoundException
See Also:
MBeanServerConnection.removeNotificationListener(javax.management.ObjectName, javax.management.ObjectName, javax.management.NotificationFilter, java.lang.Object)

removeNotificationListener

public void removeNotificationListener(javax.management.ObjectName observed,
                                       javax.management.NotificationListener listener,
                                       javax.management.NotificationFilter filter,
                                       java.lang.Object handback)
                                throws javax.management.InstanceNotFoundException,
                                       javax.management.ListenerNotFoundException
Specified by:
removeNotificationListener in interface javax.management.MBeanServer
Throws:
javax.management.InstanceNotFoundException
javax.management.ListenerNotFoundException
See Also:
MBeanServerConnection.removeNotificationListener(javax.management.ObjectName, javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)

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
Specified by:
setAttribute in interface javax.management.MBeanServer
Throws:
javax.management.InstanceNotFoundException
javax.management.AttributeNotFoundException
javax.management.InvalidAttributeValueException
javax.management.MBeanException
javax.management.ReflectionException
See Also:
MBeanServerConnection.setAttribute(javax.management.ObjectName, javax.management.Attribute)

setAttributes

public javax.management.AttributeList setAttributes(javax.management.ObjectName objectName,
                                                    javax.management.AttributeList attributes)
                                             throws javax.management.InstanceNotFoundException,
                                                    javax.management.ReflectionException
Specified by:
setAttributes in interface javax.management.MBeanServer
Throws:
javax.management.InstanceNotFoundException
javax.management.ReflectionException
See Also:
MBeanServerConnection.setAttributes(javax.management.ObjectName, javax.management.AttributeList)

unregisterMBean

public void unregisterMBean(javax.management.ObjectName objectName)
                     throws javax.management.InstanceNotFoundException,
                            javax.management.MBeanRegistrationException
Specified by:
unregisterMBean in interface javax.management.MBeanServer
Throws:
javax.management.InstanceNotFoundException
javax.management.MBeanRegistrationException
See Also:
MBeanServerConnection.unregisterMBean(javax.management.ObjectName)

getClassLoaderFor

public java.lang.ClassLoader getClassLoaderFor(javax.management.ObjectName mbeanName)
                                        throws javax.management.InstanceNotFoundException
Specified by:
getClassLoaderFor in interface javax.management.MBeanServer
Throws:
javax.management.InstanceNotFoundException
See Also:
MBeanServer.getClassLoaderFor(javax.management.ObjectName)

getClassLoader

public java.lang.ClassLoader getClassLoader(javax.management.ObjectName loaderName)
                                     throws javax.management.InstanceNotFoundException
Specified by:
getClassLoader in interface javax.management.MBeanServer
Throws:
javax.management.InstanceNotFoundException
See Also:
MBeanServer.getClassLoader(javax.management.ObjectName)

getClassLoaderRepository

public javax.management.loading.ClassLoaderRepository getClassLoaderRepository()
Specified by:
getClassLoaderRepository in interface javax.management.MBeanServer
See Also:
MBeanServer.getClassLoaderRepository()


Copyright © 2002, 2005 - ObjectWeb Consortium - All Rights Reserved.