旧バージョンの Liberty での Enterprise JavaBeans のルックアップでの振る舞いの変更

20.0.0.12 より前のバージョンの Liberty では、WebSphere Application Server traditional でのように EJB コンポーネントがサーバー・ルート Java Naming and Directory Interface (JNDI) 名前空間にバインドされることはありませんでした。 したがって、ibm-ejb-jar-bnd.xml ファイルまたは ibm-web-bnd.xml ファイル内の @EJB ルックアップおよびバインディングのマイグレーションが必要になることがあります。 Liberty 20.0.0.12 以降を使用していない場合、これらのルックアップでは、同じサーバー内でホストされている EJB コンポーネントには移植可能 JNDI 構文を、別のサーバー内でホストされている EJB コンポーネントには corbaname: URL を使用する必要があります。

Liberty 20.0.0.12 より前のバージョンで受け入れられていたのは、以下の名前空間のみでした。

この規則により、上記に示す名前空間のいずれかで始まっていない lookup 属性値を持つ @EJB アノテーションにフラグが立てられます。


//このルックアップにはフラグが立てられます
@Stateless
@EJB(lookup="ejb/myApp/myModule/MyBeanComponent")

この規則は、「ejblocal:」で始まるストリング・リテラルにもフラグを立てます。


//これはフラッグが建てられます
new InitialContext().lookup("ejblocal:" + getEJBName());

この規則は、上記のネームスペースのいずれかを使用しないJNDI名にもフラグを立てます。 バインディング名の属性値は <ejb-ref>にありますが、エレメントは ibm-ejb-jar-bnd.xml およびibm-web-bnd.xml ファイルにあります。


//このバインディングにはフラグは立てられません
<ejb-ref name="TestBean" binding-name="java:global/TestApp/TestModule/TestBean!test.TestRemoteInterface">

この規則は、上記のネームスペースのいずれかを使用しないJNDI名にもフラグを立てます。 jndiNameの属性 値は <ejbRefBindings> にありますが、エレメントは ibm-ejb-jar-bnd.xmiおよび ibm-web-bnd.xmiファイルにあります。


//この JNDI 名にフラグが立てられます
<ejbRefBindings jndiName="java:myFolder/">

Liberty での Enterprise Java Beans 2.x の使用について詳しくは、『Liberty でのリモート・インターフェースによる Enterprise JavaBeans の使用』を参照してください。