Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.sun.jdmk.comm
Class RmiConnectorClient

    java.lang.Object
      |
      +--com.sun.jdmk.comm.RmiConnectorClient

public class RmiConnectorClient
extends java.lang.Object
implements RemoteMBeanServer, HeartBeatClientHandler

Provides an implementation of the `RemoteMBeanServer` interface based on the Java remote method invocation (RMI) system.

Querying a Java Dynamic Management agent with this connector implies that an instance of `RmiConnectorServer` is running on the remote Java Dynamic Management agent. In order to identify the Java Dynamic Management agent the connector needs to communicate with, the method `connect` needs to be invoked with the RMI identity of the `RMI Connector Server`.

This class implements the `ClientNotificationHandler` interface to receive notifications from a remote MBean and the `HeartBeatClientHandler` interface to detect any problem that could be encountered in the connection with the `RMI Connector Server`

Fields inherited from interface com.sun.jdmk.comm.ClientNotificationHandler
`DISCARD_NEW, DISCARD_OLD, NO_CACHE_LIMIT, PULL_MODE, PUSH_MODE`

Constructor Summary
`RmiConnectorClient()` Default constructor for RmiConnectorClient.
`RmiConnectorClient(java.net.InetAddress add)`
`RmiConnectorClient(java.net.InetAddress add, int commTimeout)`

Method Summary
`void` | `addHeartBeatNotificationListener(NotificationListener listener, NotificationFilter filter, java.lang.Object handback)` Adds the specified heartbeat listener to receive heartbeat notifications from this connector client.
`void` | `addNotificationListener(ObjectName name, NotificationListener listener, NotificationFilter filter, java.lang.Object handback)` Adds a listener to a registered MBean.
`void` | `addProxy(Proxy proxy)` Deprecated. No more useful.
`void` | `clearCache()` Clear the notification cache.
`java.lang.String` | `connect(ConnectorAddress MBeanServerAddress)` Initializes the communication with the remote `MBeanServer`.
`ObjectInstance` | `createMBean(java.lang.String className, ObjectName name)` Creates and registers an instance of an MBean in the remote object server.
`ObjectInstance` | `createMBean(java.lang.String className, ObjectName name, java.lang.Object[] params, java.lang.String[] signature)` Creates and registers an instance of an MBean in the remote object server.
`ObjectInstance` | `createMBean(java.lang.String className, ObjectName name, ObjectName loaderName)` Creates and registers an instance of an MBean in the remote object server.
`ObjectInstance` | `createMBean(java.lang.String className, ObjectName name, ObjectName loaderName, java.lang.Object[] params, java.lang.String[] signature)` Creates and registers an instance of an MBean in the remote object server.
`void` | `disconnect()` Terminates the communication with the `MBeanServer`.
`void` | `disconnect(boolean local)` Terminates the communication with the `MBeanServer`.
`java.lang.Object` | `getAttribute(ObjectName name, java.lang.String attribute)` Gets the value of a specific attribute of a named MBean.
`AttributeList` | `getAttributes(ObjectName name, java.lang.String[] attributes)` Allows you to retrieve the values of several attributes of an MBean.
`int` | `getCacheSize()` Get the cache size of notifications waiting to be forwarded.
`java.lang.String` | `getClassForProxyMBean(ObjectInstance instance)` Given the object name and the Java class name of the MBean (`ObjectInstance`), this method returns the name of the Java class of the corresponding Proxy MBean.
`java.lang.ClassLoader` | `getClassLoader()` Deprecated. No more useful.
`java.lang.String` | `getDefaultDomain()` Returns the default domain used for the MBean naming.
`java.util.Set` | `getGenericProxies(java.util.Set instances)` Deprecated. It is not multi-user safe.
`GenericProxy` | `getGenericProxy(ObjectInstance instance)` Deprecated. It is not multi-user safe.
`int` | `getHeartBeatPeriod()` Gets the heartbeat period in milliseconds.
`int` | `getHeartBeatRetries()` Gets the number of retries.
`java.lang.String` | `getHost()`
`Mapper` | `getMapper()` Deprecated. No more useful.
`java.lang.Integer` | `getMBeanCount()` Returns the number of MBeans controlled by the `MBeanServer`.
`MBeanInfo` | `getMBeanInfo(ObjectName name)` This method supplies the exposed attributes and actions of the MBean.
`ConnectorAddress` | `getMBeanServerAddress()` Returns the exact address of the `MBeanServer` to which the ConnectorClient is connected.
`java.lang.String` | `getMBeanServerId()` Returns a string which represents the `MBeanServer` identification.
`int` | `getMode()` Gets the notification forwarding mode.
`void` | `getNotifications()` Retrieves all notifications in the cache.
`ObjectInstance` | `getObjectInstance(ObjectName name)` Gets the `ObjectInstance` for a given MBean registered with the `MBeanServer`.
`OperationContext` | `getOperationContext()` Get the OperationContext that was last given to setOperationContext, or null if setOperationContext was never called.
`int` | `getOverflowCount()` Get the number of notifications discarded since last forwarding because the cache limit has been reached.
`int` | `getOverflowMode()` Return whether to discard the oldest message (`DISCARD_OLD`) or the the newest meesage (`DISCARD_NEW`), if the cache size excceds.
`int` | `getPeriod()` Gets the period for notification forwarding in milliseconds.
`Proxy` | `getProxyMBean(ObjectInstance instance)` Deprecated. It is not multi-user safe.
`java.util.Set` | `getProxyMBeans(java.util.Set instances)` Deprecated. It is not multi-user safe.
`java.lang.Object` | `invoke(ObjectName name, java.lang.String methodName, java.lang.Object[] arguments, java.lang.String[] signature)` Invokes a method of an MBean.
`boolean` | `isConnected()` Checks whether a communication with the `MBeanServer` is established.
`boolean` | `isInstanceOf(ObjectName name, java.lang.String className)` Returns true if the MBean specified is an instance of the specified class, false otherwise.
`boolean` | `isRegistered(ObjectName name)` Checks whether an MBean, identified by its object name, is already registered with the `MBeanServer`.
`java.util.Set` | `queryMBeans(ObjectName name, QueryExp query)` Gets MBeans controlled by the `MBeanServer`.
`java.util.Set` | `queryNames(ObjectName name, QueryExp query)` Gets the names of MBeans controlled by the `MBeanServer`.
`void` | `removeHeartBeatNotificationListener(NotificationListener listener)` Removes the specified heartbeat listener so that it no longer receives heartbeat notifications from this connector client.
`void` | `removeNotificationListener(ObjectName name, NotificationListener listener)` Removes a listener from a registered MBean.
`void` | `removeProxy(Proxy proxy)` Deprecated. No more useful.
`void` | `setAttribute(ObjectName name, Attribute attribute)` Sets the value of a specific attribute of a named MBean.
`AttributeList` | `setAttributes(ObjectName name, AttributeList attributes)` Allows you to modify the values of several attributes of an MBean.
`int` | `setCacheSize(int size, boolean discardOverflow)` Sets the cache size of notifications waiting to be forwarded.
`void` | `setClassLoader(java.lang.ClassLoader loader)` Deprecated. No more useful.
`void` | `setHeartBeatPeriod(int period)` Specifies the heartbeat period in milliseconds.
`void` | `setHeartBeatRetries(int nretries)` Sets the number of retries.
`void` | `setMapper(Mapper mapper)` Deprecated. No more useful.
`void` | `setMode(int mode)` Sets the notification forwarding mode.
`void` | `setOperationContext(OperationContext c)` Set the OperationContext of this connector.
`void` | `setOverflowCount(int count)` Sets the number of notifications discarded, this number indicates the number of notifications discarded because the cache limit has been reached.
`void` | `setOverflowMode(int of)` Specify whether to discard the oldest message (`DISCARD_OLD`) or the the newest message (`DISCARD_NEW`), if the cache size excceds.
`void` | `setPeriod(int period)` Specifies the period for notification forwarding in milliseconds.
`void` | `setTimeout(int timeout)`
`void` | `unregisterMBean(ObjectName name)` Deletes an instance of an MBean in the remote MBean server.

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

