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
Interface CommunicatorServerMBean

All Known Implementing Classes:
  CommunicatorServer

public abstract interface CommunicatorServerMBean

The `CommunicatorServerMBean` interface 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.

Method Summary
`java.lang.String` | `getHost()` Gets the host name used by this `CommunicatorServer`.
`int` | `getPort()` Gets the port number used by this `CommunicatorServer`.
`java.lang.String` | `getProtocol()` Gets the protocol being used by this `CommunicatorServer`.
`int` | `getState()` Gets the state of this `CommunicatorServer` as an integer.
`java.lang.String` | `getStateString()` Gets the state of this `CommunicatorServer` as a string.
`boolean` | `isActive()` Tests if the `CommunicatorServer` is active.
`void` | `setPort(int p)` Sets the port number used by this `CommunicatorServer`.
`void` | `start()` Starts this `CommunicatorServer`.
`void` | `stop()` Stops this `CommunicatorServer`.
`boolean` | `waitState(int s, long timeOut)` Waits to be notified of a change in this object.

Method Detail

### start

    public void start()

  Starts this `CommunicatorServer`.

  Has no effect if this `CommunicatorServer` is `ONLINE` or `STOPPING`.

### stop

    public void stop()

  Stops this `CommunicatorServer`.

  Has no effect if this `CommunicatorServer` is `OFFLINE` or `STOPPING`.

### isActive

    public boolean isActive()

  Tests if the `CommunicatorServer` is active.
  Returns:
    True if CommunicatorServer is active; false otherwise.

### waitState

    public boolean waitState(int s,
                             long timeOut)

  Waits to be notified of a change in this object. It waits until either of the following two conditions has occurred:
  - Another thread notifies a new state that is the same as s argument.
  - The timeout period, specified by the timeout argument in milliseconds, has elapsed.

  The method returns immediately is the timeOut argument is negative. And if timeOut argument equals 0 (zero), it waits only until another thread notifies a new state that is the same as s argument.

  Parameters:
    `s` - The state to wait.
    `timeOut` - The maximum time to wait in milliseconds.
  Returns:
    True if the state is the same as the s argument; false otherwise.

### getState

    public int getState()

  Gets the state of this `CommunicatorServer` as an integer.
  Returns:
    `ONLINE`, `OFFLINE`, `STARTING` or `STOPPING`.

### getStateString

    public java.lang.String getStateString()

  Gets the state of this `CommunicatorServer` as a string.
  Returns:
    One of the strings "ONLINE", "OFFLINE", "STARTING" or "STOPPING".

### getHost

    public java.lang.String getHost()

  Gets the host name used by this `CommunicatorServer`.
  Returns:
    The host name used by this `CommunicatorServer`.

### getPort

    public int getPort()

  Gets the port number used by this `CommunicatorServer`.
  Returns:
    The port number used by this `CommunicatorServer`.

### setPort

    public void setPort(int p)
                 throws java.lang.IllegalStateException

  Sets the port number used by this `CommunicatorServer`.
  Parameters:
    `p` - The port number used by this `CommunicatorServer`.
  Throws:
    java.lang.IllegalStateException - This method has been invoked while the communicator was ONLINE or STARTING.

### getProtocol

    public java.lang.String getProtocol()

  Gets the protocol being used by this `CommunicatorServer`.
  Returns:
    The protocol as a string.

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