A.2. Jakarta Enterprise Beans リファレンス解決


このセクションでは、JBoss EAP による @EJB および @Resource の実装方法について説明します。XML は常にアノテーションを上書きしますが、同じルールが適用されることに注意してください。

@EJB アノテーションのルール
  • @EJB アノテーションには mappedName() 属性もあります。この仕様はこれをベンダー固有のメタデータとして残しますが、JBoss EAP は参照している Jakarta Enterprise Beans のグローバル Java Naming and Directory Interface 名として mappedName() を認識します。mappedName() を指定した場合、他の属性はすべて無視され、バインディングにこのグローバル Java Naming および Directory Interface 名が使用されます。
  • 属性が定義されていない状態で @EJB を指定する場合:

    @EJB
    ProcessPayment myEjbref;

    次に、以下のルールが適用されます。

    • 参照 Bean の Jakarta Enterprise Beans JAR は、@EJB インジェクションで使用されるインターフェイスで Jakarta Enterprise Beans を検索します。同じビジネスインターフェイスをパブリッシュする Jakarta Enterprise Beans が複数存在する場合、例外が発生します。このインターフェイスを持つ BIOSean が 1 つしかない場合は、その Bean が使用されます。
    • EAR でインターフェイスを公開する Jakarta Enterprise Beans を検索します。重複が生じると、例外が発生します。それ以外の場合は、一致する Bean を返します。
    • JBoss EAP ランタイムで、そのインターフェイスの Jakarta Enterprise Beans をグローバルに検索します。同様に、複製が見つかると、例外が発生します。
  • @EJB.beanName()<ejb-link> に対応します。beanName() が定義されている場合、検索で beanName() をキーとして使用する以外に定義されていない属性を持つ @EJB と同じアルゴリズムを使用します。このルールの例外は、ejb-link # 構文を使用する場合です。これは、参照している Jakarta Enterprise Beans が置かれている EAR の JAR に相対パスを配置することができます。詳細は、Jakarta Enterprise Beans 3.2 仕様を参照してください。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.