Constructor Detail

### RmiConnectorClient

    public RmiConnectorClient()

  Default constructor for RmiConnectorClient.

### RmiConnectorClient

    public RmiConnectorClient(java.net.InetAddress add)

### RmiConnectorClient

    public RmiConnectorClient(java.net.InetAddress add,
                              int commTimeout)

Method Detail

### setTimeout

    public void setTimeout(int timeout)

### getHost

    public java.lang.String getHost()

### setMode

    public void setMode(int mode)
                 throws java.lang.IllegalArgumentException

  Sets the notification forwarding mode. If set to `PUSH_MODE`, it is the agent to push notifications to the client, if set to `PULL_MODE`, it is the client to retrive notifications from the agent.

  The default value is `PUSH_MODE`.

  Parameters:
    `mode` - set to `PUSH_MODE` or `PULL_MODE`.
  Throws:
    java.lang.IllegalArgumentException - Thrown if the mode is not equal to `PUSH_MODE` nor `PULL_MODE`.
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### getMode

    public int getMode()

  Gets the notification forwarding mode. If set to `PUSH_MODE`, it is the agent to push notifications to the client, if set to `PULL_MODE`, it is the client to retrive notifications from the agent.

  The default value is `PUSH_MODE`.

  Throws:
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### getNotifications

    public void getNotifications()

  Retrieves all notifications in the cache.
  Throws:
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### clearCache

    public void clearCache()

  Clear the notification cache. All notifications stored in the cache then will be discarded without being sent.
  Throws:
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### setPeriod

    public void setPeriod(int period)

  Specifies the period for notification forwarding in milliseconds.

  If set to equal to or less than zero and the pull mode is used, no pull will be done. A user should explicitly call `getNotifications` to retrieve all notifications in the cache. This method has no effect in the push mode in the current implementation.

  The default value is 1000 milliseconds.

  Parameters:
    `period` - The period in milliseconds.
  Throws:
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### getPeriod

    public int getPeriod()

  Gets the period for notification forwarding in milliseconds.

  The default value is 1000 milliseconds.

  Throws:
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### setCacheSize

    public int setCacheSize(int size,
                            boolean discardOverflow)

  Sets the cache size of notifications waiting to be forwarded.

  If set to `NO_CACHE_LIMIT`, notifications will never be discarded, but this may lead to OutOfMemory errors under stressed conditions. If set to zero, any notification will be discarded without being sent.

  The default value is `NO_CACHE_LIMIT`.

  Parameters:
    `size` - the maximum number of notifications in the cache.
    `discardOverflow` - effective only if current number of cached notifications exceeds the new size: if true, discard excess notifications; if false, the cache size will not be changed.
  Returns:
    The cache size currently set.
  Throws:
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### getCacheSize

    public int getCacheSize()

  Get the cache size of notifications waiting to be forwarded.

  If set to `NO_CACHE_LIMIT` or a negative value, notifications will never be discarded, but this may lead to OutOfMemory errors under stressed conditions.

  The default value is `NO_CACHE_LIMIT`.

  Throws:
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### setOverflowCount

    public void setOverflowCount(int count)

  Sets the number of notifications discarded, this number indicates the number of notifications discarded because the cache limit has been reached.

  This count will be reset to zero if no more listener exists at the client side, because in this case the notification server will remove all information about this notification client.

  Parameters:
    `count` - The new value to set to overflow count.
  Throws:
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### getOverflowCount

    public int getOverflowCount()

  Get the number of notifications discarded since last forwarding because the cache limit has been reached. This value can be reset by calling the method setOverFlowCount.

  This count will be reset to zero if no more listener exists at the client side, because in this case the notification server will remove all information about this notification client.

  Throws:
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### setOverflowMode

    public void setOverflowMode(int of)
                         throws java.lang.IllegalArgumentException

  Specify whether to discard the oldest message (`DISCARD_OLD`) or the the newest message (`DISCARD_NEW`), if the cache size excceds.

  The default mode is `DISCARD_OLD`.

  Parameters:
    `of` - The overflow mode to specify.
  Throws:
    java.lang.IllegalArgumentException - Thrown if the mode is not `DISCARD_NEW` nor `DISCARD_OLD`.
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### getOverflowMode

    public int getOverflowMode()

  Return whether to discard the oldest message (`DISCARD_OLD`) or the the newest meesage (`DISCARD_NEW`), if the cache size excceds.

  The default mode is `DISCARD_OLD`.

  Throws:
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### addNotificationListener

    public void addNotificationListener(ObjectName name,
                                        NotificationListener listener,
                                        NotificationFilter filter,
                                        java.lang.Object handback)
                                 throws InstanceNotFoundException

  Adds a listener to a registered MBean.
  Parameters:
    `name` - The name of the MBean on which the listener should be added.
    `listener` - The listener object which will handle the notifications emitted by the registered MBean.
    `filter` - The filter object. If filter is null, no filtering will be performed before handling notifications.
    `handback` - The context to be sent to the listener when a notification is emitted.
  Throws:
    InstanceNotFoundException - The MBean name provided does not match any of the registered MBeans.
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### removeNotificationListener

    public void removeNotificationListener(ObjectName name,
                                           NotificationListener listener)
                                    throws InstanceNotFoundException,
                                           ListenerNotFoundException

  Removes a listener from a registered MBean.
  Parameters:
    `name` - The name of the MBean on which the listener should be removed.
    `listener` - The listener object which will handle the notifications emitted by the registered MBean. This method will remove all the information related to this listener.
  Throws:
    InstanceNotFoundException - The MBean name provided does not match any of the registered MBeans.
    ListenerNotFoundException - The listener is not registered in the MBean.
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### getHeartBeatPeriod

    public int getHeartBeatPeriod()

  Gets the heartbeat period in milliseconds.

  The default value is 10000 milliseconds.

  Specified by:
    getHeartBeatPeriod in interface HeartBeatClientHandler

