Hibernate GWT 2.3弱映射/ProxyAutoBean内存泄漏
我在Tomcat测试服务器上遇到了一些严重的OutOfMemory异常。我们的web应用程序在客户端使用GWT2.3和GXT,服务器端使用Spring3.0,Hibernate3.6.3和JPA 我用VisualVM做了一些堆转储,并用内存分析工具打开它们,看看是什么占用了这么多空间。今天,堆占用了900-950MB的1GB可用内存,最大的内存积累在org.apache.catalina.WebAppClassLoader 680MB中,其中包含一个巨大的671MB条目com.google.gwt.core.client.impl.WeakMapping 671MB。我看到有很多ProxyAutobean类型的对象,还有很多Hibernate实体 我在网上搜索并找到了适用于我的案例的方法,但我不确定是否/如何在不升级到更高版本的GWT的情况下以这种方式解决问题。看起来,这种泄漏是由于在代码中的实体/代理之间使用循环引用造成的 有什么建议吗?Hibernate GWT 2.3弱映射/ProxyAutoBean内存泄漏,hibernate,gwt,memory,memory-leaks,requestfactory,Hibernate,Gwt,Memory,Memory Leaks,Requestfactory,我在Tomcat测试服务器上遇到了一些严重的OutOfMemory异常。我们的web应用程序在客户端使用GWT2.3和GXT,服务器端使用Spring3.0,Hibernate3.6.3和JPA 我用VisualVM做了一些堆转储,并用内存分析工具打开它们,看看是什么占用了这么多空间。今天,堆占用了900-950MB的1GB可用内存,最大的内存积累在org.apache.catalina.WebAppClassLoader 680MB中,其中包含一个巨大的671MB条目com.google.gw
谢谢您可以尝试修补依赖项或猴子修补:在类路径的早期添加修补类,但升级更容易
请求工厂有一个稳定的协议,因此您可以很好地在客户端使用GWT2.3,在服务器端使用请求工厂2.4;然后,您只需在客户机端的DevMode中试验泄漏,而不是在服务器端的生产中进行试验。非常感谢您的建议。但是,如果我尝试只升级RequestFactory部分,就会遇到关于扩展ClientBundle的接口的验证问题。如果我尝试将GWT整体升级到2.4,那么在运行时会出现一个异常:必须为myRequestFactory RequestFactory类型运行RequestFactory ValidationTool。我更愿意将GWT升级到2.4.0,您知道一种更简单的方法来实现它并消除验证RF问题吗?关于最后一条消息,请看Hello,我尝试在Springsource Toolsuite 2.6.1上下载m2e apt连接器,但是:正在安装的软件:Maven Integration for Eclipse JDT apt 1.0.0。。org.jboss.tools.maven.apt.feature.feature.group 1.0.0。。缺少需求:Eclipse JDT APT Core 1.0.0的Maven集成。。org.jboss.tools.maven.apt.core 1.0.0。。需要“bundle org.eclipse.m2e.core 0.0.0”,但找不到它无法满足依赖关系:From:Maven Integration for eclipse JDT APT 1.0.0。。org.jboss.tools.maven.apt.feature.feature.group 1.0.0。。到:org.jboss.tools.maven.apt.core[1.0.0..]尝试使用以前的版本,然后不使用m2e apt: