目次 | 前の項目 | 次の項目 Java Remote Method Invocation


5.2 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 呼び出しのログに使われるストリームを返します。これにより、アプリケーションに特有な情報を、同期を取りながら呼び出しログに記録することができます。



目次 | 前の項目 | 次の項目
Copyright © 1997-1998 Sun Microsystems, Inc. All Rights Reserved.