UnicastRemoteObject
を拡張するリモート・オブジェクト・クラスが作成されたときは、そのオブジェクトはエクスポートされます。これは、このオブジェクトが外部のJava仮想マシンからの呼出しを受け取ることができ、RMI呼出しにおいてパラメータまたは戻り値として渡せることを意味します。 オブジェクトは、匿名ポートまたは指定されたポートのどちらにでもエクスポートできます。 UnicastRemoteObject
の拡張でないオブジェクトでは、java.rmi.server.UnicastRemoteObject.exportObject
を使用してオブジェクトを明示的にエクスポートします。
java.rmi.StubNotFoundException
スタブのクラスが見つからない。
スタブが次のどちらかのエラーを起こし、同じ名前のクラスと名前の競合を起こした。
codebaseが間違っているためURLが正しくない。
スタブのクラスが正しくない。
java.rmi.server.SkeletonNotFoundException
ノート: この例外は、Java 2 SDK、Standard Edition、v1.2で推奨されていません
スケルトンのクラスが見つからない。
スケルトンが次のどちらかのエラーを起こし、同じ名前のクラスと名前の競合を起こした
codebaseが間違っているためURLが正しくない。
スケルトンのクラスが正しくない。
java.rmi.server.ExportException
ポートがほかのVMに使われている。
java.rmi.UnknownHostException
未知のホスト。
java.rmi.ConnectException
ホストへの接続が拒否された。
java.rmi.ConnectIOException
接続作成時の入出力エラー。
java.rmi.MarshalException
トランスポート・ヘッダー、呼出しヘッダー、引数整列時の入出力エラー。
java.rmi.NoSuchObjectException
利用できないオブジェクト上のメソッドを呼び出そうとした。
java.rmi.StubNotFoundException
リモート・オブジェクトがエクスポートされていない。
java.rmi.activation.ActivateFailedException
起動可能オブジェクトへのリモート呼出しで起動に失敗したときに、RMIランタイムによりスローされる
java.rmi.UnmarshalException
次の操作時にストリームが破壊され、入出力エラーまたはプロトコル・エラーが発生した
戻り値のクラスが見つからない。
java.rmi.UnexpectedException
メソッド・シグニチャに記載されていない例外が発生(実行時例外を除く)。 UnexpectedException
例外オブジェクトはサーバーによってスローされた基底の例外を含む。
java.rmi.ServerError
サーバーがリモート・メソッドを実行中に発生するエラーのどれか。 ServerError
例外オブジェクトには、サーバーによってスローされた基本エラーが含まれています。
java.rmi.ServerException
この例外は、サーバー上での呼出し処理の実行中にRemoteException
がスローされた場合に、リモート・メソッド呼び出し(引数の非整列化またはリモート・メソッド自体)の結果としてスローされる。 例については、「セクションA.3.1 java.rmi.ServerExceptionが発生する原因」を参照してください。
java.rmi.ServerRuntimeException
ノート: この例外は、Java 2 SDK、Standard Edition、v1.2で推奨されていません
Java 2 SDK, Standard Edition, v1.2と互換性のあるバージョンが動作しているサーバーは、この例外をスローしない。 RuntimeException
がクライアントにそのまま伝えられる。
java.rmi.ServerException
が発生する原因サーバーが自身でリモート・メソッド呼出しを実行中にサーバー上で発生する可能性がある、基になる例外があります。 これらの例外はjava.rmi.ServerException
にラップされます。つまり、java.rmi.ServerException
にはクライアントが抽出する元の例外が含まれます。 これらの例外はServerException
によってラップされるので、クライアントはサーバー上での自身のリモート・メソッド呼出しは失敗しなかったけれども、サーバーが行った2番目のリモート・メソッド呼出しが失敗したことはわかります。
java.rmi.server.SkeletonMismatchException
ノート: この例外はJava 2 SDK、Standard Edition、v1.2以降では推奨されていません
スタブとスケルトンのハッシュ不一致。
java.rmi.UnmarshalException
java.rmi.MarshalException
戻り値を整列化中のプロトコル・エラー。
java.rmi.RemoteException
RemoteException
はサーバーからのリモート呼出しの結果として発生する。
次の表はjava.rmi.Naming
クラスとjava.rmi.registry.Registry
インタフェースのメソッドで発生する例外を示したものです。
java.rmi.AccessException
操作を拒否された。 レジストリはバインド、リバインドおよびアンバインドを同一ホスト上に限定する。 lookupは任意のホストからでも実行可能。
java.rmi.AlreadyBoundException
すでにバインドされている名前をバインドしようとした。
java.rmi.NotBoundException
バインドされていない名前を検索しようとした。
java.rmi.UnknownHostException
未知のホスト上のレジストリにコンタクトしようとした。
次に、起動可能オブジェクトに関連する動作でスローされる可能性がある、例外の一覧を示します。 起動APIはjava.rmi.activationパッケージに含まれています。
java.rmi.activation.ActivateFailedException
起動可能オブジェクトへのリモート呼出しで起動に失敗したときにRMIランタイムによってスローされる。
java.rmi.activation.ActivationException
起動インタフェースおよびクラスによって使用される一般的な例外クラス。
java.rmi.activation.UnknownGroupException
ActivationGroupID
パラメータまたはActivationGroupDesc
パラメータのActivationGroupID
が無効になったときに、起動クラスおよびインタフェースのメソッドによりスローされる。
java.rmi.activation.UnknownObjectException
ActivationID
パラメータが無効になったときに、起動クラスまたはインタフェースのメソッドによりスローされる。
java.rmi.RMISecurityException
ノート: この例外はJava 2 SDK、Standard Edition、v1.2以降では推奨されていません
RMISecurityManager
によってスローされたセキュリティ例外。
java.rmi.server.ServerCloneException
複製(コピー)に失敗した。
java.rmi.server.ServerNotActiveException
リモート・サーバーがリモート・メソッドで実行されていない時にRemoteServer.getClientHost
メソッドによってクライアント・ホストを取得しようとした。
java.rmi.server.SocketSecurityException
不法なポートからオブジェクトをエクスポートしようとした。