groovy.jmx.builder
Class JmxBuilderModelMBean

java.lang.Object
  extended by javax.management.modelmbean.RequiredModelMBean
      extended by groovy.jmx.builder.JmxBuilderModelMBean
All Implemented Interfaces:
java.util.EventListener, javax.management.DynamicMBean, javax.management.MBeanRegistration, javax.management.modelmbean.ModelMBean, javax.management.modelmbean.ModelMBeanNotificationBroadcaster, javax.management.NotificationBroadcaster, javax.management.NotificationEmitter, javax.management.NotificationListener, javax.management.PersistentMBean

public class JmxBuilderModelMBean
extends javax.management.modelmbean.RequiredModelMBean
implements javax.management.NotificationListener

The JmxBuilderModelMBean is the MBean class that proxies exported POGO/POJO inside the MBeanServer. When JmxBuilder exports an object instance, an instance of this class is created and exported inside the MBeanServer.


Constructor Summary
JmxBuilderModelMBean()
           
JmxBuilderModelMBean(javax.management.modelmbean.ModelMBeanInfo mbi)
           
JmxBuilderModelMBean(java.lang.Object objectRef)
           
 
Method Summary
 void addEventListeners(javax.management.MBeanServer server, java.util.Map<java.lang.String,java.util.Map> descriptor)
          Sets up event listeners for this MBean as described in the descriptor.
 void addOperationCallListeners(java.util.Map<java.lang.String,java.util.Map> descriptor)
          Registers listeners for operation calls (i.e. method, getter, and setter calls) when invoked on this bean from the MBeanServer.
 void handleNotification(javax.management.Notification note, java.lang.Object handback)
           
 java.lang.Object invoke(java.lang.String opName, java.lang.Object[] opArgs, java.lang.String[] signature)
           
 void setManagedResource(java.lang.Object obj)
           
 
Methods inherited from class javax.management.modelmbean.RequiredModelMBean
addAttributeChangeNotificationListener, addNotificationListener, getAttribute, getAttributes, getClassLoaderRepository, getMBeanInfo, getNotificationInfo, load, postDeregister, postRegister, preDeregister, preRegister, removeAttributeChangeNotificationListener, removeNotificationListener, removeNotificationListener, sendAttributeChangeNotification, sendAttributeChangeNotification, sendNotification, sendNotification, setAttribute, setAttributes, setManagedResource, setModelMBeanInfo, store
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JmxBuilderModelMBean

public JmxBuilderModelMBean(java.lang.Object objectRef)
                     throws javax.management.MBeanException,
                            javax.management.RuntimeOperationsException,
                            javax.management.InstanceNotFoundException,
                            javax.management.modelmbean.InvalidTargetObjectTypeException
Throws:
javax.management.MBeanException
javax.management.RuntimeOperationsException
javax.management.InstanceNotFoundException
javax.management.modelmbean.InvalidTargetObjectTypeException

JmxBuilderModelMBean

public JmxBuilderModelMBean()
                     throws javax.management.MBeanException,
                            javax.management.RuntimeOperationsException
Throws:
javax.management.MBeanException
javax.management.RuntimeOperationsException

JmxBuilderModelMBean

public JmxBuilderModelMBean(javax.management.modelmbean.ModelMBeanInfo mbi)
                     throws javax.management.MBeanException,
                            javax.management.RuntimeOperationsException
Throws:
javax.management.MBeanException
javax.management.RuntimeOperationsException
Method Detail

setManagedResource

public void setManagedResource(java.lang.Object obj)

addOperationCallListeners

public void addOperationCallListeners(java.util.Map<java.lang.String,java.util.Map> descriptor)
Registers listeners for operation calls (i.e. method, getter, and setter calls) when invoked on this bean from the MBeanServer. Descriptor should contain a map with layout item -> [Map[methodListener:[target:"", tpe:"", callback:&Closure], ... ,]]

Parameters:
descriptor - MetaMap descriptor containing description of operation call listeners

addEventListeners

public void addEventListeners(javax.management.MBeanServer server,
                              java.util.Map<java.lang.String,java.util.Map> descriptor)
Sets up event listeners for this MBean as described in the descriptor. The descriptor contains a map with layout {item -> Map[event:"...", from:ObjectName, callback:&Closure],...,}

Parameters:
server - the MBeanServer is to be registered.
descriptor - a map containing info about the event

invoke

public java.lang.Object invoke(java.lang.String opName,
                               java.lang.Object[] opArgs,
                               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.modelmbean.RequiredModelMBean
Throws:
javax.management.MBeanException
javax.management.ReflectionException

handleNotification

public void handleNotification(javax.management.Notification note,
                               java.lang.Object handback)
Specified by:
handleNotification in interface javax.management.NotificationListener