MDB (EJB3.1) を JBoss7.1.1 アプリケーション サーバーにデプロイしています。データソース インジェクションに @Resource を使用する場合、グローバル JNDI 参照名 (ENC + ローカル JNDI 参照名) を使用すると、問題なく動作します。しかし、この本の 147 ページから、次の記述を見ることができます。
EJB 3 は基本的に、コードで使用されるすべての JNDI 名がローカル参照であると想定し、名前の先頭に java: comp/env/ プレフィックスを自動的に追加します。
これは実際には、最初にグローバル JNDI 参照を探し、見つからない場合は、それがローカル JNDI 参照であると仮定して ENC を追加すると言っていますか? または、これは完全にアプリケーション サーバーの実装固有のものですか? グローバル JNDI 名は @Resource の mappedName プロパティで指定する必要がありますが、名前で機能します。