目次 | 前へ | 次へ Java Remote Method Invocation


8.5 Skeleton インタフェース

Skeleton インタフェースは、rmic コンパイラにより作成されたスケルトンの実装によってだけ使用されます。リモートオブジェクトに対するスケルトンとは、実際のリモートオブジェクトの実装へ呼び出しをディスパッチする、サーバー側のエンティティーです。
注 - Skeleton インタフェースは、Java 2 SDK, Standard Edition, v1.2 では非推奨です。rmic スタブコンパイラによって生成された 1.1 の各スケルトンクラス (およびデフォルトの rmic -vcompat を使って JDK 1.2 で生成された、JDK 1.1 互換のスケルトン) は、このインタフェースを実装しています。Java 2 SDK, Standard Edition, v1.2 互換のバージョンでは、リモートメソッド呼び出しのディスパッチに、スケルトンが必要なくなりました。1.2 以降のバージョンと互換性のあるスタブを生成するには、コマンド rmic でオプション -v1.2 を指定してください。
package java.rmi.server;

public interface Skeleton {
    void dispatch(Remote obj, RemoteCall call, int opnum, long hash)
                throws Exception;
    Operation[] getOperations();
}


dispatch メソッドは、call オブジェクトで取得した入力ストリームのすべての引数を非整列化し、実際のリモートオブジェクトの実装である obj 上のメソッド (操作番号 opnum で示される) を呼び出します。そして戻り値をストリームに流すため整列化するか、または呼び出し中に例外が発生した場合には例外をスローします。

getOperations メソッドは、リモートオブジェクトのメソッドに対する操作記述子が書かれた配列を返します。



目次 | 前へ | 次へ
Copyright © 1997, 2010, Oracle and/or its affiliates. All rights reserved.