簡體   English   中英

Eclipselink 是否在 Apache Felix 下使用(動態)字節碼編織?

[英]Does Eclipselink use (dynamic) bytecode weaving under Apache Felix?

我在 Apache Felix 中使用來自 Springsource(版本 1.1.0)的 Eclipselink 包。 我的(JPA 注釋的)實體類得到持久化等,因此基本機制有效。 但是,我懷疑字節碼編織是否完成。

如何驗證 Eclipselink 是否在我的類上使用編織?

在 Felix 中運行時是否普遍支持編織? 我沒有更改任何有關我的配置或啟動腳本的內容,我必須這樣做嗎?

請參閱Eclipse 文檔- 頁面底部;

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

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

  1. persistence.xml中 EclipseLink 的日志級別設置為FINEST ,您將在EntityManagerFactory / PersistenceUnit初始化期間的日志中看到是否使用編織。

  2. 確定為您的應用程序服務的 jvm 進程。 使用操作系統工具或 jconsole/jvisualvm 等 javatools 來確定命令行。 如果您可以在 vm arguments 中發現 eclipselink 代理( -javaagent:eclipselink.jar eclipselink.jar ),則啟用動態編織 - 否則不會。

我建議您在這種環境中使用 static 編織。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM