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