### setHeartBeatPeriod

    public void setHeartBeatPeriod(int period)

  Specifies the heartbeat period in milliseconds.

  If set to zero no check will be carried out for the associated connector server being alive. As the heartbeat is driven by the manager this would also prevent the connector server from being aware of the aliveness of this connector client.

  The default value is 10000 milliseconds.

  Specified by:
    setHeartBeatPeriod in interface HeartBeatClientHandler
  Parameters:
    `period` - The heartbeat period in milliseconds.

### getHeartBeatRetries

    public int getHeartBeatRetries()

  Gets the number of retries. This number specifies how many times a connector client must retry the connection to the connector server before sending the heartbeat notification indicating that the connector server has died. If number of retries equals zero then no retries are carried out.

  The default value is 6 times.

  Specified by:
    getHeartBeatRetries in interface HeartBeatClientHandler

### setHeartBeatRetries

    public void setHeartBeatRetries(int nretries)

  Sets the number of retries. This number specifies how many times a connector client must retry the connection to the connector server before sending the heartbeat notification indicating that the connector server has died. If number of retries equals zero then no retries are carried out.

  The default value is 6 times.

  Specified by:
    setHeartBeatRetries in interface HeartBeatClientHandler
  Parameters:
    `nretries` - The number of retries.

### addHeartBeatNotificationListener

    public void addHeartBeatNotificationListener(NotificationListener listener,
                                                 NotificationFilter filter,
                                                 java.lang.Object handback)

  Adds the specified heartbeat listener to receive heartbeat notifications from this connector client. Heartbeat notifications occur when the connector client connects to or disconnects from the connector server or when the connector server associated to this connector client dies or is temporarily unreachable.
  Specified by:
    addHeartBeatNotificationListener in interface HeartBeatClientHandler
  Parameters:
    `listener` - The heartbeat listener which will handle the notifications emitted by the connector client.
    `filter` - The filter object. If filter is null, no filtering will be performed before handling notifications.
    `handback` - The context to be sent to the listener when a notification is emitted.

