2014-10-09 31 views
0

我已經安裝了Karaf和OpenJPA並對其進行了測試,如here所述。我安裝了examplejpa,它工作正常,沒有任何錯誤。 但是,我需要在另一個Karaf包中使用此jpa(Person類和PersonService接口)。換句話說,我已經安裝了examplejpa。現在我想創建一個新的bundle,它可以通過examplejpa bundle來訪問數據庫。 我該怎麼做這件事?在不同的包(Apache Karaf和OpenJPA)中實現數據庫JPA和JPA客戶端

一般來說,有沒有辦法在不同的bundle中實現數據庫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中對這個項目有一個依賴,並導入適當的包。

相關問題