EJB 1.1에서 EJB 2.x로 코드 이주

EJB 1.1에서 EJB 2.x로 변환되는 프로젝트의 경우, 기존 EJB 1.1 코드를 EJB 2.x로 이주하기 위한 단계를 수행해야 합니다.

주: EJB 2.x Bean은 EJB 2.x 프로젝트에서만 지원됩니다(2.x 프로젝트가 1.1 Bean을 지원하더라도).
  1. 임의의 CMP 1.x Bean에 대해 각 CMP 필드를 abstract getXXXsetXXX 메소드로 바꾸십시오. (그런 다음 Bean 클래스는 abstract로 되어야 합니다.)
  2. CMP의 경우, 1차 키에 대해 abstract getXXXsetXXX를 작성하십시오.
  3. CMP 1.1 파인더 메소드의 경우, 파인더 메소드마다 EJB 조회 언어(EJBQL)를 작성하십시오.
    주: EJB 조회 언어에는 Rational® Application Developer V6.0에서 다음과 같은 제한사항이 있습니다.
    • 다른 EJB에 대한 관계로 구성된 키를 갖는 EJB를 포함하는 EJB 조회 언어 조회가 유효하지 않은 것으로 표시되며 전개 시에 오류를 야기합니다.
    • IBM® EJB 조회 언어 지원은 일부 제한사항을 완화하고 더 많은 DB2® 기능에 대한 지원을 추가하는 등 다양한 방법으로 EJB 2.x 스펙을 확장합니다. 여러 벤더 데이터베이스 또는 EJB 전개 도구의 이식성이 중요한 경우, 11장의 EJB 2.x 스펙에 설명된 지시사항에 따라 모든 EJB 조회 언어 조회를 정확히 작성해야 합니다.
  4. 임의의 CMP 1.1 파인더에 대해 java.util.Enumeration 대신 java.util.Collection을 리턴하십시오.
  5. CMP 1.1 Bean에 대해 ejbCreate()와 코드 전체에 대해 모든 경우의 this.field = valuesetField(value)로 변경하십시오.
  6. 다음과 같이 비응용프로그램 예외에 대한 예외 핸들링(롤백 작동)을 갱신하십시오.
    • java.rmi.RemoteException 대신 javax.ejb.EJBException을 발행하여 비응용프로그램 예외를 보고하십시오.
    • EJB 2.x 및 1.1의 경우 인스턴스에서 발행된 모든 비응용프로그램 예외로 인스턴스가 실행된 트랜잭션이 롤백되고 인스턴스를 버립니다.
  7. 다음과 같이 응용프로그램 예외에 대한 예외 핸들링(롤백 작동)을 갱신하십시오.
    • EJB 2.x 및 1.1의 경우 응용프로그램 예외가 발생해도 컨테이너가 트랜잭션을 자동으로 롤백하지 않습니다.
    • EJB 1.1의 경우 컨테이너는 해당 EJBContext 오브젝트에 setRollbackOnly() 메소드를 사용하여 인스턴스를 호출한 경우에만 롤백을 수행합니다.
  8. ejbCreate 내부로 응용프로그램 특정 기본값의 CMP 설정을 갱신하십시오. (이는 EJB 1.1 컨테이너가 이전의 응용프로그램 특정 기본값을 겹쳐쓸 ejbCreate를 호출하기 전에 일반 기본값에 모든 필드를 설정한 다음에는 글로벌 변수를 사용하지 않기 때문입니다.)
관련 태스크
Enterprise JavaBeans 프로젝트 이주(EJB 1.1에서 EJB 2.1로)
EJB 1.1에서 EJB 2.x로 프로젝트 변환
EJB 1.1 관계에 대한 EJB 참조 이주
관련 참조
프로젝트 구조 이주 중에 병합되는 메소드 요소

(C) Copyright IBM Corporation 2000, 2004. All Rights Reserved.