### removeHeartBeatNotificationListener

    public void removeHeartBeatNotificationListener(NotificationListener listener)

  Removes the specified heartbeat listener so that it no longer receives heartbeat notifications from this connector client. Heartbeat notifications occur when the connector client connects to or disconnects from the connector server or when the connector server associated to this connector client dies or is temporarily unreachable.
  Specified by:
    removeHeartBeatNotificationListener in interface HeartBeatClientHandler
  Parameters:
    `listener` - The heartbeat listener which will handle the notifications emitted by the connector client.

### setOperationContext

    public void setOperationContext(OperationContext c)

  Set the OperationContext of this connector. This context will be sent along with each request and can be recovered by the server, which can make it available to the operations it invokes.

  The saved OperationContext will be a clone of the object `c` made using its `clone` method.

  Specified by:
    setOperationContext in interface RemoteMBeanServer
  Parameters:
    `c` - the new OperationContext. It may be null to indicate that there is no context. The previous OperationContext, if any, is lost.
  Throws:
    CommunicationException - if the context cannot be set for some reason. One common reason is that the object `c` does not implement the `Cloneable` interface.

### getOperationContext

    public OperationContext getOperationContext()

  Get the OperationContext that was last given to setOperationContext, or null if setOperationContext was never called.
  Specified by:
    getOperationContext in interface RemoteMBeanServer
  Returns:
    the current OperationContext.

### connect

    public java.lang.String connect(ConnectorAddress MBeanServerAddress)

  Initializes the communication with the remote `MBeanServer`. All the information needed to identify the `MBeanServer` to contact and the protocol to be used is contained in the object of the type `ConnectorAddress` passed as a parameter. For then `RmiconnectotClient`, the `ConnectorAddress` should of class `RmiConnectorAddress`. If a communication problem occurs this method will throw a `CommunicationException` (`JMRuntimeException`). If the `RemoteMBeanServer` had already been connected and disconnected with an `MBeanServer` identified by its `MBeanServerId`, and if the `MBeanServer` reachable by the `MBeanServerAddress` parameter doesn't have to same `MBeanServerId`, the `java.lang.IllegalAccessException` is thrown.
  Specified by:
    connect in interface RemoteMBeanServer
  Parameters:
    `MBeanServerAddress` - The exact `MBeanServer` address to contact (`MBeanServer` identification, protocol specification).
  Returns:
    A String identifying the `MBeanServer` with which the communication is established.
  Throws:
    CommunicationException - The `RemoteMBeanServer` was already connected or a problem was encountered in the connection to the `RMI Connector Server`.
    java.lang.IllegalArgumentException - The `RemoteMBeanServer` has already been connected and disconnected and the specified `ConnectorAddress` doesn't identify the same `MBeanServer`.

### disconnect

    public void disconnect()

  Terminates the communication with the `MBeanServer`.
  Specified by:
    disconnect in interface RemoteMBeanServer

### disconnect

    public void disconnect(boolean local)

  Terminates the communication with the `MBeanServer`.

### isConnected

    public boolean isConnected()

  Checks whether a communication with the `MBeanServer` is established.
  Specified by:
    isConnected in interface RemoteMBeanServer
  Returns:
    True, if the communication is established, otherwise false.

### getMBeanServerAddress

    public ConnectorAddress getMBeanServerAddress()

  Returns the exact address of the `MBeanServer` to which the ConnectorClient is connected. The address is of the type `ConnectorAddress`.
  Specified by:
    getMBeanServerAddress in interface RemoteMBeanServer
  Returns:
    The exact address of the remote `MBeanServer`, or null if the ConnectorClient is not connected.

### getMBeanServerId

    public java.lang.String getMBeanServerId()

  Returns a string which represents the `MBeanServer` identification. This String comes from the `MBeanServerDelegate` Mbean. If the Connector Client has not already been connected, it returns null. If the Connector Client has been connected and disconnected, `getMBeanServerId` still returns the previous `MBeanServer` identification.
  Specified by:
    getMBeanServerId in interface RemoteMBeanServer
  Tags copied from interface: RemoteMBeanServer
  Returns:
    If the Connector Client has not been connected yet, it returns null. If the connector Client has been connected and disconnected, `getMbeanServerId` still returns the previous `MbeanServer` identification.

