Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Eclipselink什么时候使用DelferredChangeDetectionPolicy(尽管配置为其他)?_Java_Eclipselink - Fatal编程技术网

Java Eclipselink什么时候使用DelferredChangeDetectionPolicy(尽管配置为其他)?

Java Eclipselink什么时候使用DelferredChangeDetectionPolicy(尽管配置为其他)?,java,eclipselink,Java,Eclipselink,我正在调查基于OSGi的应用程序中的一个严重性能问题,该应用程序使用Eclipselink作为JPA类的持久性提供者。该问题在应用程序的版本更新后突然出现,但在回滚后并没有消失。配置没有更改。系统中有大量的数据(Eclipselink的内部注册表统计了大约200万个实体),但数据量增长相当平稳 我正在调查的消息来源包括。目前,Eclipselink使用的是DeferredChangeDetectionPolicy(由调试器确定),据称其效率低于AttributeChangeTrackingPol

我正在调查基于OSGi的应用程序中的一个严重性能问题,该应用程序使用Eclipselink作为JPA类的持久性提供者。该问题在应用程序的版本更新后突然出现,但在回滚后并没有消失。配置没有更改。系统中有大量的数据(Eclipselink的内部注册表统计了大约200万个实体),但数据量增长相当平稳

我正在调查的消息来源包括。目前,Eclipselink使用的是
DeferredChangeDetectionPolicy
(由调试器确定),据称其效率低于
AttributeChangeTrackingPolicy
,而且对我的场景来说似乎也没有意义

现在,我已经为我的持久化单元显式地配置了属性更改跟踪策略。此外,它应该是JPA注释类的默认值


在问题出现之前,我不知道使用了哪种更改检测策略。我正在调查Eclipselink出于某种我不知道的原因切换它的可能性。有这样的原因吗?

当编织不可用/配置时,EclipseLink将使用延迟更改跟踪。您是否配置了编织(动态或静态)。如果你在春分点跑步,你可以使用动态[1]或静态。在其他OSGi框架上,您仅限于静态编织

--肖恩


[1]

您使用的是什么版本的EclipseLink?您从和升级到了什么

您的所有实体都存在此问题吗?如果是这样的话,那么肖恩的答案很有可能

您到底遇到了什么问题?您确定它是通过不同的更改跟踪实现的,而不是其他地方


如果您在一个或几个实体上遇到这种情况,您是否在升级过程中添加/更改了任何映射

我更新了自己的应用程序,它使用
javax.persistence
API,而不是Eclipselink。我使用的是1.1.0。但是,将我的应用程序回滚到以前的版本并不能消除问题。这似乎就是问题所在。谢谢所以,在Felix上运行时,我需要静态编织,对吗?这似乎也回答了是的,您可以静态编织您的持久性单元包。确保将持久性单元属性“eclipselink.weaving”设置为“static”。看见