ホームインタフェースのルックアップに失敗する場合の対処

クライアントでのEJB ホームインタフェースのルックアップに失敗する場合の対処について説明します。

EJB がドメインに配備されていない場合

以下の例外により失敗する場合、対象となるEJB がドメインに配備されていないか別のドメインのJNDIサーバにルックアップを行なっている可能性があります。

javax.naming.NameNotFoundException: "<EJB のJNDI 名>" not found

以下の点を確認してください。

EJB のロードに失敗している場合

ドメインにEJB は配備されているが、EJB コンテナが何らかの理由によりEJB のロードに失敗した場合、ホームインタフェースのCORBA リファレンスが名前サーバに登録されないため、同様にJNDI ルックアップに失敗します。このとき以下の例外がルックアップ時に発生します。

javax.naming.NameNotFoundException [Root exception is org.omg.CosNaming.NamingContextPackage.NotFound: IDL:omg.org/CosNaming/NamingContext/NotFound:1.0]

ロードに失敗した原因はEJB コンテナのログファイルに出力されています。よくあるエラーとしてはEJB から参照するライブラリが見つからないためにClassNotFoundException やNoClassDefFoundError が発生しているケースです。この場合、必要なライブラリをアプリケーションに含めるか、ドメインの共通ライブラリとして使用するように設定してください。設定方法はコンフィグレーションの章を参照してください。


関連情報