### createMBean

    public ObjectInstance createMBean(java.lang.String className,
                                      ObjectName name)
                               throws ReflectionException,
                                      InstanceAlreadyExistsException,
                                      MBeanRegistrationException,
                                      MBeanException,
                                      NotCompliantMBeanException

  Creates and registers an instance of an MBean in the remote object server. When calling the method, you have to provide the class name of the Java implementation to be used for instantiating the new object. It returns an `ObjectInstance` representing the remote MBean created.
  Specified by:
    createMBean in interface RemoteMBeanServer
  Parameters:
    `className` - The name of the Java class to be used by the `MBeanServer` for creating the MBean.
    `name` - The name of the MBean to be created.
  Returns:
    An `ObjectInstance` representing the newly created MBean.
  Throws:
    ReflectionException - Wraps the exception that occurred when trying to invoke the MBean's constructor.
    InstanceAlreadyExistsException - The MBean is already under the control of the MBean server.
    MBeanRegistrationException - The `preRegister` (`MBeanRegistration` interface) method of the MBean has thrown an exception. The MBean will not be registered.
    MBeanException - Wraps an exception thrown by the MBean's constructor.
    NotCompliantMBeanException - This class is not a JMX compliant MBean.
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### createMBean

    public ObjectInstance createMBean(java.lang.String className,
                                      ObjectName name,
                                      ObjectName loaderName)
                               throws ReflectionException,
                                      InstanceAlreadyExistsException,
                                      MBeanRegistrationException,
                                      MBeanException,
                                      NotCompliantMBeanException,
                                      InstanceNotFoundException

  Creates and registers an instance of an MBean in the remote object server. When calling the method, you have to provide the class name of the Java implementation to be used for instantiating the new object. You can optionally provide the name of the class loader to be used. It returns an `ObjectInstance` representing the remote MBean created.
  Specified by:
    createMBean in interface RemoteMBeanServer
  Parameters:
    `className` - The name of the Java class to be used by the `MBeanServer` for creating the MBean.
    `name` - The name of the MBean to be created.
    `loaderName` - The name of the class loader to be used by the `MBeanServer`.
  Returns:
    An `ObjectInstance` representing the newly created MBean.
  Throws:
    ReflectionException - Wraps the exception that occurred when trying to invoke the MBean's constructor.
    InstanceAlreadyExistsException - The MBean is already under the control of the MBean server.
    MBeanRegistrationException - The `preRegister` (`MBeanRegistration` interface) method of the MBean has thrown an exception. The MBean will not be registered.
    MBeanException - Wraps an exception thrown by the MBean's constructor.
    NotCompliantMBeanException - This class is not a JMX compliant MBean.
    InstanceNotFoundException - The specified loader is not registered in the `MBeanServer`.
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### createMBean

    public ObjectInstance createMBean(java.lang.String className,
                                      ObjectName name,
                                      java.lang.Object[] params,
                                      java.lang.String[] signature)
                               throws ReflectionException,
                                      InstanceAlreadyExistsException,
                                      MBeanRegistrationException,
                                      MBeanException,
                                      NotCompliantMBeanException

  Creates and registers an instance of an MBean in the remote object server. When calling the method, you have to provide the class name of the Java implementation to be used for instantiating the new object. It returns an `ObjectInstance` representing the remote MBean created.
  Specified by:
    createMBean in interface RemoteMBeanServer
  Parameters:
    `className` - The name of the Java class to be used by the `MBeanServer` for creating the MBean.
    `name` - The name of the MBean to be created.
    `params` - An array containing the parameters of the constructor to be invoked. A parameter can be any Java object that is `serializable`.
    `signature` - An array containing the signature of the constructor to be invoked.
  Returns:
    An `ObjectInstance` representing the newly created MBean.
  Throws:
    ReflectionException - Wraps the exception that occurred when trying to invoke the MBean's constructor.
    InstanceAlreadyExistsException - The MBean is already under the control of the MBean server.
    MBeanRegistrationException - The `preRegister` (`MBeanRegistration` interface) method of the MBean has thrown an exception. The MBean will not be registered.
    MBeanException - Wraps an exception thrown by the MBean's constructor.
    NotCompliantMBeanException - This class is not a JMX compliant MBean.
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### createMBean

    public ObjectInstance createMBean(java.lang.String className,
                                      ObjectName name,
                                      ObjectName loaderName,
                                      java.lang.Object[] params,
                                      java.lang.String[] signature)
                               throws ReflectionException,
                                      InstanceAlreadyExistsException,
                                      MBeanRegistrationException,
                                      MBeanException,
                                      NotCompliantMBeanException,
                                      InstanceNotFoundException

  Creates and registers an instance of an MBean in the remote object server. When calling the method, you have to provide the class name of the Java implementation to be used for instantiating the new object. You can optionally provide the name of the class loader to be used. It returns an `ObjectInstance` representing the remote MBean created.
  Specified by:
    createMBean in interface RemoteMBeanServer
  Parameters:
    `className` - The name of the Java class to be used by the `MBeanServer` for creating the MBean.
    `name` - The name of the MBean to be created.
    `loaderName` - The name of the class loader to be used by the `MBeanServer`.
    `params` - An array containing the parameters of the constructor to be invoked. A parameter can be any Java object that is `serializable`.
    `signature` - An array containing the signature of the constructor to be invoked.
  Returns:
    An `ObjectInstance` representing the newly created MBean.
  Throws:
    ReflectionException - Wraps the exception that occurred when trying to invoke the MBean's constructor.
    InstanceAlreadyExistsException - The MBean is already under the control of the MBean server.
    MBeanRegistrationException - The `preRegister` (`MBeanRegistration` interface) method of the MBean has thrown an exception. The MBean will not be registered.
    MBeanException - Wraps an exception thrown by the MBean's constructor.
    NotCompliantMBeanException - This class is not a JMX compliant MBean.
    InstanceNotFoundException - The specified loader is not registered in the `MBeanServer`.
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### unregisterMBean

    public void unregisterMBean(ObjectName name)
                         throws InstanceNotFoundException,
                                MBeanRegistrationException

  Deletes an instance of an MBean in the remote MBean server. It also removes its local proxy (`ProxyMBean` and/or `GenericProxy`) object from the ProxyFactory.
  Specified by:
    unregisterMBean in interface RemoteMBeanServer
  Parameters:
    `name` - The name of the MBean to be deleted.
  Throws:
    InstanceNotFoundException - The specified MBean is not registered in the `MBeanServer`.
    MBeanRegistrationException - The `preDeregister` (`MBeanRegistration` interface) method of the MBean has thrown an exception.
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### getProxyMBean

    public Proxy getProxyMBean(ObjectInstance instance)
                        throws ProxyMBeanInstantiationException

  Deprecated. It is not multi-user safe.

  Returns a `ProxyMBean` representing a remote MBean identified by this `ObjectInstance`. If the `ProxyMBean` cannot be instantiated the method throws a `ProxyMBeanInstantiationException`.
  Specified by:
    getProxyMBean in interface RemoteMBeanServer
  Parameters:
    `instance` - The object instance identifying the MBean.
  Returns:
    A `ProxyMBean` representing the MBean.
  Throws:
    ProxyMBeanInstantiationException - Wraps an exception that occurred when trying to instantiate the `ProxyMBean`.

