UnicastRemoteObject を拡張するリモートオブジェクトクラスが作成されたときはそのオブジェクトはエクスポートされます。この意味は、このオブジェクトが外部の Java 仮想マシンからのコールを受け取ることができ、RMI コールにおいてパラメーターまたは返り値として渡すことができるということです。
オブジェクトは無名ポートまたは指定されたポートのどちらにでもエクスポートできます。UnicastRemoteObject を拡張した以外のオブジェクトでは、java.rmi.server.UnicastRemoteObject.exportObject を使ってオブジェクトを陽にエクスポートします。
| 例外 | 内容 |
|---|---|
| java.rmi.StubNotFoundException |
|
| java.rmi.server.SkeletonNotFoundException |
|
| java.rmi.server.ExportException | ポートが他の VM に使われている |
| 例外 | 内容 |
|---|---|
| java.rmi.UnknownHostException | 未知のホスト |
| java.rmi.ConnectException | ホストへの接続が拒絶された |
| java.rmi.ConnectIOException | 接続作成時に I/O エラー |
| java.rmi.MarshalException | トランスポートヘッダー、コールヘッダー、引数整列時に I/O エラー |
| java.rmi.NoSuchObjectException | 利用できないオブジェクト上のメソッドを呼び出そうとした |
| java.rmi.StubNotFoundException | リモートオブジェクトがエクスポートされていない |
| 例外 | 内容 |
|---|---|
| java.rmi.UnmarshalException |
|
| java.rmi.UnexpectedException | クライアント上でのランタイムを含め、メソッドシグネチャに記載されていない例外が発生。 例外オブジェクトは実際の例外である。 |
| java.rmi.ServerError | サーバがリモートメソッド実行中に発生するエラーのいずれか |
| java.rmi.ServerException | サーバがリモートメソッド実行中に発生するエラーのいずれか。java.rmi.ServerException が発生する原因を参照。 |
| java.rmi.ServerRuntimeException | サーバがメソッド実行中に発生するランタイムエラーのいずれか。メソッドシグネチャに例外の記載があるかも知れない。例外オブジェクトは下層の例外を含む。 |
java.rmi.ServerException にラップされます。つまり java.rmi.ServerException がオリジナルの例外を含みクライアントはそれを抽出できます。
これらの例外は ServerException によってラップされ、クライアントはサーバ上のリモートメソッドに対する自分自身の呼び出しが失敗の原因ではなく、サーバの二次呼び出しが失敗したことを知ることができます。
| 例外 | 内容 |
|---|---|
| java.rmi.server.SkeletonMismatchException | スタブとスケルトンのハッシュ不一致 |
| java.rmi.UnmarshalException | コールヘッダーまたは引数の逆分解抽出中のI/O エラー |
| java.rmi.MarshalException | 返り値を一体化中のプロトコルエラー |
| java.rmi.RemoteException | ストリーム破壊のため、メソッド番号が範囲外 |
java.rmi.Naming クラスと java.rmi.registry.Registry インタフェースのメソッドで発生する例外をリストしたものです。
| 例外 | 内容 |
|---|---|
| java.rmi.AccessException | 操作を拒絶された。レジストリはバインド、リバインドおよびアンバインドを同一ホスト上に限定する。lookup は任意のホストからでも実行可能。 |
| java.rmi.AlreadyBoundException | すでにバインドされている名前をバインドしようとした |
| java.rmi.NotBoundException | バインドされていない名前をルックアップしようとした |
| java.rmi.UnknownHostException | 未知のホスト上のレジストリにコンタクトしようとした |
| 例外 | 内容 |
|---|---|
| java.rmi.RMISecurityException | セキュリティ例外が RMISecurityManager によってスローされた |
| java.rmi.server.ServerCloneException | クローン失敗 |
| java.rmi.server.ServerNotActiveException | リモートサーバがリモートメソッドを実行していない時に RemoteServer.getClientHost メソッドによってクライアントホストを得ようとした |
| java.rmi.server.SocketSecurityException | 不法なポートからオブジェクトをエクスポートしようとした |