Module java.rmi
Package java.rmi.server

# Class RemoteServer

java.lang.Object
java.rmi.server.RemoteObject
java.rmi.server.RemoteServer

All Implemented Interfaces:
  `Serializable`, `Remote`

Direct Known Subclasses:
  `UnicastRemoteObject`

public abstract class RemoteServer extends RemoteObject
The `RemoteServer` class is the common superclass to server implementations and provides the framework to support a wide range of remote reference semantics. Specifically, the functions needed to create and export remote objects (i.e. to make them remotely available) are provided abstractly by `RemoteServer` and concretely by its subclass(es).

Since:
  1.1
See Also:
  - Serialized Form

## Field Summary

### Fields declared in class java.rmi.server.RemoteObject

`ref`

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`RemoteServer()`
Constructs a `RemoteServer`.
`protected`
`RemoteServer(RemoteRef ref)`
Constructs a `RemoteServer` with the given reference type.

## Method Summary

Modifier and Type
Method
Description
`static String`
`getClientHost()`
Returns a string representation of the client host for the remote method invocation being processed in the current thread.
`static PrintStream`
`getLog()`
Returns stream for the RMI call log.
`static void`
`setLog(OutputStream out)`
Log RMI calls to the output stream `out`.

### Methods declared in class java.rmi.server.RemoteObject

`equals, getRef, hashCode, toString, toStub`

### Methods declared in class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

## Constructor Details

### RemoteServer

protected RemoteServer()
Constructs a `RemoteServer`.

Since:
  1.1

### RemoteServer

protected RemoteServer(RemoteRef ref)
Constructs a `RemoteServer` with the given reference type.

Parameters:
  `ref` - the remote reference
Since:
  1.1

## Method Details

### getClientHost

public static String getClientHost() throws ServerNotActiveException
Returns a string representation of the client host for the remote method invocation being processed in the current thread.

Returns:
  a string representation of the client host
Throws:
  `ServerNotActiveException` - if no remote method invocation is being processed in the current thread
Since:
  1.1

### setLog

public static void setLog(OutputStream out)
Log RMI calls to the output stream `out`. If `out` is `null`, call logging is turned off.

If there is a security manager, its `checkPermission` method will be invoked with a `java.util.logging.LoggingPermission("control")` permission; this could result in a `SecurityException`.

Parameters:
  `out` - the output stream to which RMI calls should be logged
Throws:
  `SecurityException` - if there is a security manager and the invocation of its `checkPermission` method fails
Since:
  1.1
See Also:
  - `getLog()`

### getLog

public static PrintStream getLog()
Returns stream for the RMI call log.

Returns:
  the call log
Since:
  1.1
See Also:
  - `setLog(java.io.OutputStream)`