目次 | 前の項目 | 次の項目 | 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
でオプション -v
1.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
メソッドは、リモートオブジェクトのメソッドに対する操作記述子が書かれた配列を返します。