EJB の JBoss 固有のデプロイメント記述子
jboss.xml に、
ejb-jar.xml で定義された EJB ローカル参照の JNDI 名が含まれることがあります。
これらの参照は EJB ローカル参照をその JNDI 名にマップします。
WebSphere Application Server 上でこれらの参照が正しく作動するには、情報を WebSphere Application Server のバインディング・ファイルに移動しなければなりません。
このルールは jboss.xml ファイルに見つかった EJB ローカル参照にフラグを付けます、 自動修正が利用可能になると、 JBoss XML に移行されたことを示すコメントが付けられます。
これは、自動修正を実行するかどうかを決定するために使用されます。 を使用することができる。
自動修正が利用可能になると、JNDI名は<span.xml>ファイルから<span.xml>ファイルへコピーされる。 ファイルからjboss.xml ファイルにコピーされます。 WebSphere ファイルにコピーされます。
例えば、以下の例では、MyBean への参照を定義している MyBean2 を示しています。
まず、<ejb-local-ref>は次のように定義されます。 ejb-jar.xml ファイルで定義される:
< span class="Code"> < ejb-jar>
< span class= "indent2"> < /span> < enterprise-beans>
< span class= "indent4"> < /span> < session>
<display-name>MyBean</display-name>
<ejb-name>MyBean</ejb-name>
<home>com.ibm.ejb.MyBeanHome</home>
<remote>com.ibm.ejb.MyBean</remote>
<ejb-class>com.ibm.ejb.MyBeanBean</ejb-class>
<session-type>ステートレス</session-type>
<transaction-type>コンテナー</transaction-type>
< span class= "indent4"> < /span> < span class="indent2"> < /span> < jndi-name>ejb.MyBean< /ejb-name>
...
</session>
< span class= "indent4"> < /span> < session>
<display-name>MyBean2</display-name>
<ejb-name>MyBean2</ejb-name>
<home>com.ibm.ejb.MyBean2Home</home>
<remote>com.ibm.ejb.MyBean2</remote>
<ejb-class>com.ibm.ejb.MyBean2Bean</ejb-class>
<session-type>ステートレス</session-type>
<transaction-type>コンテナー</transaction-type>
< span class= "indent4"> < /span> < span class="indent2"> < /span> < ejb-local-ref>
<description></description>
<ejb-ref-name>EJB/MyBean</ejb-ref-name>
<ejb-ref-type>セッション</ejb-ref-type>
<local-home>com.ibm.ejb.MyBeanHome</local-home>
<local>com.ibm.ejb.MyBean</local>
</ejb-local-ref>
< span class= "indent4"> < /span> < span class="indent2"><jndi-name>ejb.MyBean2</ejb-name>
...
</session>
< span class= "indent2"> < /span> < enterprise-beans>
< EJB-jar>
次に、対応する <ejb-local-ref> JNDI 名が
jboss.xml ファイルで定義されます。
< jboss>
< span class= "indent2"> < /span> < enterprise-beans>
< span class= "indent4"> < /span> < session>
<ejb-name>MyBean</ejb-name>
<jndi-name>ejb.MyBean</jndi-name>
</session>
< span class= "indent4"> < /span> < session>
<ejb-name>MyBean2</ejb-name>
<jndi-name>ejb.MyBean2</jndi-name>
< span class= "indent4"> < /span> < span class="indent2"> < /span> < ejb-local-ref>
<ejb-ref-name>EJB/MyBean</ejb-ref-name>
< span class= "indent4"> < /span> < span class="indent4"> < /span> < local-jndi-name>ejb.MyBean< /jndi-name>
</ejb-local-ref>
</session>
</enterprise-beans>
</jboss>
自動修正では ejb.MyBean バインディングファイルにJNDI名を追加し に関連付けます。 ejb/MyBean のローカル参照と関連付けます。 MyBean2.
バインディング・ファイルがない場合は作成されます。
Java コード内で、ネーミング・コンテキストは、次の例のようにして参照できます。
< span class="Code"> < span class= "indent4"> < /span>javax.naming.Context ctx = new javax.naming.InitialContext();
Object beanRef = ctx.lookup("java:comp/env/ejb/MyBean");