目次 | 前の項目 | 次の項目 | Java Remote Method Invocation |
RemoteServer
クラスjava.rmi.server.RemoteServer
クラスは、サーバの実装クラスjava.rmi.server.UnicastRemoteObject
およびjava.rmi.activation.Activatable
に共通なスーパークラスです。
package java.rmi.server;public abstract class RemoteServer extends RemoteObject { protected RemoteServer(); protected RemoteServer(RemoteRef ref); public static String getClientHost() throws ServerNotActiveException; public static void setLog(java.io.OutputStream out); public static java.io.PrintStream getLog(); }
RemoteServer
クラスは、抽象クラスであるため、インスタンスを生成できません。このため、サブクラス実装からRemoteServer
のコンストラクタの 1 つを呼び出す必要があります。1 番目のRemoteServer
コンストラクタは、null
リモート参照を使ってRemoteServer
を作成します。2 つ目のRemoteServer
コンストラクタは、所定のリモート参照 ref を使ってRemoteServer
を作成します。
getClientHost
メソッドを使うことによって、アクティブメソッドは、現在実行中のスレッドでアクティブなリモートメソッドを開始させたのがどのホストであるかを判定できます。現在のスレッドでアクティブなリモートメソッドがない場合には、例外ServerNotActiveException
がスローされます。setLog
メソッドは、RMI 呼び出しのログを作り、指定された出力ストリームへ出力します。出力ストリームがnull
である場合には、呼び出しのログは起動されません。getLog
メソッドは、RMI 呼び出しのログに使われるストリームを返します。 これにより、アプリケーションに特有な情報を、同期を取りながら呼び出しログに記録することができます。