详情: -
问题是当浏览器在webflow之间关闭或者http会话超时时,spring webflow流程中存储的数据会发生什么?观察到在两种情况下都没有调用结束状态。该数据是否驻留在Java堆上?
此外,根据内存分析器工具,webAppServletContext将消耗70%的堆。
目前,即使将堆增加到3GB,应用程序也会出现内存不足问题。
答案 0 :(得分:0)
Spring WebFlow使用HttpSession存储其所有上下文信息。只要Servlet容器无效/销毁用户关联的HttpSession,所有Spring WebFlow存储的变量也会被破坏(好吧,可以被垃圾收集)。
如果您遇到内存问题,请检查您的Servlet容器设置。有些机制有周期性工作来清理过期的HttpSession,其他一些机制可以在无效请求时清理等等......
无论如何,由于所描述的机制,你不太可能达到OutOfMemoryError,因为它会显示有缺陷的Servlet实现。