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