2011-06-03 103 views
0

在GF EJB容器中,我嘗試使用ServiceLoader動態發現我的JPA實體類,並在容器創建EntityManagerFactory之前將它們添加到JPA配置中。我遇到的問題是找到一種方法,在創建EMF之前「截取」特定持久性單元的PersistenceProvider配置。EJB容器中的動態JPA實體

我試圖通過擴展HibernatePersistence持久性提供程序來使用Hibernate,但遇到了一些問題(請參閱Using Hibernate Ejb3Configuration with Container Management)。我願意接受任何建議。我的要求是它必須在EJB容器上運行,並利用JPA進行持久化。我寧願與GF保持合作關係,儘可能保持供應商對所有技術都是中立的(但會很感激任何建議)。

謝謝!

回答

0

我不確定這是否有幫助,但考慮使用OSGi方法而不是普通的ServiceLoader。

http://weblogs.java.net/blog/2009/06/14/developing-hybrid-osgi-java-ee-applications-glassfish (我沒有研究這篇文章完全還,所以我不知道它的任何使用這裏。)

+0

感謝您的答覆。我確實研究過OSGi,但我不需要服務層,版本控制,生命週期功能等。我希望我的EJB容器(恰好使用OSGi)爲我提供這些服務。此外,我能看到讓OSGi中的JPA做我想做的事情的唯一方式就是放棄容器管理實體管理器並注入我自己的,不得不處理我自己的JTA和連接管理 - 而不是交易斷路器,但我希望那些開發插件等使用直接的EJB技術。謝謝! – 2011-06-03 19:32:12

+0

接受,因爲這確實會起作用,即使它不完全是我要去的=) – 2012-03-13 18:06:35