Как я могу постоянно останавливать JPA Facet на Eclipse?
У меня есть проект EJB2/EJB3 Java в Eclipse. Недавно я включил JPA Facet и теперь установил Dali и настроил доступ к базе данных MySQL, содержащей фактические таблицы и данные.
Проблема заключается в том, что редактирование объекта beans в Java-редакторе IDE стало в 100-1000 раз медленнее. Напишите одно слово, см. "Обновление проекта JPA", появится в строке состояния, подождите 30 секунд. ЦП при высокой нагрузке, Eclipse полностью не отвечает, затем продолжите и напишите следующее слово.
Проект, который делает JPA медленным, является средним, а не просто простым интернет-магазином, но не корпоративным. Я считаю 42 сеанса без состояния beans и 49 Entity Beans. На самом деле у нас больше entity beans, но многие из них еще не были преобразованы в EJB 3, но вместо этого отображаются только с EJB 2.1.
Самый длинный из сеансов beans охватывает 20616 строк, самые длинные - волосы ниже 2 тыс. строк.
Медленность JPA настолько серьезная, что делает код ввода медленным. После каждых 5-10 символов Eclipse переходит в полную остановку в течение нескольких секунд, а контент-поддержка почти непригодна для использования, поскольку она продолжает вызывать внутренние тайм-ауты Eclipse.
Итак, вопрос в том, как: Как сохранить JPA Facet включенным для проекта и по-прежнему не отставать от реальной работы? Какой-то простой тумблер, который просто отключил бы часть JPA, а затем снова включил бы, было бы прекрасно.
Ответы
Ответ 1
В Juno проект Dali сделал несколько улучшений производительности, которые должны помочь в вашей ситуации. Мы также внесли изменения, чтобы подтолкнуть некоторые из наших работ к фоновым потокам и использовать среду Eclipse Jobs.
Если вы по-прежнему видите отставание производительности в Juno, я бы очень признателен вам за то, что вы отправили нам информацию о профилировании производительности.
Я мог бы попытаться использовать ваши результаты в своей работе для повышения производительности (если возможно, в Juno SR1). У меня был успех с использованием Java VisualVM, включенного в jdk1.6.0_31. Я установил параметры процессора профилировщика в "Начать профилирование из классов: org.eclipse.jpt. **, снимите флажок" Профилировать новые Runnables "и" Профили только для классов: "org.eclipse.jpt. *. Затем вы можете запустить один из ваших прецедентов, который вызывает проблемы, и привязать полученный снимок к ошибке eclipse (инструменты WebTools-Dali Jpa).
Ответ 2
Недавно мой друг показал мне способ отключить постоянные обновления "JPA Facet" после операций "Обновление Maven".
Пожалуйста, попробуйте следующее: в меню Окно → Настройки → Maven → Интеграция Java EE
- отключить опцию "Конфигуратор JPA" .
![введите описание изображения здесь]()
Ответ 3
Я просто отключил все проверки Eclipse через Preferences > Validation > suspend all validators
:
![No validation]()
Я не помню последний раз, когда мне понадобилась проверка, или считал, что это была полезная функция в первую очередь. Если вы хотите помочь всей команде, вы можете также проверить в файле следующих файлов .settings/org.eclipse.wst.validation.prefs
следующий файл:
DELEGATES_PREFERENCE=delegateValidatorList
USER_BUILD_PREFERENCE=enabledBuildValidatorListorg.eclipse.wst.wsi.ui.internal.WSIMessageValidator;
USER_MANUAL_PREFERENCE=enabledManualValidatorListorg.eclipse.wst.wsi.ui.internal.WSIMessageValidator;
USER_PREFERENCE=overrideGlobalPreferencestruedisableAllValidationtrueversion1.2.600.v201501211647
eclipse.preferences.version=1
override=true
suspend=true
vf.version=3
Это имеет тот же эффект, но может быть проверено на управление версиями.
И вдруг процессорный кулер снова становится тихим.