2010-07-23 2 views
0

는 I가 함유 EJB3 JAR 파일 가지고클라이언트에서 로컬 @EJB 주석을 비활성화하는 방법은 무엇입니까? (글래스 피쉬)

1) 원격 인터페이스 I1 및 클라이언트에 노출 무 구현 IMPL1()

2) 로컬 인터페이스 I2 및 무 구현 IMPL2을 (사용 로컬로 서버 응용 프로그램 내에서)

IMPL1에는 로컬 I2 (IMPL2)를 주입하기 위해 @EJB 주석이 있습니다.

클라이언트에 ejb3 jar 파일을 넣고 클라이언트 응용 프로그램을 배포하려고하면 클라이언트에서 로컬 I2 ejb에 액세스 할 수 없으므로 로컬 I2에 "참조 할 수없는 Ejb-Ref를 해석 할 수 없음"오류와 함께 실패합니다 .

필자는 클라이언트의 lib에 원격 인터페이스와 엔티티 만 넣어야한다고 생각합니다. 문제를 일으키는 IMPL1 구현이 아닙니다. 또는 I2가 원격으로 I2 캠을 만든 다음 클라이언트가 성공적으로 배치됩니다. 그러나 나는 I2를 드러내고 싶지 않고 "참조로"지역 빈에서 응답을 얻고 싶다.

문제는 프로젝트를 두 부분 (클라이언트 + 서버)으로 나눌 수 없으므로 전체 ejb jar를 클라이언트의 lib에 넣었습니다.

클라이언트의 IMPL1에서 로컬 @EJB를 비활성화 할 수 있습니까 (여하튼 web.xml에서)? 사전에

감사합니다, 안톤

답변

0

당신은 Glassfish FAQ에서 SE 클라이언트에서 원격 조회 및 EJB에의 호출을 수행하기위한 지침을 찾을 수 있습니다. Java EE 5/EJB 3.0 용이지만 Java EE 6/EJB 3.1에도 적합합니다.

+0

노력해 주셔서 감사합니다. 질문을 게시하기 전에 FAQ를 보았지만 대답을 찾을 수 없었습니다. 감사. – Anton

관련 문제