mx4j.server.interceptor
Class ContextClassLoaderMBeanServerInterceptor

java.lang.Object
  extended bymx4j.server.interceptor.DefaultMBeanServerInterceptor
      extended bymx4j.server.interceptor.ContextClassLoaderMBeanServerInterceptor
All Implemented Interfaces:
DefaultMBeanServerInterceptorMBean, MBeanServerInterceptor

public class ContextClassLoaderMBeanServerInterceptor
extends DefaultMBeanServerInterceptor

This interceptor sets the context class loader to the proper value for incoming calls. It saves the current context class loader, set the context class loader to be the MBean's class loader for the current call, and on return re-set the context class loader to the previous value

Version:
$Revision: 1.11 $

Field Summary
 
Fields inherited from interface mx4j.server.interceptor.MBeanServerInterceptor
POST_DEREGISTER, POST_REGISTER_FALSE, POST_REGISTER_TRUE, PRE_DEREGISTER, PRE_REGISTER
 
Constructor Summary
ContextClassLoaderMBeanServerInterceptor()
           
 
Method Summary
 void addNotificationListener(MBeanMetaData metadata, javax.management.NotificationListener listener, javax.management.NotificationFilter filter, java.lang.Object handback)
          Adds the given notification listener to the MBean, along with the given filter and handback
 java.lang.Object getAttribute(MBeanMetaData metadata, java.lang.String attribute)
          Gets the specified attribute value from the MBean instance.
 javax.management.AttributeList getAttributes(MBeanMetaData metadata, java.lang.String[] attributes)
          Gets the specified attributes values from the MBean instance.
 javax.management.MBeanInfo getMBeanInfo(MBeanMetaData metadata)
          Calls getMBeanInfo on the MBean instance (only on DynamicMBeans).
 java.lang.String getType()
          Returns the type of this interceptor
 void instantiate(MBeanMetaData metadata, java.lang.String className, java.lang.String[] params, java.lang.Object[] args)
          Instantiate the given className passing the given arguments to the constructor with the given signature
 java.lang.Object invoke(MBeanMetaData metadata, java.lang.String method, java.lang.String[] params, java.lang.Object[] args)
          Invokes the specified MBean operation on the MBean instance
 void registration(MBeanMetaData metadata, int operation)
          Calls the specified MBeanRegistration method on the MBean instance.
 void removeNotificationListener(MBeanMetaData metadata, javax.management.NotificationListener listener)
          Removes the given notification listener from the MBean.
 void removeNotificationListener(MBeanMetaData metadata, javax.management.NotificationListener listener, javax.management.NotificationFilter filter, java.lang.Object handback)
          Removes the given notification listener from the MBean, specified by the given filter and handback.
 void setAttribute(MBeanMetaData metadata, javax.management.Attribute attribute)
          Sets the specified attribute value on the MBean instance.
 javax.management.AttributeList setAttributes(MBeanMetaData metadata, javax.management.AttributeList attributes)
          Sets the specified attributes values on the MBean instance.
 
Methods inherited from class mx4j.server.interceptor.DefaultMBeanServerInterceptor
getLogger, getNext, isEnabled, setChain, setEnabled
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ContextClassLoaderMBeanServerInterceptor

public ContextClassLoaderMBeanServerInterceptor()
Method Detail

getType

public java.lang.String getType()
Description copied from class: DefaultMBeanServerInterceptor
Returns the type of this interceptor

Specified by:
getType in interface MBeanServerInterceptor
Specified by:
getType in class DefaultMBeanServerInterceptor

addNotificationListener

public void addNotificationListener(MBeanMetaData metadata,
                                    javax.management.NotificationListener listener,
                                    javax.management.NotificationFilter filter,
                                    java.lang.Object handback)
Description copied from interface: MBeanServerInterceptor
Adds the given notification listener to the MBean, along with the given filter and handback

Specified by:
addNotificationListener in interface MBeanServerInterceptor
Overrides:
addNotificationListener in class DefaultMBeanServerInterceptor

removeNotificationListener

public void removeNotificationListener(MBeanMetaData metadata,
                                       javax.management.NotificationListener listener)
                                throws javax.management.ListenerNotFoundException
Description copied from interface: MBeanServerInterceptor
Removes the given notification listener from the MBean.

Specified by:
removeNotificationListener in interface MBeanServerInterceptor
Overrides:
removeNotificationListener in class DefaultMBeanServerInterceptor
Throws:
javax.management.ListenerNotFoundException

removeNotificationListener