### getProxyMBeans

    public java.util.Set getProxyMBeans(java.util.Set instances)
                                 throws ProxyMBeanInstantiationException

  Deprecated. It is not multi-user safe.

  Returns a set of `ProxyMBean`s representing MBeans controlled by the remote MBeanServer.
  Specified by:
    getProxyMBeans in interface RemoteMBeanServer
  Parameters:
    `instances` - The set of object instances identifying the MBeans.
  Returns:
    A set of `ProxyMBean`s representing the MBeans.
  Throws:
    ProxyMBeanInstantiationException - Wraps an exception that occurred trying to instantiate the `ProxyMBean`s.

### addProxy

    public void addProxy(Proxy proxy)

  Deprecated. No more useful.

  Specified by:
    addProxy in interface RemoteMBeanServer

### removeProxy

    public void removeProxy(Proxy proxy)

  Deprecated. No more useful.

  Specified by:
    removeProxy in interface RemoteMBeanServer

### getGenericProxy

    public GenericProxy getGenericProxy(ObjectInstance instance)

  Deprecated. It is not multi-user safe.

  Returns a `GenericProxy` representing a remote MBean identified by this `ObjectInstance`.
  Specified by:
    getGenericProxy in interface RemoteMBeanServer
  Parameters:
    `The` - `Objectname` of the Java class to be used by the `MBeanServer` to create the MBean.
    `instance` - The object instance identifying the MBean.
  Returns:
    A `GenericProxy` object associated with the MBean.

### getGenericProxies

    public java.util.Set getGenericProxies(java.util.Set instances)

  Deprecated. It is not multi-user safe.

  Returns a set of GenericProxies representing MBeans controlled by the remote MBeanServer.
  Specified by:
    getGenericProxies in interface RemoteMBeanServer
  Parameters:
    `instances` - The set of object instances identifying the MBeans.
  Returns:
    A set of GenericProxies representing the MBeans.

