如何阻止Eclipse上的JPA Facet一直更新?

时间:2011-09-09 09:45:59

标签: eclipse performance jpa

我在Eclipse中有一个EJB2 / EJB3 Java项目。我最近启用了JPA Facet,现在安装了Dali并配置了对包含实际表和数据的MySQL DB的访问。

问题是,在IDE Java编辑器中编辑实体bean变得慢了100-1000倍。写一个字,看状态栏上出现“更新JPA项目”,高负荷等待30秒CPU,Eclipse完全没有响应,然后继续写下一个字..

使JPA变慢的项目是中等规模的,不仅仅是一个简单的网上商店,也不是企业级的。我统计了42个无状态会话豆和49个实体豆。实际上我们有更多的实体bean,但其中许多尚未转换为EJB 3,而是仅使用EJB 2.1进行映射。

最长的会话bean跨越20616行,最长的方法是头发低于2k行。

JPA的速度太慢,它也使输入代码变慢。在每5-10个字符后,Eclipse完全停止几秒钟,内容辅助几乎无法使用,因为它会一直触发Eclipse的内部超时。

所以,问题是:我如何为项目启用JPA Facet并仍然使其不落后于所有实际工作?一些简单的拨动开关,只是禁用JPA部分,然后重新启用将很可爱。

5 个答案:

答案 0 :(得分:21)

我的一位朋友最近向我展示了一种在“Maven更新”操作后禁用常量“JPA Facet”更新的方法。

请尝试此操作:在菜单窗口>>上偏好设置>> Maven>> Java EE集成

  • 停用“JPA配置器”选项

enter image description here

答案 1 :(得分:7)

我刚刚通过Preferences > Validation > suspend all validators关闭了Eclipse的所有验证:

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

这具有相同的效果,但可以检入版本控制。

突然间,CPU散热器再次非常安静。

答案 2 :(得分:5)

在Juno,Dali项目已经进行了多项性能改进,可以帮助您解决问题。我们还进行了更改,将我们的一些工作推送到后台线程并使用Eclipse Jobs框架。

如果您仍然看到Juno的性能滞后,我将非常感谢您向我们发送一些性能分析信息。 我可以尝试在我的工作中使用您的结果来提高性能(如果可能的话,在Juno SR1中)。我使用jdk1.6.0_31中包含的Java VisualVM取得了成功。我将探查器CPU设置设置为'从类开始分析:'org.eclipse.jpt。**,取消选中'Profile new Runnables'和'Profile only classes:'org.eclipse.jpt。*。然后,您可以运行导致问题的一个用例并将生成的快照附加到eclipse错误(WebTools-Dali Jpa Tools)。

答案 3 :(得分:1)

您也可以在任何 org.eclipse.wst.common.project.facet.core.xml 文件中查找该条目

<installed facet="jpt.jpa" version="1.0"/>

并删除

答案 4 :(得分:0)

我正在使用RedHat Code Ready Studio。我已禁用:

enter image description here

enter image description here

enter image description here enter image description here enter image description here

痛苦终于消失了。...