| 目次 | 前の項目 | 次の項目 | Java Remote Method Invocation |
Skeleton インタフェース Skeletonインタフェースは、rmicコンパイラにより作成されたスケルトンの実装によってだけ使用されます。リモートオブジェクトに対するスケルトンとは、実際のリモートオブジェクトの実装へ呼び出しをディスパッチする、サーバ側のエンティティです。
注 -Skeletonインタフェースは、Java 2 SDK, Standard Edition, v1.2 では推奨されません。rmicスタブコンパイラによって生成された 1.1 の各スケルトンクラス (およびデフォルトのrmic -vcompatを使って 1.2 で生成された、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メソッドは、リモートオブジェクトのメソッドに対する操作記述子が書かれた配列を返します。