Interface BulkAccess

  • All Superinterfaces:
    AMX_SPI, AMXProxy, Singleton, Utility

    @Taxonomy(stability=UNCOMMITTED)
    @AMXMBeanMetadata(singleton=true,
                      globalSingleton=true,
                      leaf=true)
    public interface BulkAccess
    extends AMXProxy, Singleton, Utility
    Bulk access to various JMX constructs. The term "bulk" refers to the fact the multiple MBeans are accessed together on the server side, to minimize remote invocation of many MBeans.

    Because a failure can occur with a particular MBeans, results or failures are communicated back in an array of the exact size of the original ObjectName[]. Examining the results array yields either the result, or a Throwable, if one occured. This is why all results are of type Object[].

    Clients wishing to use this interface should note that they may first need to obtain an ObjectName[] from a Set or Map of AMXProxy. The easiest way to do this is to use Util#toObjectNames followed by conversion of the Set to an ObjectName[].

    • Method Detail

      • bulkGetMBeanInfo

        @ManagedOperation
        Object[] bulkGetMBeanInfo​(ObjectName[] objectNames)
        Call getMBeanInfo() for multiple MBeans. For objectNames[ i ], results[ i ] will be the resulting MBeanInfo[], or contain a Throwable if something was thrown.
        Parameters:
        objectNames -
        Returns:
        Info[], one for each objectName, null if not found
      • bulkGetMBeanAttributeInfo

        @ManagedOperation
        Object[] bulkGetMBeanAttributeInfo​(ObjectName[] objectNames)
        Call getMBeanInfo().getAttributes() for multiple MBeans. For objectNames[ i ], results[ i ] will be the resulting MBeanAttributeInfo[], or contain a Throwable if something was thrown.
        Parameters:
        objectNames -
        Returns:
        AttributeInfo[][], one AttributeInfo[] for each objectName, null if not found
      • bulkGetMBeanOperationInfo

        @ManagedOperation
        Object[] bulkGetMBeanOperationInfo​(ObjectName[] objectNames)
        Call getMBeanInfo().getOperations() for multiple MBeans. For objectNames[ i ], results[ i ] will be the resulting MBeanOperationInfo[], or contain a Throwable if something was thrown.
        Parameters:
        objectNames -
        Returns:
        OperationInfo[][], one OperationInfo[] for each objectName, null if not found
      • bulkGetAttributeNames

        @ManagedOperation
        Object[] bulkGetAttributeNames​(ObjectName[] objectNames)
        Call getMBeanInfo().getAttributes() for multiple MBeans, then extracts the Attribute name from each Attribute. For objectNames[ i ], results[ i ] will be the resulting String[], consisting of all Attribute names for that MBean, or contain a Throwable if something was thrown.
        Parameters:
        objectNames -
        Returns:
        Object[][], one String[] for each objectName, null if not found, or a Throwable
      • bulkGetAttribute

        @ManagedOperation
        Object[] bulkGetAttribute​(ObjectName[] objectNames,
                                  String attributeName)
        Call getAttribute( attributeName ) for multiple MBeans. For objectNames[ i ], results[ i ] will be the resulting value, or contain a Throwable if something was thrown..
        Parameters:
        objectNames -
        attributeName -
        Returns:
        array of Object, which may be the Attribute value, or a Throwable
      • bulkSetAttribute

        @ManagedOperation
        Object[] bulkSetAttribute​(ObjectName[] objectNames,
                                  Attribute attr)
        Call setAttribute( attr ) for multiple MBeans. For objectNames[ i ], results[ i ] will be null if successful, or contain a Throwable if not.
        Parameters:
        objectNames -
        attr -
        Returns:
        array of Object, each is null or a Throwable
      • bulkGetAttributes

        @ManagedOperation
        Object[] bulkGetAttributes​(ObjectName[] objectNames,
                                   String[] attributeNames)
        Call getAttributes( attributeNames ) for multiple MBeans. For objectNames[ i ], results[ i ] will contain the resulting AttributeList, or a Throwable if unsuccessful.
        Returns:
        array of Object, which may be the AttributeList, or a Throwable
      • bulkInvoke

        @ManagedOperation
        Object[] bulkInvoke​(ObjectName[] objectNames,
                            String operationName,
                            Object[] args,
                            String[] types)
        Call invoke( ... ) for multiple MBeans. For objectNames[ i ], results[ i ] will be the result, or contain a Throwable if something was thrown..

        WARNING: No guarantee can be made that the MBeans being invoked will not alter their arguments, thus altering the parameters that subsequent MBeans receive when invoked.

        Parameters:
        objectNames -
        operationName -
        args -
        types -
        Returns:
        array of Object, which will be the result of the invoke, or a Throwable