2014-10-09 1 views
0

here과 같이 Karaf 및 OpenJPA를 설치하고 테스트했습니다. examplejpa을 설치했는데 오류없이 정상적으로 작동합니다. 하지만 다른 Karaf 번들에서이 jpa (Person 클래스 및 PersonService 인터페이스)를 사용해야합니다. 다른 말로하면 examplejpa를 설치했습니다. 이제 examplejpa 번들을 통해 데이터베이스에 액세스 할 수있는 새로운 번들을 만들고 싶습니다. 어떻게해야합니까?데이터베이스 번들 (Apache Karaf 및 OpenJPA)에 JPA 및 JPA 클라이언트 클래스를 구현하십시오.

일반적으로 데이터베이스 JPA 및 JPA 클라이언트 클래스를 서로 다른 번들로 구현하는 방법이 있습니까?

친절하게 제공합니다.

답변

0

가장 쉬운 방법은 examplejpa 프로젝트의 서비스를 공개하고 새 번들에서이 서비스에 액세스하는 것입니다. 청사진에

는 examplejpa 프로젝트의 서비스 "personService"는 선언 :

<reference id="rpersonService" interface="net.lr.tutorial.karaf.db.examplejpa.PersonService" /> 
:

<service ref="personService" interface="net.lr.tutorial.karaf.db.examplejpa.PersonService" /> 

당신은에 대한 참조를 만드는하여 다른 번들에이 서비스를 재사용 할 수 있습니다

그 후 해당 참조를 클래스 변수에 삽입 할 수 있습니다.

<bean id="myBean" class="my.new.package.MyClasses"> 
    <property name="myPersonService" ref="rpersonService" /> 
</bean> 

귀하의 pom에이 프로젝트에 대한 의존성을 갖고 적절한 패키지를 가져 오는 것을 잊지 마십시오.