### isRegistered

    public boolean isRegistered(ObjectName name)

  Checks whether an MBean, identified by its object name, is already registered with the `MBeanServer`.
  Specified by:
    isRegistered in interface RemoteMBeanServer
  Parameters:
    `name` - The object name of the MBean to be checked.
  Returns:
    True if the MBean is already registered in the `MBeanServer`, false otherwise.
  Throws:
    RuntimeOperationsException - Wraps an IllegalArgumentException: The object name in parameter is null.
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### queryNames

    public java.util.Set queryNames(ObjectName name,
                                    QueryExp query)

  Gets the names of MBeans controlled by the `MBeanServer`. This method allows any of the following to be obtained: The names of all MBeans, the names of a set of MBeans specified by pattern matching on the `ObjectName` and/or a Query expression, a specific MBean name (equivalent to testing whether an MBean is registered). When the object name is null or empty, all the objects are to be selected (and filtered if a query is specified). It returns the set of `ObjectName`s for the MBeans selected.
  Specified by:
    queryNames in interface RemoteMBeanServer
  Parameters:
    `name` - The object name pattern identifying the MBean names to be retrieved. If null or empty, the names of all the registered MBeans will be retrieved.
    `query` - The query expression to be applied for selecting MBeans.
  Returns:
    A set containing the `ObjectName`s for the MBeans selected.
  Throws:
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### queryMBeans

    public java.util.Set queryMBeans(ObjectName name,
                                     QueryExp query)

  Gets MBeans controlled by the `MBeanServer`. This method allows any of the following to be obtained: All MBeans, a set of MBeans specified by pattern matching on the `ObjectName` and/or a Query expression, a specific MBean. When the object name is null or empty, all objects are to be selected (and filtered if a query is specified). It returns the set of `ObjectInstance` for the selected MBeans.
  Specified by:
    queryMBeans in interface RemoteMBeanServer
  Parameters:
    `name` - The object name pattern identifying the MBeans to be retrieved. If null or empty all the MBeans registered will be retrieved.
    `query` - The query expression to be applied for selecting MBeans.
  Returns:
    A set containing the `ObjectInstance` for the MBeans selected.
  Throws:
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### getMBeanCount

    public java.lang.Integer getMBeanCount()

  Returns the number of MBeans controlled by the `MBeanServer`.
  Specified by:
    getMBeanCount in interface RemoteMBeanServer
  Throws:
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### getDefaultDomain

    public java.lang.String getDefaultDomain()

  Returns the default domain used for the MBean naming.
  Specified by:
    getDefaultDomain in interface RemoteMBeanServer
  Throws:
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### isInstanceOf

    public boolean isInstanceOf(ObjectName name,
                                java.lang.String className)
                         throws InstanceNotFoundException

  Returns true if the MBean specified is an instance of the specified class, false otherwise.
  Specified by:
    isInstanceOf in interface RemoteMBeanServer
  Parameters:
    `name` - The `ObjectName` of the MBean.
    `className` - The name of the class.
  Returns:
    true if the MBean specified is an instance of the specified class, false otherwise.
  Throws:
    InstanceNotFoundException - The MBean specified is not registered in the MBean server.

### getObjectInstance

    public ObjectInstance getObjectInstance(ObjectName name)
                                     throws InstanceNotFoundException

  Gets the `ObjectInstance` for a given MBean registered with the `MBeanServer`.
  Specified by:
    getObjectInstance in interface RemoteMBeanServer
  Parameters:
    `name` - The object name of the MBean.
  Returns:
    The `ObjectInstance` associated to the MBean specified by name.
  Throws:
    InstanceNotFoundException - The specified MBean is not registered in the `MBeanServer`.
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### getAttribute

    public java.lang.Object getAttribute(ObjectName name,
                                         java.lang.String attribute)
                                  throws MBeanException,
                                         AttributeNotFoundException,
                                         InstanceNotFoundException,
                                         ReflectionException

  Gets the value of a specific attribute of a named MBean. The MBean is identified by its object name.
  Specified by:
    getAttribute in interface RemoteMBeanServer
  Parameters:
    `name` - The object name of the MBean from which the attribute is to be retrieved.
    `attribute` - The name of the attribute to be retrieved.
  Returns:
    The value of the retrieved attribute. The return value can be any Java object that is `serializable`.
  Throws:
    AttributeNotFoundException - The attribute specified is not accessible in the MBean.
    MBeanException - Wraps an exception thrown by the MBean's getter.
    InstanceNotFoundException - The specified MBean is not registered in the `MBeanServer`.
    ReflectionException - An exception occurred when trying to invoke the getAttributes of a Dynamic MBean.
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### getAttributes

    public AttributeList getAttributes(ObjectName name,
                                       java.lang.String[] attributes)
                                throws InstanceNotFoundException,
                                       ReflectionException

  Allows you to retrieve the values of several attributes of an MBean.
  Specified by:
    getAttributes in interface RemoteMBeanServer
  Parameters:
    `name` - The object name of the MBean from within which the attributes are to be retrieved.
    `attributes` - A list of the attributes to be retrieved.
  Returns:
    The values of the attributes retrieved. The value of the attributes can be any Java object that is `serializable`.
  Throws:
    InstanceNotFoundExceptionThe - MBean specified is not registered in the MBean server.
    ReflectionException - An exception occurred when trying to invoke the getAttributes of a Dynamic MBean.
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### setAttribute

    public void setAttribute(ObjectName name,
                             Attribute attribute)
                      throws InstanceNotFoundException,
                             AttributeNotFoundException,
                             InvalidAttributeValueException,
                             MBeanException,
                             ReflectionException

  Sets the value of a specific attribute of a named MBean. The MBean is identified by its object name.
  Specified by:
    setAttribute in interface RemoteMBeanServer
  Parameters:
    `name` - The name of the MBean within which the attribute is to be set.
    `attribute` - The modification to be performed: The identification of the attribute to be set, the value it is to be set to, and the operator to apply. The value of the attribute can be any Java object that is `serializable`.
  Throws:
    InstanceNotFoundException - The MBean specified is not registered in the MBean server.
    AttributeNotFoundException - The attribute specified is not accessible in the MBean.
    InvalidAttributeValueException - The value specified for the attribute is not valid.
    MBeanException - Wraps an exception thrown by the MBean's setter.
    ReflectionException - Wraps an exception thrown while trying to instantiate and apply the operator specified in Modification.
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### setAttributes

    public AttributeList setAttributes(ObjectName name,
                                       AttributeList attributes)
                                throws InstanceNotFoundException,
                                       ReflectionException

  Allows you to modify the values of several attributes of an MBean.
  Specified by:
    setAttributes in interface RemoteMBeanServer
  Parameters:
    `name` - The object name of the MBean from within which the attributes are to be set.
    `attributes` - A list of the attributes to be set, their values and, optionally, the operators to apply. The value of the attributes can be any Java object that is `serializable`.
  Returns:
    The values of the attributes that were set. The value of the attributes can be any Java object that is `serializable`.
  Throws:
    InstanceNotFoundException - The MBean specified is not registered in the MBean server.
    ReflectionException - An exception occurred when trying to invoke the setAttributes of a Dynamic MBean.
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### invoke

    public java.lang.Object invoke(ObjectName name,
                                   java.lang.String methodName,
                                   java.lang.Object[] arguments,
                                   java.lang.String[] signature)
                            throws InstanceNotFoundException,
                                   MBeanException,
                                   ReflectionException

  Invokes a method of an MBean.
  Specified by:
    invoke in interface RemoteMBeanServer
  Parameters:
    `name` - The name of the MBean on which the method is to be invoked.
    `methodName` - The name of the method to be invoked.
    `arguments` - An array containing the arguments to be set when the method is invoked. An argument can be any Java object that is `serializable`.
    `signature` - An array containing the signature of the method.
  Returns:
    The object returned by the invocation of the given method. The return value can be any Java object that is `serializable`.
  Throws:
    InstanceNotFoundException - The MBean specified is not registered in the MBean server.
    MBeanException - Wraps an exception thrown by the MBean's invoked method.
    ReflectionException - Wraps a `java.lang.Exception` thrown while trying to invoke the method.
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### getMBeanInfo

    public MBeanInfo getMBeanInfo(ObjectName name)
                           throws InstanceNotFoundException,
                                  IntrospectionException,
                                  ReflectionException

  This method supplies the exposed attributes and actions of the MBean. It provides this information using an `MBeanInfo` object.
  Specified by:
    getMBeanInfo in interface RemoteMBeanServer
  Parameters:
    `name` - The names of the MBean whose attributes and actions will be returned.
  Returns:
    An instance of `MBeanInfo` which allows all methods and actions of this MBean to be retrieved.
  Throws:
    InstanceNotFoundException - The MBean specified is not registered in the MBean server.
    IntrospectionException - An exception occurs during introspection.
    ReflectionException - Wraps an `java.lang.Exception` thrown while trying to invoke the `getMBeanInfo` method.
    CommunicationException - The RMI Connector Client is not connected to RMI Connector Server or a problem was encountered in the connection to the RMI Connector Server.

