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 GenericHttpConnectorClient

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

Direct Known Subclasses:
  HttpConnectorClient, HttpsConnectorClient

public abstract class GenericHttpConnectorClient
extends java.lang.Object
implements RemoteMBeanServer, HeartBeatClientHandler, java.io.Serializable

The `GenericHttpConnectorClient` class provides an implementation of the `RemoteMBeanServer` interface based on the HTTP protocol.

Querying a Java Dynamic Management agent with the HTTP connector implies that an instance of `GenericHttpConnectorServer` 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.

It is possible to request the use of a specific proxy through the java properties `http.proxyHost=`host and `http.proxyPort=`port for HTTP, and `https.proxyHost=`host and `https.proxyPort=`port for HTTPS.

The authentication information required to configure the connector is provided by the ConnectorAddress parameter in the method `connect`.

The following port numbers are used by default:

- 8081 for the HTTP/TCP connector
- 8084 for the HTTP/SSL connector

This class implements the `ClientNotificationHandler` interface to receive notifications from a remote MBean, and the `HeartBeatClientHandler` interface to be able to detect any communication problem with the connector server and notify it to the manager that created it.

See Also:
  `RemoteMBeanServer`, `HeartBeatClientHandler`, `GenericHttpConnectorServer`, Serialized Form

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

Constructor Summary
`GenericHttpConnectorClient()` Constructs a connector client.
`GenericHttpConnectorClient(java.net.InetAddress add)`

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 an 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.
`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 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 ProxyMBean.
`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()` Return 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()` Returns 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 to modify the values of several attributes of an MBean.
`int` | `setCacheSize(int size, boolean discardOverflow)` Set 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, 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.
`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.
`boolean` | `supports(java.lang.String feature)` Returns true if the connector server supports the given feature, false otherwise.
`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

### GenericHttpConnectorClient

    public GenericHttpConnectorClient()

  Constructs a connector client.

### GenericHttpConnectorClient

    public GenericHttpConnectorClient(java.net.InetAddress add)

Method Detail

### 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.

### getHost

    public java.lang.String getHost()

### connect

    public java.lang.String connect(ConnectorAddress mbeanServerAddress)

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

### disconnect

    public void disconnect()

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

### 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 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()

  Return a string which represents the MBeanServer identification. This String comes from the MBeanServerDelegate MBean. If the Connector Client hasn't been connected yet, 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 an 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 java.lang.Exception that occured 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 an JMX compliant MBean
    CommunicationException - The connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### 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 java.lang.Exception that occured 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 an JMX compliant MBean
    InstanceNotFoundException - The specified loader is not registered in the MBeanServer
    CommunicationException - The connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### 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 java.lang.Exception that occured 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 an JMX compliant MBean
    CommunicationException - The connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### 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 java.lang.Exception that occured 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 an JMX compliant MBean
    InstanceNotFoundException - The specified loader is not registered in the MBeanServer
    CommunicationException - The connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### 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 MBean server.
    MBeanRegistrationException - The preDeregister (MBeanRegistration interface) method of the MBean has thrown an exception.
    CommunicationException - The connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### 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 `Objectinstance` 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.

### 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:
    `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 `GenericProxy`s 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 `GenericProxy`s representing the MBeans.

### 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

### 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 ObjectNames 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 ObjectNames for the MBeans selected.
  Throws:
    CommunicationException - The connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### 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 ObjectInstances (containing the ObjectName and the Java Class name) 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 ObjectInstances for the MBeans selected.
  Throws:
    CommunicationException - The connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### 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:
    CommunicationException - The connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### 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 specified attribute 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 MBean server.
    ReflectionException - Wraps an exception thrown while trying to instantiate and apply the operator specified in Modification.
    CommunicationException - The connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### getAttributes

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

  Allows 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:
    InstanceNotFoundException - The specified MBean is not registered in the MBean server.
    CommunicationException - The connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### 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 specified MBean is not registered in the MBean server.
    AttributeNotFoundException - The specified attribute is not accessible in the MBean.
    InvalidAttributeValueException - The specified value 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 connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### setAttributes

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

  Allows 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 specified MBean is not registered in the MBean server.
    CommunicationException - The connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### 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 specified MBean is not registered in the MBean server.
    MBeanException - Wraps an exception thrown by the MBean's invoked method.
    ReflectionException - Wraps an java.lang.Exception thrown while trying to invoke the method.
    CommunicationException - The connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### 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 name 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 specified MBean is not registered in the MBean server.
    IntrospectionException - An exception occurs during introspection.
    ReflectionException - Wraps a java.lang.Exception thrown while trying to invoke the getMBeanInfo method.
    CommunicationException - The connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### 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 connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### getMBeanCount

    public java.lang.Integer getMBeanCount()

  Returns the number of MBeans controlled by the MBeanServer.
  Specified by:
    getMBeanCount in interface RemoteMBeanServer
  Throws:
    CommunicationException - The connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### getDefaultDomain

    public java.lang.String getDefaultDomain()

  Returns the default domain used for the MBean naming.
  Specified by:
    getDefaultDomain in interface RemoteMBeanServer
  Returns:
    The default domain used by the MBeanServer.
  Throws:
    CommunicationException - The connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### 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.

### supports

    public boolean supports(java.lang.String feature)

  Returns true if the connector server supports the given feature, false otherwise.

### getClassLoader

    public java.lang.ClassLoader getClassLoader()

  Deprecated. No more useful.

  Returns the ClassLoader used to retrieve the classes for the creation of ProxyMBeans.
  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.

### 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.

### 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 ProxyMBean. The returned name can be null, if there is no Java class corresponding to the needed ProxyMBean.
  Specified by:
    getClassForProxyMBean in interface RemoteMBeanServer
  Parameters:
    `instance` - The ObjectInstance (ObjectName, Java class name) of the MBean which is represented by the ProxyMBean.
  Returns:
    The name of the Java class of the ProxyMBean.

### setMode

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

  Sets the notification forwarding 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 connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### 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 connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### getNotifications

    public void getNotifications()

  Retrieves all notifications in the cache.
  Throws:
    CommunicationException - The connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### 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 connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### getPeriod

    public int getPeriod()

  Gets the period for notification forwarding in milliseconds.

  The default value is 1000 milliseconds.

  Throws:
    CommunicationException - The connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### clearCache

    public void clearCache()

  Clear the notification cache. All notifications saved in the cache then will be discarded without being sent.
  Throws:
    CommunicationException - The connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### setCacheSize

    public int setCacheSize(int size,
                            boolean discardOverflow)
                     throws JMRuntimeException

  Set 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 connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### 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 connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### 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 connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### 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 connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### 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 connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### getOverflowMode

    public int getOverflowMode()

  Returns 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 connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### 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 connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### 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 connector client is not connected to connector server or a problem was encountered in the connection to the connector server.
    UnauthorizedSecurityException - The authentication information sent to the `ConnectorServer` was not correct. Login based authentication failed.

### 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.

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