2013-04-08 1 views
0

주석 @EJB 엔터티 및 EJB3.1 관련 코드를 변경하지 않고도 Tomcat7에서 실행되는 EJB3.1 POJOS로 JSF2 웹 응용 프로그램을 실행할 수 있습니까?Tomcat 7에서 EJB3.1 및 JSF 문제

내가 PrimeFaces의 3.4.x를 사용하고

,는 EclipseLink JPA 2.3, EJB3.1

그리고 마지막으로 나는 일부 고객 인해 새로운 자바 EE 서버로 마이그레이션 할 수 없기 때문에, JavaEE6 서버를 사용하지 않고 Tomcat7에 충실하고 싶습니다 내부 제약.

하지만 기본 쿼리 및/또는 기준 쿼리를 원하는 조인 (왼쪽, 외부, 내부 & 조인) 등 여러 테이블에 삽입 좋아 JPA 잘 작동

GlassFish3.1 나의 여행은 꽤 좋았다

EJB3.1, Eclipselink JPA의 프라임 클라이언트 CRUD 애플리케이션.

그러나 EJB 코드를 변경하지 않고 EJB 세션 bean이 인스턴스화에 실패 했으므로 응용 프로그램을 실행할 수 없습니다.

내 응용 프로그램이 Tomcat 7 및 Glassfih3.x에서 실행되도록 디자인 및 소스 코드를 변경하려고합니다. EJB3.1을 피하고 DAO 등을 사용할 수도 있습니다 (Java EE6 패턴 대신 J2EE 패턴 사용). UsersController.java:-

EJB3.1의 코드

@EJB

(1) 개인 com.myapp.session.UsersFacade ejbFacade;

(2) private UsersFacade getFacade() { return ejbFacade; }

// validateUser() 메서드는 String을 반환합니다. (3) 문자열 ressult = getFacade(). validateUser();

perisistence.xml 파일

http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd "> JDBC/ABC 거짓

+1

Tomcat을 선호하는 경우

그러나 일반적으로 Tomcat을 사용

은 스프링을 사용합니다. http : // stackoverflow를 참조하십시오.com/questions/4304757/how-to-deploy-ejb-3-or-web-application-on-tomcat – nsumer

+0

nsumer Tomcat을 피해야하는 이유는 여러 가지가 있으며 그 중 하나가 조직의 광범위한 정책 일 수 있기 때문입니다. Glassfish와의 타당성을 이해하고 학생 프로젝트로 Glassfish로 쉽게 이동할 수 있습니다. 제발 요점을 이해해 주셨으면합니다. –

답변

0

번호 또는 재 설계 바람둥이 인 웹 컨테이너 톰캣 7

+0

EJB3.1은 가볍지 만 컨테이너에 의존적 일 수 있습니다. JBoss, Weblogic, WebSphere와 같은 다른 Java EE6 인증 서버에 응용 프로그램 WAR 파일을 배포 할 수 있습니다. –

2

기본적으로 Tomcat은 EJB 컨테이너가 아닙니다. 매끄럽고 단순한 tomcat의 특성을 잃지 않고 바람둥이 기반의 EJB 컨테이너 인 Apache TomEE을 사용하면 OpenEJB 구현체를 보유하므로 사용자의 필요에 맞게 적절하게 서비스 할 수 있습니다.

+0

Maggu, True이지만 생산 환경이 Tomcat 7이므로 Tomcat을 고수해야합니다. –

+0

Maggu, Tomy가 JPA 쿼리를 지원합니까? 그리고 프로덕션 환경에서 Tomcat 7을 사용할 때까지 Tomcat을 피할 수는 없습니다. TomEE가 Java EE라는 것을 이해합니다. –

+0

Maggu, EJB3.1을 사용하여 개발 된 응용 프로그램을 말할 수 있습니까? Eclipselink JPA는 소스 코드를 변경하지 않고 TomEE로 쉽게 마이그레이션 될 수 있습니까? –

0

로 마이그레이션하기 전에 EJB를 사용하지 않고 응용 프로그램을, 바람둥이 8 자바 EE 7을 지원 할 수 있지만, 당신은 무료로 아파치 Tomee을 사용! ! 직접 EJB를 실행할 수 없습니다 제이 보스 또는 글래스 피쉬를 사용 EJB3