### getClassLoader

    public java.lang.ClassLoader getClassLoader()

  Deprecated. No more useful.

  Returns the `ClassLoader` used to retrieve the classes for the creation of `ProxyMBean`s.
  Specified by:
    getClassLoader in interface RemoteMBeanServer
  Returns:
    The `ClassLoader` currently in use.

### setClassLoader

    public void setClassLoader(java.lang.ClassLoader loader)

  Deprecated. No more useful.

  Allows the specification of a class loader to retrieve the classes for the creation of `ProxyMBean`s.
  Specified by:
    setClassLoader in interface RemoteMBeanServer
  Parameters:
    `ClassLoader` - The instance of the `ClassLoader` to use.

### getClassForProxyMBean

    public java.lang.String getClassForProxyMBean(ObjectInstance instance)
                                           throws ProxyMBeanInstantiationException

  Given the object name and the Java class name of the MBean (`ObjectInstance`), this method returns the name of the Java class of the corresponding Proxy MBean. The returned name can be null, if there is no Java class corresponding to the needed Proxy MBean.
  Specified by:
    getClassForProxyMBean in interface RemoteMBeanServer
  Parameters:
    `instance` - The `ObjectInstance` of the MBean which is represented by the `ProxyMBean`.
  Returns:
    The name of the Java class of the `ProxyMBean`.
  Throws:
    ProxyMBeanInstantiationException - An error occurs.

### getMapper

    public Mapper getMapper()

  Deprecated. No more useful.

  Gets the mapper service used to derive the Proxy class name from an object instance.
  Specified by:
    getMapper in interface RemoteMBeanServer
  Returns:
    The mapping service in use or `null` if it is the default mapper. The default mapper is an instance of the `DefaultMapper` class.

### setMapper

    public void setMapper(Mapper mapper)

  Deprecated. No more useful.

  Allows to specify the mapper service used to derive the Proxy class name from an object instance.
  Specified by:
    setMapper in interface RemoteMBeanServer
  Parameters:
    `mapper` - The instance of the mapping service to be used. If the given mapper value is `null` then the mapper service will be set to the default mapper.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD