Когда Eclipselink использует DeferredChangeDetectionPolicy, хотя настроен иначе? - PullRequest
0 голосов
/ 23 мая 2011

Я исследую серьезную проблему с производительностью в моем приложении на основе OSGi, которое использует Eclipselink в качестве поставщика постоянства для классов JPA.Проблема возникла очень внезапно после обновления версии приложения, но не исчезла после отката.Конфигурация не изменилась.В системе есть нетривиальный объем данных (внутренний реестр Eclipselink насчитывает около 2 миллионов объектов), но этот объем рос довольно плавно.

Среди источников, которые я исследую, есть политика обнаружения изменений ..В настоящее время Eclipselink использует DeferredChangeDetectionPolicy (как определено с помощью отладчика), который, как утверждается, менее эффективен, чем AttributeChangeTrackingPolicy, и, похоже, не имеет смысла для моего сценария.

Теперь,Я явно настроил Политику отслеживания изменений атрибутов для моего модуля персистентности.Кроме того, это должно быть по умолчанию в любом случае для аннотированных классов JPA.

До того, как возникла проблема, я понятия не имел, какая политика обнаружения изменений использовалась.Я исследую возможность того, что Eclipselink переключил его по неизвестной мне причине.Есть ли такая причина?

Ответы [ 2 ]

1 голос
/ 24 мая 2011

EclipseLink будет использовать отложенное отслеживание изменений, когда плетение недоступно / не настроено.У вас настроено плетение (динамическое или статическое).Если вы работаете в Equinox, вы можете использовать динамический [1] или статический.На других платформах OSGi вы ограничены статическим переплетением.

- Шон

[1] http://wiki.eclipse.org/EclipseLink/Examples/OSGi/Equinox_Byte_Code_Weaving

0 голосов
/ 24 мая 2011

Какую версию EclipseLink вы используете?С чего вы обновились и до?

Есть ли у вас эта проблема на всех ваших сущностях?Если это так, то ответ Шона вполне вероятен.

В чем именно заключается проблема, с которой вы столкнулись?Вы уверены, что это относится к отложенному отслеживанию изменений, а не где-либо еще.

Если вы испытываете это на 1 или нескольких ваших объектах, добавили / изменили ли вы какие-либо сопоставления во время обновления?

...