以前的項目用的是struts1,運行得好好的,現在改用struts2后,發現運行不到一天tomcat就出現內存溢出的錯誤。使用jProfiler分析一下,發現tomcat啟動后使用的內存就一路飆升,而且放在action里面的類根本沒有釋放掉,應該是struts出現了問題,查一下struts的配置,原來沒有配ActionContextCleanUp,在web.xml中加入
<filter>
<filter-name>struts-cleanup</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ActionContextCleanUp
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
再次用jprofiler進行分析,果然好了。
<filter>
<filter-name>struts-cleanup</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ActionContextCleanUp
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
再次用jprofiler進行分析,果然好了。