org.picocontainer.gems.jmx
Class JMXExposed<T>
java.lang.Object
org.picocontainer.behaviors.AbstractBehavior<T>
org.picocontainer.gems.jmx.JMXExposed<T>
- All Implemented Interfaces:
- Serializable, Behavior<T>, ComponentAdapter<T>, ComponentLifecycle<T>, ComponentMonitorStrategy, LifecycleStrategy
public class JMXExposed<T>
- extends AbstractBehavior<T>
ComponentAdapter that is exposing a component as MBean in a MBeanServer.
- Author:
- Jörg Schaible
- See Also:
- Serialized Form
| Methods inherited from class org.picocontainer.behaviors.AbstractBehavior |
accept, changeMonitor, componentHasLifecycle, currentMonitor, dispose, findAdapterOfType, getComponentImplementation, getComponentInstance, getComponentKey, getDelegate, isLazy, isStarted, start, start, stop, stop, toString, verify |
JMXExposed
public JMXExposed(ComponentAdapter<T> delegate,
MBeanServer mBeanServer,
DynamicMBeanProvider[] providers)
throws NullPointerException
- Construct a JMXExposed behaviour
- Parameters:
delegate - The delegated ComponentAdapter.mBeanServer - The MBeanServer used for registering the MBean.providers - An array with providers for converting the component instance into a
DynamicMBean.
- Throws:
NullPointerException - Thrown if the MBeanServer or the array with the DynamicMBeanProvider
instances is null.
JMXExposed
public JMXExposed(ComponentAdapter<T> delegate,
MBeanServer mBeanServer)
throws NullPointerException
- Construct a JMXExposed behaviour. This instance uses a
DynamicMBeanComponentProvider as default to
register any component instance in the MBeanServer, that is already a
DynamicMBean.
- Parameters:
delegate - The delegated ComponentAdapter.mBeanServer - The MBeanServer used for registering the MBean.
- Throws:
NullPointerException - Thrown if the MBeanServer or the array with the DynamicMBeanProvider
instances is null.
getComponentInstance
public T getComponentInstance(PicoContainer container,
Type into)
throws PicoCompositionException
- Retrieve the component instance. The implementation will automatically register it in the
MBeanServer,
if a provider can return a DynamicMBean for it.
Note, that you will have to wrap this ComponentAdapter with a Cached to avoid
the registration of the same component again.
- Specified by:
getComponentInstance in interface ComponentAdapter<T>- Overrides:
getComponentInstance in class AbstractBehavior<T>
- Throws:
PicoCompositionException - Thrown by the delegate or if the registering of the
DynamicMBean in the MBeanServer fails.- See Also:
AbstractBehavior#getComponentInstance(org.picocontainer.PicoContainer, java.lang.Class)
getDescriptor
public String getDescriptor()
dispose
public void dispose(Object component)
- Specified by:
dispose in interface LifecycleStrategy- Overrides:
dispose in class AbstractBehavior<T>
hasLifecycle
public boolean hasLifecycle(Class<?> type)
- Specified by:
hasLifecycle in interface LifecycleStrategy- Overrides:
hasLifecycle in class AbstractBehavior<T>
Copyright © 2003-2010 Codehaus. All Rights Reserved.