【问题标题】:BodyContentImpl jsp tag memory leak problemBodyContentImpl jsp标签内存泄漏问题
【发布时间】:2011-05-25 10:47:29
【问题描述】:

我使用的是 Tomcat 版本 5.0.28,我正在分析堆转储。它显示内存泄漏是由于 BodyContentImpl 对象造成的,这似乎(不确定)它缓存了标签之间的 jsp 内容。 我还发现该版本存在问题,它不会重置它在内部用于保存数据的缓冲区。以后版本的tomcat有限制缓冲区的选项。

我想知道的是,BodyContentImpl 的实际作用是缓存标签或数据。 它将如何在动态变化的 jsp 中发挥作用。

【问题讨论】:

  • Tomcat 5.0 太旧了...可以升级吗?
  • 你没看懂我的问题,简单的说缓冲在那里做什么

标签: tomcat caching memory-leaks heap-memory jsp-tags


【解决方案1】:

是的,您的 JSP 标记内容已被缓存。特别是“JSP 自定义标签池 - 为 JSP 自定义标签实例化的 java 对象现在可以被池化和重用。这显着提高了使用自定义标签的 JSP 页面的性能。”

禁用添加到 catalina.properties(或 catalina_opts)

org.apache.jasper.runtime.JspFactoryImpl.USE_POOL=false org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true

关闭它(但是,我不确定它是否曾经从 5.5.x 向后移植到 5.0.x)

参见例如Tomcat 5.5 Configuration

【讨论】:

    猜你喜欢
    • 2012-05-12
    • 1970-01-01
    • 2016-07-28
    相关资源
    最近更新 更多