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