Karaf OSGi 컨테이너 내부에서 WAR 파일을 실행하려고합니다. 이 응용 프로그램은 독립 실행 형 부두 6.1.26에서 제대로 실행되지만 응용 프로그램이 Karaf의 내부에서 실행될 때, 나는 다음과 같은 예외와 Karaf 인스턴스가 정지 얻을 : 응용 프로그램이 최대 절전 모드에 의존하지 않는 것을Spring을 얻는 방법 JPA, Hibernate 및 OSGi가 멋지게 재생 되나요?
WARN org.hibernate.ejb.packaging.InputStreamZippedJarVisitor - Unable to find
file (ignored): bundle://125.0:240/ java.lang.NullPointerException: in is null
주 별도의 OSGi 번들에서; WEB-INF/lib에 최대 절전 모드 병이 포함되어 있습니다.
이 게시물의 정보를 검토했습니다 : Equinox (OSGi) and JPA/Hibernate - Finding Entities. 그러나, 애플리케이션은 Hibernate를 직접 사용하지 않고 JPA를 사용하고있다. 응용 프로그램의 구성은이 게시물의 두 번째 옵션 인 Difference between configuring data source in persistence.xml and in spring configuration files과 매우 비슷합니다. 따라서, 나는 annotatedClasses 속성을 설정할 수있는 Hibernate SessionFactory에 대한 핸들을 가지고 있지 않다.
예외를 피하는 방법에 대한 아이디어가 있으십니까?
Spring JPA persistence.xml 파일의 예는 [Spring Framework 참조 매뉴얼 12.6.1.3] (http://static.springsource.org/spring/docs/2.5.x/reference/)을 참조하십시오. orm.html).이 솔루션의 경우 orm.xml 파일에는 @Entity 주석이 포함 된 각 클래스의 완전한 클래스 이름을 가진''요소와 중첩 된' '요소 만 포함되었습니다. 'metadata-complete = "false"'속성은 hibernate에게 클래스 자체에 지정된 주석으로부터 orm.xml 파일에 명시되지 않은 모든 데이터 (이 경우 모두)를 읽도록 지시한다. –
Adam