目次 | 前の項目 | 次の項目 | Java Remote Method Invocation |
Skeleton インタフェースは、rmic コンパイラにより作成されたスケルトンの実装によってだけ使用されます。リモートオブジェクトに対するスケルトンとは、実際のリモートオブジェクトの実装へ呼び出しをディスパッチする、サーバ側のエンティティです。
注 - Skeleton インタフェースは、JDK 1.2 では推奨されません。rmic スタブコンパイラによって生成された 1.1 の各スケルトンクラス (およびデフォルトの rmic -vcompat を使って JDK 1.2 で生成された、JDK 1.1 互換のスケルトン) は、このインタフェースを実装しています。JDK 1.2 互換のバージョンでは、リモートメソッド呼び出しのディスパッチに、スケルトンが必要なくなりました。JDK 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
メソッドは、呼び出しオブジェクトから入力ストリームとして得られた引数をストリームの分解によって取り出し、実際のリモートオブジェクトの実装である obj 上のメソッド (操作番号 opnum で示される) を呼び出します。そして戻り値をストリームに流すため整列化するか、または呼び出し中に例外が発生した場合には例外をスローします。
getOperations
メソッドは、リモートオブジェクトのメソッドに対する操作記述子が書かれた配列を返します。