Liberty 이전 버전의 Enterprise JavaBeans 검색에 대한 동작 변경

20.0.0.12 이전 버전의 Liberty에서 EJB 컴포넌트가 WebSphere Application Server traditional에 있는 경우 서버 루트 JNDI(Java Naming and Directory Interface) 네임스페이스에 바인드되지 않으므로 ibm-ejb-jar-bnd.xml 또는 ibm-web-bnd.xml 파일에서의 @EJB 검색 및 바인딩에 마이그레이션이 필요할 수 있습니다. Liberty 20.0.0.12 이상을 사용 중이지 않은 경우 동일한 서버 내에 호스팅된 EJB 컴포넌트의 경우 휴대용 JNDI 구문을 사용하고 다른 서버에서 호스팅된 EJB 컴포넌트의 경우 corbaname: URL을 사용해야 합니다.

20.0.0.12 이전 버전의 Liberty에서 다음 네임스페이스만 허용되었습니다.

이 규칙은 다음을 플래그 지정합니다. @EJB 어노테이션 lookup 위에 나열된 네임스페이스 중 하나로 시작하지 않는 속성 값입니다.


//이 검색에는 
@Stateless
@EJB(lookup="ejb/myApp/myModule/MyBeanComponent ") 
 플래그가 지정됩니다.

이 규칙은 또한 "ejblocal:"로 시작하는 문자열 리터럴도 플래그 지정합니다.


//이는 
new InitialContext().lookup("ejblocal:" + getEJBName());
으로 플래그가 지정됩니다.

이 규칙은 또한 다음에 대해 위에 나열된 네임스페이스 중 하나를 사용하지 않는 JNDI 이름을 플래그 지정합니다. binding-name 속성 값 <ejb-ref> ibm-ejb-jar-bnd.xmlibm-web-bnd.xml 파일의 요소.

< code> // 이 바인딩은 플래그 지정되지 않습니다. < ejb-ref name= "TestBean" binding-name="java:global/TestApp/TestModule/TestBean!test.TestRemoteInterface"> < /code>

이 규칙은 또한 다음에 대해 위에 나열된 네임스페이스 중 하나를 사용하지 않는 JNDI 이름을 플래그 지정합니다. jndiName 속성 값 <ejbRefBindings> ibm-ejb-jar-bnd.xmiibm-web-bnd.xmi 파일의 요소.

< code> // 이 JNDI 이름은 플래그 지정됩니다. <ejbRefBindings jndiName= "java:myFolder/"> < /code>

Liberty에서 Enterprise Java Beans 2.x를 사용하는 데 대한 자세한 정보는 Liberty에서 원격 인터페이스가 있는 엔터프라이즈 JavaBeans 사용을 참조하십시오.