我在Tomcat測試服務器上遇到了一些令人討厭的OutOfMemory異常。我們的Web應用程序在客戶端使用GWT 2.3 & GXT,服務器端使用Spring 3.0,Hibernate 3.6.3 & JPA。GWT 2.3 WeakMapping/ProxyAutoBean內存泄漏
我用VisualVM做了一些堆轉儲,並用Memory Analizer Tool打開它們來查看佔用這麼多空間的東西。今天,這個堆佔用了1GB的900-950MB空間,最多的內存是在org.apache.catalina.WebAppClassLoader(680MB)中累積的,其中包含一個巨大的671MB的com.google.gwt.core.client.impl.WeakMapping條目(671MB)。我看到有很多類型爲ProxyAutobean的對象,還有很多Hibernate實體。
我在網上搜索並找到something這可能適用於我的情況,但我不確定是否/如何以這種方式解決此問題,而無需升級到更高版本的GWT。看起來,這種泄漏是由我們在代碼中使用的實體/代理之間使用循環引用引起的。
有什麼建議嗎? 感謝
非常感謝您的建議。但是,如果我嘗試僅升級RequestFactory部件,則會出現有關擴展ClientBundle的接口的驗證問題。如果我嘗試將GWT作爲整體升級到2.4,我在運行時會得到一個異常:「必須爲」myRequestFactory「RequestFactory類型運行RequestFactory ValidationTool。我寧願將GWT升級到2.4.0,你是否知道一個更簡單的方法來實現它並擺脫驗證RF問題? 「 – AndaP
關於最後一條消息,請參閱http://code.google.com/p/google-web-toolkit/wiki/RequestFactoryInterfaceValidation –
您好,我嘗試下載Springsource Toolsuite 2.6.1上的m2e-apt連接器,但是: 正在安裝的軟件:適用於Eclipse的Maven集成JDT APT 1.0.0 ..(org.jboss.tools.maven.apt.feature.feature.group 1.0.0 ..) 缺少需求:適用於Eclipse的Maven集成JDT APT Core 1.0。 0 ..(org.jboss.tools.maven.apt.core 1.0.0 ..)需要'bundle org.eclipse.m2e.core 0.0.0',但找不到 無法滿足依賴關係: From:Maven集成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 ..] – AndaP