EJB 3.x 모듈 고려사항

EJB(Enterprise JavaBeans) 3.x 모듈 사용 시 다음 고려사항을 기억하십시오.

버전 8.0은 EJB 3.x-레벨 모듈에서 1.x 및 2.x 엔티티 Bean을 지원하지 않습니다.

IBM®WebSphere® Application Server 버전 8.0은 EJB 3.x-레벨 모듈에서 1.x 및 2.x BMP(Bean Managed Persistence) 및 CMP(Container Managed Persistence) 엔티티 Bean의 사용을 지원하지 않습니다. EJB 엔티티 Bean은 V8.0에서 사용될 수 있지만 EJB 2.1 이전 레벨 모듈에서 패키지되어야 합니다.

EJB 3.x-레벨 모듈에서 EJB 엔티티 Bean으로 패키지된 Java EE(Java™ Platform, Enterprise Edition) 애플리케이션은 버전 8.0에서 설치되지 않습니다.

다음 중 하나가 true이면 EJB JAR(Java archive) 파일은 EJB 3.x 모듈이 되는 것으로 간주됩니다.
  • EJB JAR 파일은 EJB 3.0 또는 EJB 3.1 헤더 스펙으로 ejb-jar.xml 파일에서 구성 데이터를 포함합니다. 예를 들어 다음과 같습니다.
    <ejb-jar id="ejb-jar_ID" version="3.0"
          xmlns="http://java.sun.com/xml/ns/javaee"
          	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          	xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd">
  • EJB JAR 파일은 구성 데이터를 제공하고 ejb-jar.xml 배치 디스크립터 파일을 포함하지 않는 EJB 3.x-스타일 소스 어노테이션이 있는 Bean을 포함합니다.

EJB 2.x 이전 모듈을 사용하여 EJB 3.x 모듈을 다시 패키지해야 합니다. 그렇지 않으면 엔티티 Bean을 포함한 애플리케이션의 설치가 실패합니다.

어노테이션

어노테이션 대 배치 디스크립터 또는 모두 사용을 고려하십시오. 어노테이션에 대한 자세한 정보는 EJB 3.x 메타데이터 어노테이션 주제를 참조하십시오.

EJB 모듈

WebSphere Application Server 버전 8.0은 1.1, 2.0, 2.1, 3.0 또는 3.1 레벨에서 선언한 ejb-jar.xml 배치 디스크립터로, 또는 ejb-jar.xml 배치 디스크립터가 없이 EJB 모듈 JAR(Java archive) 파일을 지원합니다. 배치 디스크립터가 없으면 EJB 모듈은 3.0 레벨 이상에 있다고 가정합니다.

EJB 3.x Bean을 포함하는 EJB 모듈은 EJB 3.0 또는 EJB 3.1 레벨이도록 선언해야 합니다. ejb-jar.xml 배치 디스크립터 레벨을 3.0 또는 3.1로 설정하거나 모듈이 ejb-jar.xml 배치 디스크립터를 포함하지 않도록 확인하여 수행될 수 있습니다. 모듈 레벨이 2.1 이전인 경우, 어노테이션 스캔 또는 자원 인젝션과 같은 EJB 3.x-특정 기능이 수행되지 않습니다.

엔티티 Bean은 EJB 3.x 레벨 모듈에서 지원되지 않습니다. 2.1 이전 레벨의 EJB 모듈에 엔티티 Bean을 배치해야 합니다.

EJB 3.x 모듈을 배치 디스크립터와 패키지하려는 경우 몇 가지 방법으로 수행할 수 있습니다. EJB 3.x 모듈을 EJB 3.x 스타일 세션 및 메시지 구동 Bean과 명시적으로, EJB 2.1 스타일 세션 및 메시지 구동 Bean과 명시적으로 또 는 2.1과 3.x 스타일 Bean의 조합으로 패키지합니다. XML 배치 디스크립터는 버전 3.0 또는 3.1 배치 디스크립터여야 합니다. 2.1 엔티티 Bean은 2.1 배치 디스크립터로 모듈에 패키지되어야 합니다. EJB 3.x Bean을 포함하는 EJB 모듈은 제품에서 실행 시 EJB 3.0 또는 EJB 3.1 스펙 레벨이어야 합니다. ejb-jar.xml 배치 디스크립터 레벨을 3.0 또는 3.1로 설정하여 EJB 3.x Bean을 지원하도록 EJB 모듈을 준비하거나, 또는 모듈이 ejb-jar.xml 배치 디스크립터를 포함하지 않도록 할 수 있습니다. 모듈 레벨이 EJB 2.1 이하인 경우 어노테이션 스캔 또는 자원 인젝션을 포함하여 EJB 3.x 기능이 런타임 시에 수행되지 않습니다.

Java EE 애플리케이션 클라이언트 모듈

제품은 Java EE 애플리케이션 클라이언트 모듈 지원을 제공합니다. 또한, 인젝션이 @EJB 어노테이션을 통해 정의되면 클라이언트 컴포넌트로의 EJB 참조 인젝션을 지원합니다.

주의: EJB 3.x는 자체의 엔터프라이즈 Bean을 작성하는 엔터프라이즈 Bean의 인젝션을 지원하지 않습니다. 자체의 엔터프라이즈 Bean을 작성하는 엔터프라이즈 Bean을 삽입하지 마십시오.

Java EE 클라이언트 컴포넌트 디스크립터에서 EJB 3.x 비즈니스 인터페이스에 대한 ejb-ref 참조 정의

EJB 3.x 비즈니스 인터페이스를 가리키는 application-client.xml 디스크립터에서 ejb-ref를 정의할 수 있습니다. EJB 3.x 비즈니스 인터페이스는 홈 사용 없이 직접 액세스되지만, Java EE의 ejb-ref 요소를 사용하려면 홈 인터페이스 유형이 지정되어야 합니다. 그러므로, ejb-ref 정의에서 <home></home> 스탠자를 포함하지만 예에서 표시된 대로 널 값을 지정해야 합니다. <remote> 스탠자의 값은 EJB 3.x 비즈니스 인터페이스 클래스 이름을 지정합니다. 마지막으로 바인딩 값을 설정하면, 애플리케이션 설치 중 또는 도구 지정을 통해 EJB 3.x 비즈니스 인터페이스가 바인드된 위치를 지정합니다.

예를 들어, 클라이언트 컴포넌트 application-client.xml 파일의 ejb-ref는 다음 코드 샘플과 유사합니다.
<ejb-ref id="EJBRef_1">
	<ejb-ref-name>java_comp-env_name_of_ref</ejb-ref-name>
	<ejb-ref-type>Session</ejb-ref-type>
	<home></home>
	<remote>com.ejbs.business.interface.class.name</remote>
</ejb-ref>
ibm-application-client-bnd.xmi 파일의 해당 섹션은 다음 코드 샘플과 유사합니다. 기본 EJB 바인딩 패턴이 여기에서 사용됩니다. 기본 EJB 바인딩 규칙은 EJB 3.x 애플리케이션 바인딩 지원 주제에서 설명됩니다.
<ejbRefBindings xmi:id="EjbRefBinding_1"
         jndiName=EJB3App/EJB3Mod.jar/MyBean##com.ejbs.business.interface.class.name">
	<bindingEjbRef href="application-client.xml#EjbRef_1"/>
</ejbRefBindings>

주제 유형을 표시하는 아이콘 참조 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rejb_consid
파일 이름:rejb_consid.html