ここでは、EJB JNDI 参照を使用する場合に注意すべき点をまとめています。注意事項の詳細が、特定のソースアプリケーションサーバーのプラットフォームに固有なものである場合は、その旨を記してあります。
既存の WebLogic アプリケーション内の JNDI コンテキストのルートに EJB がマップされている場合は、前述の JNDI コンテキスト内の EJB 参照の名前を変更する (これらの参照を JNDI コンテキストルートからサブコンテキスト ejb/ に移動する) 必要があるだけです。
これらの EJB がすでに既存のアプリケーション内の JNDI サブコンテキスト ejb/ にマップ済みの場合は、何も変更する必要はありません。
ただし、Sun Java Studio IDE 内の配備記述子に EJB の JNDI 名を設定している場合は、EJB の JNDI 名にプレフィックス ejb/ を含めないようにすることが重要です。これらの EJB 参照は、Sun Java System Application Server 8.2 によって JNDI ejb/ サブコンテキスト内に自動的に配置されることを忘れないでください。つまり、配備記述子内で EJB に BankTeller という JNDI 名が指定されている場合、Sun Java System Application Server 8.2 によって、この EJB に対する参照は ejb/BankTeller に変換されます。この EJB のクライアントコンポーネントは、ルックアップの実行時に、この JNDI 名を使用する必要があります。
グローバル JNDI コンテキストを使用した EJB 参照の取得は、Sun Java System Application Server 8.2 に最も有効で適切なアプローチです。しかしながら、J2EE 仕様にできるだけ近い形で、EJB クライアントアプリケーションのローカル JNDI コンテキストを使用して、EJB 参照を取得することをお勧めします。ローカル JNDI コンテキストを使用する場合、まず、クライアント部分の配備記述子内 (Web アプリケーションの場合は web.xml、EJB コンポーネントの場合は ejb-jar.xml) に EJB リソース参照を宣言する必要があります。