Java LocalizedTextUtil内存泄漏

Java LocalizedTextUtil内存泄漏,java,memory-leaks,struts2,Java,Memory Leaks,Struts2,我在一个java web项目中发生内存泄漏,使用Struts2(2.3.15.1)+spring(3.0.6),这是一个生产服务器,大约一周后,堆几乎达到100%,我使用MAT分析堆转储,我发现在com.opensymphony.xwork2.util.LocalizedTextUtil的ConcurrentHashMap中存在大量Struts2 i18n资源,请参见下面的屏幕截图 我是MAT的新手,但我认为GC应该收集无用的strutsi18n资源,我在本地尝试过,通过JProfiler,我

我在一个java web项目中发生内存泄漏,使用Struts2(2.3.15.1)+spring(3.0.6),这是一个生产服务器,大约一周后,堆几乎达到100%,我使用MAT分析堆转储,我发现在
com.opensymphony.xwork2.util.LocalizedTextUtil的
ConcurrentHashMap
中存在大量Struts2 i18n资源,请参见下面的屏幕截图

我是MAT的新手,但我认为
GC
应该收集无用的struts
i18n
资源,我在本地尝试过,通过JProfiler,我发现当新请求到来时,会创建一些新的
com.opensymphony.xwork2.util.LocalizedTextUtil
实例,稍后,当GC运行时,它们将被丢弃,我不知道生产服务器出了什么问题,在这种情况下,
com.opensymphony.xwork2.util.LocalizedTextUtil
实例将不会被丢弃


有人能给我一个建议吗?

你能升级到最新的S2版本吗?谢谢你的建议,产品服务器使用亚马逊的OpenJDK,我们还有另一个产品服务器使用Oracle的JDK,它工作得很好,所以我宁愿先尝试升级JDK,如果它仍然不工作,我会尝试你的建议,无论如何,非常感谢!