JPA/Hibernate 및 Google Guice를 사용하는 응용 프로그램이 있습니다. Guice는 ServletContextListener
으로 부트 스트랩되며 EntityManagerFactory
자체를 설정합니다.JBoss AS7 JPA 자동로드하기
응용 프로그램은 Tomcat 7에서 잘 작동하지만 JBoss AS7에 배포 할 때 JBoss가 내 ServletContextListener
을 호출하기 전에 자동으로 JPA를 설정하기 때문에 실패합니다.
어떻게 JBoss가 JPA를 자동으로 초기화하지 않고 대신 ServletContextListener
이 그것을 기다릴 수 있습니까?
업데이트
제임스 아래에 제공되는 링크에 따르면
나는이 "자동 감지"기능을 해제하는 방법을 알아낼 필요가있다.응용 전개 중에, JPA 사용은 검출 (예를 들어이 persistence.xml 또는 @ PersistenceContext/단위 주석) 및 하이버 네이트 의존성 주입되고 응용 프로그램 배포
https://docs.jboss.org/author/display/AS71/JPA+Reference+Guide#JPAReferenceGuide-Introduction
업데이트 # 2
JPA의 컨테이너 관리는이 persistence.xml에 다음 속성을 추가하여 해제 할 수 있습니다 :이 기능은 2 월 2012 년
<property name="jboss.as.jpa.managed" value="false" />
따르면 this topic에 야간에 사용할 수 있습니다.
이 꽤 오래, 하지만 같은 문제가 발생했습니다. 내 여분의 문제는 persistence.xml을 사용하지 않고 Java 코드로 엔티티 관리자 팩토리를 선언한다는 것이며 거기에 속성을 추가하면 무시되고 아무런 차이가없는 것처럼 보입니다. 이 접근법으로 해결할 수 있다면 어떨까요? – andreadi
@andreadi 잘 모르겠다. AS7에서만 응용 프로그램을 테스트했지만 그 프로젝트에이 응용 프로그램을 사용하지 않았습니다. 당신은 아마도 당신의 세부 사항으로 새로운 질문을하는 것이 가장 좋습니다. –