public void removeNotificationListener(MBeanMetaData metadata,
                                       javax.management.NotificationListener listener,
                                       javax.management.NotificationFilter filter,
                                       java.lang.Object handback)
                                throws javax.management.ListenerNotFoundException
Description copied from interface: MBeanServerInterceptor
Removes the given notification listener from the MBean, specified by the given filter and handback.

Specified by:
removeNotificationListener in interface MBeanServerInterceptor
Overrides:
removeNotificationListener in class DefaultMBeanServerInterceptor
Throws:
javax.management.ListenerNotFoundException

instantiate

public void instantiate(MBeanMetaData metadata,
                        java.lang.String className,
                        java.lang.String[] params,
                        java.lang.Object[] args)
                 throws javax.management.ReflectionException,
                        javax.management.MBeanException
Description copied from interface: MBeanServerInterceptor
Instantiate the given className passing the given arguments to the constructor with the given signature

Specified by:
instantiate in interface MBeanServerInterceptor
Overrides:
instantiate in class DefaultMBeanServerInterceptor
Throws:
javax.management.ReflectionException
javax.management.MBeanException

registration

public void registration(MBeanMetaData metadata,
                         int operation)
                  throws javax.management.MBeanRegistrationException
Description copied from interface: MBeanServerInterceptor
Calls the specified MBeanRegistration method on the MBean instance.

Specified by:
registration in interface MBeanServerInterceptor
Overrides:
registration in class DefaultMBeanServerInterceptor
Throws:
javax.management.MBeanRegistrationException

getMBeanInfo

public javax.management.MBeanInfo getMBeanInfo(MBeanMetaData metadata)
Description copied from interface: MBeanServerInterceptor
Calls getMBeanInfo on the MBean instance (only on DynamicMBeans).

Specified by:
getMBeanInfo in interface MBeanServerInterceptor
Overrides:
getMBeanInfo in class DefaultMBeanServerInterceptor

invoke

public java.lang.Object invoke(MBeanMetaData metadata,
                               java.lang.String method,
                               java.lang.String[] params,
                               java.lang.Object[] args)
                        throws javax.management.MBeanException,
                               javax.management.ReflectionException
Description copied from interface: MBeanServerInterceptor
Invokes the specified MBean operation on the MBean instance

Specified by:
invoke in interface MBeanServerInterceptor
Overrides:
invoke in class DefaultMBeanServerInterceptor
Throws:
javax.management.MBeanException
javax.management.ReflectionException

getAttributes

public javax.management.AttributeList getAttributes(MBeanMetaData metadata,
                                                    java.lang.String[] attributes)
Description copied from interface: MBeanServerInterceptor
Gets the specified attributes values from the MBean instance.

Specified by:
getAttributes in interface MBeanServerInterceptor
Overrides:
getAttributes in class DefaultMBeanServerInterceptor

setAttributes

public javax.management.AttributeList setAttributes(MBeanMetaData metadata,
                                                    javax.management.AttributeList attributes)
Description copied from interface: MBeanServerInterceptor
Sets the specified attributes values on the MBean instance.

Specified by:
setAttributes in interface MBeanServerInterceptor
Overrides:
setAttributes in class DefaultMBeanServerInterceptor

getAttribute

public java.lang.Object getAttribute(MBeanMetaData metadata,
                                     java.lang.String attribute)
                              throws javax.management.MBeanException,
                                     javax.management.AttributeNotFoundException,
                                     javax.management.ReflectionException
Description copied from interface: MBeanServerInterceptor
Gets the specified attribute value from the MBean instance.

Specified by:
getAttribute in interface MBeanServerInterceptor
Overrides:
getAttribute in class DefaultMBeanServerInterceptor
Throws:
javax.management.MBeanException
javax.management.AttributeNotFoundException
javax.management.ReflectionException

setAttribute

public void setAttribute(MBeanMetaData metadata,
                         javax.management.Attribute attribute)
                  throws javax.management.MBeanException,
                         javax.management.AttributeNotFoundException,
                         javax.management.InvalidAttributeValueException,
                         javax.management.ReflectionException
Description copied from interface: MBeanServerInterceptor
Sets the specified attribute value on the MBean instance.

Specified by:
setAttribute in interface MBeanServerInterceptor
Overrides:
setAttribute in class DefaultMBeanServerInterceptor
Throws:
javax.management.MBeanException
javax.management.AttributeNotFoundException
javax.management.InvalidAttributeValueException
javax.management.ReflectionException


Copyright © 2001-2005 The MX4J Contributors. All Rights Reserved.