## mx4j.remote.rmi
Class RMIConnectionInvoker

    java.lang.Object
      mx4j.remote.rmi.RMIConnectionInvoker

All Implemented Interfaces:
  java.rmi.Remote, javax.management.remote.rmi.RMIConnection

public class RMIConnectionInvoker
extends java.lang.Object
implements javax.management.remote.rmi.RMIConnection

An RMIConnection that "converts" remote calls to `MBeanServer` calls, performing unwrapping of parameters and/or the needed actions.

Version:
  $Revision: 1.12 $
See Also:
  `ClientInvoker`

Constructor Summary
`RMIConnectionInvoker(javax.management.MBeanServer server, java.lang.ClassLoader defaultLoader, java.util.Map environment)`

Method Summary
`void` `addNotificationListener(javax.management.ObjectName name, javax.management.ObjectName listener, java.rmi.MarshalledObject filter, java.rmi.MarshalledObject handback, javax.security.auth.Subject delegate)`
`java.lang.Integer[]` `addNotificationListeners(javax.management.ObjectName[] names, java.rmi.MarshalledObject[] filters, javax.security.auth.Subject[] delegates)`
`void` `close()`
`javax.management.ObjectInstance` `createMBean(java.lang.String className, javax.management.ObjectName name, java.rmi.MarshalledObject params, java.lang.String[] signature, javax.security.auth.Subject delegate)`
`javax.management.ObjectInstance` `createMBean(java.lang.String className, javax.management.ObjectName name, javax.management.ObjectName loaderName, java.rmi.MarshalledObject params, java.lang.String[] signature, javax.security.auth.Subject delegate)`
`javax.management.ObjectInstance` `createMBean(java.lang.String className, javax.management.ObjectName name, javax.management.ObjectName loaderName, javax.security.auth.Subject delegate)`
`javax.management.ObjectInstance` `createMBean(java.lang.String className, javax.management.ObjectName name, javax.security.auth.Subject delegate)`
`javax.management.remote.NotificationResult` `fetchNotifications(long clientSequenceNumber, int maxNotifications, long timeout)`
`java.lang.Object` `getAttribute(javax.management.ObjectName name, java.lang.String attribute, javax.security.auth.Subject delegate)`
`javax.management.AttributeList` `getAttributes(javax.management.ObjectName name, java.lang.String[] attributes, javax.security.auth.Subject delegate)`
`java.lang.String` `getConnectionId()`
`java.lang.String` `getDefaultDomain(javax.security.auth.Subject delegate)`
`java.lang.String[]` `getDomains(javax.security.auth.Subject delegate)`
`java.lang.Integer` `getMBeanCount(javax.security.auth.Subject delegate)`
`javax.management.MBeanInfo` `getMBeanInfo(javax.management.ObjectName name, javax.security.auth.Subject delegate)`
`javax.management.ObjectInstance` `getObjectInstance(javax.management.ObjectName name, javax.security.auth.Subject delegate)`
`java.lang.Object` `invoke(javax.management.ObjectName name, java.lang.String operationName, java.rmi.MarshalledObject params, java.lang.String[] signature, javax.security.auth.Subject delegate)`
`boolean` `isInstanceOf(javax.management.ObjectName name, java.lang.String className, javax.security.auth.Subject delegate)`
`boolean` `isRegistered(javax.management.ObjectName name, javax.security.auth.Subject delegate)`
`java.util.Set` `queryMBeans(javax.management.ObjectName name, java.rmi.MarshalledObject query, javax.security.auth.Subject delegate)`
`java.util.Set` `queryNames(javax.management.ObjectName name, java.rmi.MarshalledObject query, javax.security.auth.Subject delegate)`
`void` `removeNotificationListener(javax.management.ObjectName name, javax.management.ObjectName listener, java.rmi.MarshalledObject filter, java.rmi.MarshalledObject handback, javax.security.auth.Subject delegate)`
`void` `removeNotificationListener(javax.management.ObjectName name, javax.management.ObjectName listener, javax.security.auth.Subject delegate)`
`void` `removeNotificationListeners(javax.management.ObjectName name, java.lang.Integer[] listenerIDs, javax.security.auth.Subject delegate)`
`void` `setAttribute(javax.management.ObjectName name, java.rmi.MarshalledObject attribute, javax.security.auth.Subject delegate)`
`javax.management.AttributeList` `setAttributes(javax.management.ObjectName name, java.rmi.MarshalledObject attributes, javax.security.auth.Subject delegate)`
`void` `unregisterMBean(javax.management.ObjectName name, javax.security.auth.Subject delegate)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### RMIConnectionInvoker

    public RMIConnectionInvoker(javax.management.MBeanServer server,
                                java.lang.ClassLoader defaultLoader,
                                java.util.Map environment)

Method Detail

### getConnectionId

    public java.lang.String getConnectionId()
                                     throws java.io.IOException

  Specified by:
    `getConnectionId` in interface `javax.management.remote.rmi.RMIConnection`
  Throws:
    `java.io.IOException`

### createMBean

    public javax.management.ObjectInstance createMBean(java.lang.String className,
                                                       javax.management.ObjectName name,
                                                       javax.security.auth.Subject delegate)
                                                throws javax.management.ReflectionException,
                                                       javax.management.InstanceAlreadyExistsException,
                                                       javax.management.MBeanRegistrationException,
                                                       javax.management.MBeanException,
                                                       javax.management.NotCompliantMBeanException,
                                                       java.io.IOException

  Specified by:
    `createMBean` in interface `javax.management.remote.rmi.RMIConnection`
  Throws:
    `javax.management.ReflectionException`
    `javax.management.InstanceAlreadyExistsException`
    `javax.management.MBeanRegistrationException`
    `javax.management.MBeanException`
    `javax.management.NotCompliantMBeanException`
    `java.io.IOException`

### createMBean

    public javax.management.ObjectInstance createMBean(java.lang.String className,
                                                       javax.management.ObjectName name,
                                                       javax.management.ObjectName loaderName,
                                                       javax.security.auth.Subject delegate)
                                                throws javax.management.ReflectionException,
                                                       javax.management.InstanceAlreadyExistsException,
                                                       javax.management.MBeanRegistrationException,
                                                       javax.management.MBeanException,
                                                       javax.management.NotCompliantMBeanException,
                                                       javax.management.InstanceNotFoundException,
                                                       java.io.IOException

  Specified by:
    `createMBean` in interface `javax.management.remote.rmi.RMIConnection`
  Throws:
    `javax.management.ReflectionException`
    `javax.management.InstanceAlreadyExistsException`
    `javax.management.MBeanRegistrationException`
    `javax.management.MBeanException`
    `javax.management.NotCompliantMBeanException`
    `javax.management.InstanceNotFoundException`
    `java.io.IOException`

### createMBean

    public javax.management.ObjectInstance createMBean(java.lang.String className,
                                                       javax.management.ObjectName name,
                                                       java.rmi.MarshalledObject params,
                                                       java.lang.String[] signature,
                                                       javax.security.auth.Subject delegate)
                                                throws javax.management.ReflectionException,
                                                       javax.management.InstanceAlreadyExistsException,
                                                       javax.management.MBeanRegistrationException,
                                                       javax.management.MBeanException,
                                                       javax.management.NotCompliantMBeanException,
                                                       java.io.IOException

  Specified by:
    `createMBean` in interface `javax.management.remote.rmi.RMIConnection`
  Throws:
    `javax.management.ReflectionException`
    `javax.management.InstanceAlreadyExistsException`
    `javax.management.MBeanRegistrationException`
    `javax.management.MBeanException`
    `javax.management.NotCompliantMBeanException`
    `java.io.IOException`

### createMBean

    public javax.management.ObjectInstance createMBean(java.lang.String className,
                                                       javax.management.ObjectName name,
                                                       javax.management.ObjectName loaderName,
                                                       java.rmi.MarshalledObject params,
                                                       java.lang.String[] signature,
                                                       javax.security.auth.Subject delegate)
                                                throws javax.management.ReflectionException,
                                                       javax.management.InstanceAlreadyExistsException,
                                                       javax.management.MBeanRegistrationException,
                                                       javax.management.MBeanException,
                                                       javax.management.NotCompliantMBeanException,
                                                       javax.management.InstanceNotFoundException,
                                                       java.io.IOException

  Specified by:
    `createMBean` in interface `javax.management.remote.rmi.RMIConnection`
  Throws:
    `javax.management.ReflectionException`
    `javax.management.InstanceAlreadyExistsException`
    `javax.management.MBeanRegistrationException`
    `javax.management.MBeanException`
    `javax.management.NotCompliantMBeanException`
    `javax.management.InstanceNotFoundException`
    `java.io.IOException`

### unregisterMBean

    public void unregisterMBean(javax.management.ObjectName name,
                                javax.security.auth.Subject delegate)
                         throws javax.management.InstanceNotFoundException,
                                javax.management.MBeanRegistrationException,
                                java.io.IOException

  Specified by:
    `unregisterMBean` in interface `javax.management.remote.rmi.RMIConnection`
  Throws:
    `javax.management.InstanceNotFoundException`
    `javax.management.MBeanRegistrationException`
    `java.io.IOException`

### getObjectInstance

    public javax.management.ObjectInstance getObjectInstance(javax.management.ObjectName name,
                                                             javax.security.auth.Subject delegate)
                                                      throws javax.management.InstanceNotFoundException,
                                                             java.io.IOException

  Specified by:
    `getObjectInstance` in interface `javax.management.remote.rmi.RMIConnection`
  Throws:
    `javax.management.InstanceNotFoundException`
    `java.io.IOException`

### queryMBeans

    public java.util.Set queryMBeans(javax.management.ObjectName name,
                                     java.rmi.MarshalledObject query,
                                     javax.security.auth.Subject delegate)
                              throws java.io.IOException

  Specified by:
    `queryMBeans` in interface `javax.management.remote.rmi.RMIConnection`
  Throws:
    `java.io.IOException`

### queryNames

    public java.util.Set queryNames(javax.management.ObjectName name,
                                    java.rmi.MarshalledObject query,
                                    javax.security.auth.Subject delegate)
                             throws java.io.IOException

  Specified by:
    `queryNames` in interface `javax.management.remote.rmi.RMIConnection`
  Throws:
    `java.io.IOException`

### isRegistered

    public boolean isRegistered(javax.management.ObjectName name,
                                javax.security.auth.Subject delegate)
                         throws java.io.IOException

  Specified by:
    `isRegistered` in interface `javax.management.remote.rmi.RMIConnection`
  Throws:
    `java.io.IOException`

### getMBeanCount

    public java.lang.Integer getMBeanCount(javax.security.auth.Subject delegate)
                                    throws java.io.IOException

  Specified by:
    `getMBeanCount` in interface `javax.management.remote.rmi.RMIConnection`
  Throws:
    `java.io.IOException`

### getAttribute

    public java.lang.Object getAttribute(javax.management.ObjectName name,
                                         java.lang.String attribute,
                                         javax.security.auth.Subject delegate)
                                  throws javax.management.MBeanException,
                                         javax.management.AttributeNotFoundException,
                                         javax.management.InstanceNotFoundException,
                                         javax.management.ReflectionException,
                                         java.io.IOException

  Specified by:
    `getAttribute` in interface `javax.management.remote.rmi.RMIConnection`
  Throws:
    `javax.management.MBeanException`
    `javax.management.AttributeNotFoundException`
    `javax.management.InstanceNotFoundException`
    `javax.management.ReflectionException`
    `java.io.IOException`

### getAttributes

    public javax.management.AttributeList getAttributes(javax.management.ObjectName name,
                                                        java.lang.String[] attributes,
                                                        javax.security.auth.Subject delegate)
                                                 throws javax.management.InstanceNotFoundException,
                                                        javax.management.ReflectionException,
                                                        java.io.IOException

  Specified by:
    `getAttributes` in interface `javax.management.remote.rmi.RMIConnection`
  Throws:
    `javax.management.InstanceNotFoundException`
    `javax.management.ReflectionException`
    `java.io.IOException`

### setAttribute

    public void setAttribute(javax.management.ObjectName name,
                             java.rmi.MarshalledObject attribute,
                             javax.security.auth.Subject delegate)
                      throws javax.management.InstanceNotFoundException,
                             javax.management.AttributeNotFoundException,
                             javax.management.InvalidAttributeValueException,
                             javax.management.MBeanException,
                             javax.management.ReflectionException,
                             java.io.IOException

  Specified by:
    `setAttribute` in interface `javax.management.remote.rmi.RMIConnection`
  Throws:
    `javax.management.InstanceNotFoundException`
    `javax.management.AttributeNotFoundException`
    `javax.management.InvalidAttributeValueException`
    `javax.management.MBeanException`
    `javax.management.ReflectionException`
    `java.io.IOException`

### setAttributes

    public javax.management.AttributeList setAttributes(javax.management.ObjectName name,
                                                        java.rmi.MarshalledObject attributes,
                                                        javax.security.auth.Subject delegate)
                                                 throws javax.management.InstanceNotFoundException,
                                                        javax.management.ReflectionException,
                                                        java.io.IOException

  Specified by:
    `setAttributes` in interface `javax.management.remote.rmi.RMIConnection`
  Throws:
    `javax.management.InstanceNotFoundException`
    `javax.management.ReflectionException`
    `java.io.IOException`

### invoke

    public java.lang.Object invoke(javax.management.ObjectName name,
                                   java.lang.String operationName,
                                   java.rmi.MarshalledObject params,
                                   java.lang.String[] signature,
                                   javax.security.auth.Subject delegate)
                            throws javax.management.InstanceNotFoundException,
                                   javax.management.MBeanException,
                                   javax.management.ReflectionException,
                                   java.io.IOException

  Specified by:
    `invoke` in interface `javax.management.remote.rmi.RMIConnection`
  Throws:
    `javax.management.InstanceNotFoundException`
    `javax.management.MBeanException`
    `javax.management.ReflectionException`
    `java.io.IOException`

### getDefaultDomain

    public java.lang.String getDefaultDomain(javax.security.auth.Subject delegate)
                                      throws java.io.IOException

  Specified by:
    `getDefaultDomain` in interface `javax.management.remote.rmi.RMIConnection`
  Throws:
    `java.io.IOException`

### getDomains

    public java.lang.String[] getDomains(javax.security.auth.Subject delegate)
                                  throws java.io.IOException

  Specified by:
    `getDomains` in interface `javax.management.remote.rmi.RMIConnection`
  Throws:
    `java.io.IOException`

### getMBeanInfo

    public javax.management.MBeanInfo getMBeanInfo(javax.management.ObjectName name,
                                                   javax.security.auth.Subject delegate)
                                            throws javax.management.InstanceNotFoundException,
                                                   javax.management.IntrospectionException,
                                                   javax.management.ReflectionException,
                                                   java.io.IOException

  Specified by:
    `getMBeanInfo` in interface `javax.management.remote.rmi.RMIConnection`
  Throws:
    `javax.management.InstanceNotFoundException`
    `javax.management.IntrospectionException`
    `javax.management.ReflectionException`
    `java.io.IOException`

### isInstanceOf

    public boolean isInstanceOf(javax.management.ObjectName name,
                                java.lang.String className,
                                javax.security.auth.Subject delegate)
                         throws javax.management.InstanceNotFoundException,
                                java.io.IOException

  Specified by:
    `isInstanceOf` in interface `javax.management.remote.rmi.RMIConnection`
  Throws:
    `javax.management.InstanceNotFoundException`
    `java.io.IOException`

### addNotificationListener

    public void addNotificationListener(javax.management.ObjectName name,
                                        javax.management.ObjectName listener,
                                        java.rmi.MarshalledObject filter,
                                        java.rmi.MarshalledObject handback,
                                        javax.security.auth.Subject delegate)
                                 throws javax.management.InstanceNotFoundException,
                                        java.io.IOException

  Specified by:
    `addNotificationListener` in interface `javax.management.remote.rmi.RMIConnection`
  Throws:
    `javax.management.InstanceNotFoundException`
    `java.io.IOException`

### removeNotificationListener

    public void removeNotificationListener(javax.management.ObjectName name,
                                           javax.management.ObjectName listener,
                                           javax.security.auth.Subject delegate)
                                    throws javax.management.InstanceNotFoundException,
                                           javax.management.ListenerNotFoundException,
                                           java.io.IOException

  Specified by:
    `removeNotificationListener` in interface `javax.management.remote.rmi.RMIConnection`
  Throws:
    `javax.management.InstanceNotFoundException`
    `javax.management.ListenerNotFoundException`
    `java.io.IOException`

### removeNotificationListener

    public void removeNotificationListener(javax.management.ObjectName name,
                                           javax.management.ObjectName listener,
                                           java.rmi.MarshalledObject filter,
                                           java.rmi.MarshalledObject handback,
                                           javax.security.auth.Subject delegate)
                                    throws javax.management.InstanceNotFoundException,
                                           javax.management.ListenerNotFoundException,
                                           java.io.IOException

  Specified by:
    `removeNotificationListener` in interface `javax.management.remote.rmi.RMIConnection`
  Throws:
    `javax.management.InstanceNotFoundException`
    `javax.management.ListenerNotFoundException`
    `java.io.IOException`

### addNotificationListeners

    public java.lang.Integer[] addNotificationListeners(javax.management.ObjectName[] names,
                                                        java.rmi.MarshalledObject[] filters,
                                                        javax.security.auth.Subject[] delegates)
                                                 throws javax.management.InstanceNotFoundException,
                                                        java.io.IOException

  Specified by:
    `addNotificationListeners` in interface `javax.management.remote.rmi.RMIConnection`
  Throws:
    `javax.management.InstanceNotFoundException`
    `java.io.IOException`

### removeNotificationListeners

    public void removeNotificationListeners(javax.management.ObjectName name,
                                            java.lang.Integer[] listenerIDs,
                                            javax.security.auth.Subject delegate)
                                     throws javax.management.InstanceNotFoundException,
                                            javax.management.ListenerNotFoundException,
                                            java.io.IOException

  Specified by:
    `removeNotificationListeners` in interface `javax.management.remote.rmi.RMIConnection`
  Throws:
    `javax.management.InstanceNotFoundException`
    `javax.management.ListenerNotFoundException`
    `java.io.IOException`

### close

    public void close()
               throws java.io.IOException

  Specified by:
    `close` in interface `javax.management.remote.rmi.RMIConnection`
  Throws:
    `java.io.IOException`

### fetchNotifications

    public javax.management.remote.NotificationResult fetchNotifications(long clientSequenceNumber,
                                                                         int maxNotifications,
                                                                         long timeout)
                                                                  throws java.io.IOException

  Specified by:
    `fetchNotifications` in interface `javax.management.remote.rmi.RMIConnection`
  Throws:
    `java.io.IOException`

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