EJB クライアント側でユーザ定義例外がcatch できない障害への対処

事象説明

EJB サーバ側でユーザ定義例外が発生した場合に、クライアント側でその例外を認識できずにcatchできない場合、クライアント側で、サーバ側で起きたユーザ定義例外ではないエラーが発生します。

状況の確認方法


クライアントjar もしくはクライアントのクラスパスに、サーバ側で発生しているユーザ定義例外クラスが含まれているか、また、クライアント側のリモートインターフェースの該当メソッドのthrows 句に、そのユーザ定義例外が宣言されているかを確認してください。

問題の検出方法

ログファイルに例外が書き込まれます。

原因の特定

サーバとクライアントで同じ例外クラスを認識できていないこと、もしくは、クライアント側のリモートインターフェースの該当メソッドのthrows 句に、そのユーザ定義例外が宣言されていないことが考えられます。

復旧方法

クラスパスの設定を見直し、正しいjar を置いてください。もしくは、アプリケーションを正しいものに置き換えてください。


予防のための対策

あらかじめ、クラスパスの設定が正しいかを確認してください。
また、ユーザ定義例外について変更や追加を行なった場合は、必ずクライアントとサーバ側両方のアプリケーションを更新してください。

対象となるエラー事象

java.rmi.UnexpectedException


関連情報