2014-04-15 8 views
0

Stateful Session Bean을 EJB 2.1에서 EJB 3.0으로 마이그레이션하려고하면 EJBHome을 확장하는 Bean의 홈 인터페이스에는 두 개의 args와 상응하는 bean은 일치하는 args ejbcreate 메소드와 하나 이상의 arg가없는 ejbcreate 메소드를가집니다. 내 질문은 입니다. 1.이 상태 유지 세션 빈을 마이그레이션하기 위해 arg가없는 생성자와 arg를 생성해야합니까? 2. ejbcreate 메소드 코드가 "CreateException"을 던지고 런타임 예외가 발생하면 ejbcreate가 "CreateException"을 throw하고 생성자에서 thorws CreateException을 정의해야합니까? 아니면 예외 생성 예외를 건너 뛸 수 있습니까? 생성자의 코드입니다.Stateful Session Bean을 EJB 2.1에서 EJB 3으로 마이그레이션하기 - args를 갖는 메소드 생성 방법을 마이그레이션하는 방법

나는 이것이 그들이 EJB3 콩에 대한 EJB2 클라이언트보기에 대해 얘기했다 같은 방법이 있는지 확실하지 않습니다하지만, 방법을 만들고 @Init와 주석을 하나 개의 블로그에 게시 참조

다른 대안.

답변

0

유감스럽게도 EJB 3을 사용하여 상태 세션빈을 만드는 동안 인수를 지정하는 방법이 없으므로 initialize (arg1, arg2) 메서드를 추가하고 JNDI를 통해 인스턴스를 가져온 후에 호출해야합니다.

만 인수 없음의 생성자은 EJB 3 스타일의 bean 정의를 사용하는 경우 EJB 2 클라이언트보기를 정의하기 위해 주석을 사용하는 경우 @InitejbCreate하는 것과 동일합니다, EJB 3

예에서 사용할 수 있습니다.

+0

답해 주셔서 감사합니다. 나는 의문을 가지고있다. 초기화 (arg1, arg2) 메소드에 (@init) 주석을 달아야합니까? 보통의 pojo 메소드 호출이므로 주석을 달 필요가 없다. 또한 나는 EJB2 클라이언트 뷰를 가지고 있지 않다. – ajith

+0

아니요,'@ Init'는 EJB 2 클라이언트 뷰를 사용하는 경우에만 적용되며 home.create (arg1, arg2)가 호출 할 메소드입니다. –