2011-05-24 47 views
1

我使用Apache Felix內的Springsource(版本1.1.0)的Eclipselink軟件包。我的(JPA註釋的)實體類被持久化等等,所以基本機制起作用。但是,我懷疑字節碼編織是否完成。Eclipselink在Apache Felix下使用(動態)字節碼編織?

如何驗證Eclipselink是否在我的課程中使用編織?

在Felix中運行時,通常會支持織造嗎?我沒有改變任何關於我的配置或啓動腳本,我必須?

回答

1

我可以看到確定是否動態編織啓用的方法有兩種:

  1. 設置的EclipseLink的日誌記錄級別的persistence.xmlFINEST,你會在EntityManagerFactory的初始化期間,在日誌中看到/ PersistenceUnit如果編織將被使用或不使用。

  2. 確定爲您的應用程序提供服務的jvm進程。使用OS工具或javatools(如jconsole/jvisualvm)來確定命令行。如果您可以在vm參數中找到eclipselink agent-javaagent:eclipselink.jar),則會啓用動態編織 - 否則將啓用動態編織。

1

我建議你在這個環境中使用靜態編織。

2

請參閱Eclipse docs - 頁面底部;

import org.eclipse.persistence.internal.helper.Helper; 
import org.eclipse.persistence.internal.weaving.PersistenceWeaved; 
... 
if (Helper.classImplementsInterface(MyEntity.class, PersistenceWeaved.class)) { 
    // MyEntityEntity successfully woven! 
    ...