Eclipselink 在 Apache Felix 下使用(动态)字节码编织吗?

发布于 2024-11-09 09:46:52 字数 206 浏览 3 评论 0原文

我在 Apache Felix 中使用来自 Springsource(版本 1.1.0)的 Eclipselink 捆绑包。我的(JPA 注释的)实体类得到持久化等,因此基本机制有效。但是,我怀疑字节码编织是否已完成。

如何验证 Eclipselink 是否在我的类上使用编织?

在 Felix 中运行时通常支持编织吗?我没有更改任何配置或启动脚本,我必须这样做吗?

I'm using the Eclipselink bundles from Springsource (version 1.1.0) inside Apache Felix. My (JPA annotated) entity classes get persisted etc., so the basic mechanism works. However, I'm doubting that bytecode weaving is done.

How can I verify if Eclipselink uses weaving on my classes?

Is weaving generally supported when running in Felix? I didn't change anything about my configuration or startup scripts, do I have to?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

┈┾☆殇 2024-11-16 09:46:52

请参阅 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!
   ...

See Eclipse docs - bottom of page;

import org.eclipse.persistence.internal.helper.Helper;
import org.eclipse.persistence.internal.weaving.PersistenceWeaved;
...
if (Helper.classImplementsInterface(MyEntity.class, PersistenceWeaved.class)) {
   // MyEntityEntity successfully woven!
   ...
只是我以为 2024-11-16 09:46:52

我可以看到两种确定是否启用动态编织的方法:

  1. persistence.xml 中 EclipseLink 的日志级别设置为 FINEST,您将在如果是否使用编织,则在 EntityManagerFactory/PersistenceUnit 初始化期间记录日志。

  2. 确定为您的应用程序提供服务的 jvm 进程。使用操作系统工具或 javatools(例如 jconsole/jvisualvm)来确定命令行。如果您可以找到 eclipselink 代理 (-javaagent:eclipselink.jar)在 vm 参数中,启用动态编织 - 否则不是。

I can see two methods of determining if dynamic weaving is enabled:

  1. set the Log level of EclipseLink in the persistence.xml to FINEST and you'll see in the logs during the initialization of the EntityManagerFactory/PersistenceUnit if weaving will be used or not.

  2. Identify the jvm process which serves your application. Use OS tools or javatools like jconsole/jvisualvm to determine the command line. If you can spot the eclipselink agent (-javaagent:eclipselink.jar) in the vm arguments, dynamic weaving is enabled - otherwise not.

那小子欠揍 2024-11-16 09:46:52

我建议您在这种环境中使用静态编织。

I would recommend you use static weaving in this environment.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文