public interface

CommunicatorServerMBean

com.sun.jmx.snmp.daemon.CommunicatorServerMBean
Known Indirect Subclasses

Class Overview

Defines generic behaviour for the server part of a connector or an adaptor. Most connectors or adaptors extend CommunicatorServer and inherit this behaviour. Connectors or adaptors that do not fit into this model do not extend CommunicatorServer.

An CommunicatorServer is an active object, it listens for client requests and processes them in its own thread. When necessary, a CommunicatorServer creates other threads to process multiple requests concurrently.

A CommunicatorServer object can be stopped by calling the stop method. When it is stopped, the CommunicatorServer no longer listens to client requests and no longer holds any thread or communication resources. It can be started again by calling the start method.

A CommunicatorServer has a state property which reflects its activity.

CommunicatorServer State
stopped OFFLINE
starting STARTING
running ONLINE
stopping STOPPING

The STARTING state marks the transition from OFFLINE to ONLINE.

The STOPPING state marks the transition from ONLINE to OFFLINE. This occurs when the CommunicatorServer is finishing or interrupting active requests.

A CommunicatorServer may serve several clients concurrently. The number of concurrent clients can be limited using the property maxActiveClientCount. The default value of this property is defined by the subclasses.

When a CommunicatorServer is unregistered from the MBeanServer, it is stopped automatically.

This API is a Sun Microsystems internal API and is subject to change without notice.

Summary

Public Methods
abstract String getHost()
Gets the host name used by this CommunicatorServer.
abstract int getPort()
Gets the port number used by this CommunicatorServer.
abstract String getProtocol()
Gets the protocol being used by this CommunicatorServer.
abstract int getState()
Gets the state of this CommunicatorServer as an integer.
abstract String getStateString()
Gets the state of this CommunicatorServer as a string.
abstract boolean isActive()
Tests if the CommunicatorServer is active.
abstract void setPort(int port)
Sets the port number used by this CommunicatorServer.
abstract void start()
Starts this CommunicatorServer.
abstract void stop()
Stops this CommunicatorServer.
abstract boolean waitState(int state, long timeOut)
Waits untill either the State attribute of this MBean equals the specified state parameter, or the specified timeOut has elapsed.

Public Methods

public abstract String getHost ()

Gets the host name used by this CommunicatorServer.

Returns
  • The host name used by this CommunicatorServer.

public abstract int getPort ()

Gets the port number used by this CommunicatorServer.

Returns
  • The port number used by this CommunicatorServer.

public abstract String getProtocol ()

Gets the protocol being used by this CommunicatorServer.

Returns
  • The protocol as a string.

public abstract int getState ()

Gets the state of this CommunicatorServer as an integer.

Returns
  • ONLINE, OFFLINE, STARTING or STOPPING.

public abstract String getStateString ()

Gets the state of this CommunicatorServer as a string.

Returns
  • One of the strings "ONLINE", "OFFLINE", "STARTING" or "STOPPING".

public abstract boolean isActive ()

Tests if the CommunicatorServer is active.

Returns
  • True if connector is ONLINE; false otherwise.

public abstract void setPort (int port)

Sets the port number used by this CommunicatorServer.

Parameters
port The port number used by this CommunicatorServer.
Throws
IllegalStateException This method has been invoked while the communicator was ONLINE or STARTING.

public abstract void start ()

Starts this CommunicatorServer.

Has no effect if this CommunicatorServer is ONLINE or STOPPING.

public abstract void stop ()

Stops this CommunicatorServer.

Has no effect if this CommunicatorServer is OFFLINE or STOPPING.

public abstract boolean waitState (int state, long timeOut)

Waits untill either the State attribute of this MBean equals the specified state parameter, or the specified timeOut has elapsed. The method waitState returns with a boolean value indicating whether the specified state parameter equals the value of this MBean's State attribute at the time the method terminates. Two special cases for the timeOut parameter value are:

  • if timeOut is negative then waitState returns immediately (i.e. does not wait at all),
  • if timeOut equals zero then waitState waits untill the value of this MBean's State attribute is the same as the state parameter (i.e. will wait indefinitely if this condition is never met).

Parameters
state The value of this MBean's State attribute to wait for. state can be one of:
  • CommunicatorServer.OFFLINE,
  • CommunicatorServer.ONLINE,
  • CommunicatorServer.STARTING,
  • CommunicatorServer.STOPPING.
timeOut The maximum time to wait for, in milliseconds, if positive. Infinite time out if 0, or no waiting at all if negative.
Returns
  • true if the value of this MBean's State attribute is the same as the state parameter; false otherwise.