Class ResourceDMBean

  • All Implemented Interfaces:
    javax.management.DynamicMBean

    public class ResourceDMBean
    extends java.lang.Object
    implements javax.management.DynamicMBean
    This class was entirely copied from JGroups 2.7 (same name there). Couldn't simply reuse it because JGroups does not ship with MBean, ManagedAttribute and ManagedOperation.

    The original JGroup's ResourceDMBean logic has been modified so that invoke() method checks whether the operation called has been exposed as a ManagedOperation, otherwise the call fails. JGroups deviated from this logic on purpose because they liked the fact that you could expose all class methods by simply annotating class with MBean annotation.

    Since:
    4.0
    Author:
    Mircea.Markus@jboss.com, Galder ZamarreƱo
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object getAttribute​(java.lang.String name)  
      javax.management.AttributeList getAttributes​(java.lang.String[] names)  
      javax.management.MBeanInfo getMBeanInfo()  
      java.lang.String getObjectName()  
      java.lang.Throwable getRootCause​(java.lang.Throwable throwable)  
      java.lang.Object invoke​(java.lang.String name, java.lang.Object[] args, java.lang.String[] sig)  
      void setAttribute​(javax.management.Attribute attribute)  
      javax.management.AttributeList setAttributes​(javax.management.AttributeList list)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ResourceDMBean

        public ResourceDMBean​(java.lang.Object instance,
                              ManageableComponentMetadata mBeanMetadata)
                       throws java.lang.NoSuchFieldException,
                              java.lang.ClassNotFoundException
        Throws:
        java.lang.NoSuchFieldException
        java.lang.ClassNotFoundException
      • ResourceDMBean

        public ResourceDMBean​(java.lang.Object instance,
                              ManageableComponentMetadata mBeanMetadata,
                              java.lang.String name)
                       throws java.lang.NoSuchFieldException,
                              java.lang.ClassNotFoundException
        Throws:
        java.lang.NoSuchFieldException
        java.lang.ClassNotFoundException
    • Method Detail

      • getMBeanInfo

        public javax.management.MBeanInfo getMBeanInfo()
        Specified by:
        getMBeanInfo in interface javax.management.DynamicMBean
      • getAttribute

        public java.lang.Object getAttribute​(java.lang.String name)
                                      throws javax.management.AttributeNotFoundException
        Specified by:
        getAttribute in interface javax.management.DynamicMBean
        Throws:
        javax.management.AttributeNotFoundException
      • setAttribute

        public void setAttribute​(javax.management.Attribute attribute)
                          throws javax.management.AttributeNotFoundException,
                                 javax.management.MBeanException
        Specified by:
        setAttribute in interface javax.management.DynamicMBean
        Throws:
        javax.management.AttributeNotFoundException
        javax.management.MBeanException
      • getAttributes

        public javax.management.AttributeList getAttributes​(java.lang.String[] names)
        Specified by:
        getAttributes in interface javax.management.DynamicMBean
      • setAttributes

        public javax.management.AttributeList setAttributes​(javax.management.AttributeList list)
        Specified by:
        setAttributes in interface javax.management.DynamicMBean
      • invoke

        public java.lang.Object invoke​(java.lang.String name,
                                       java.lang.Object[] args,
                                       java.lang.String[] sig)
                                throws javax.management.MBeanException,
                                       javax.management.ReflectionException
        Specified by:
        invoke in interface javax.management.DynamicMBean
        Throws:
        javax.management.MBeanException
        javax.management.ReflectionException
      • getRootCause

        public java.lang.Throwable getRootCause​(java.lang.Throwable throwable)
      • getObjectName

        public java.lang.String getObjectName()