您的位置:首页 > 运维架构 > Tomcat

TOMCAT 4.1 中使用自定义标签不能正常调用release()方法的解决

2004-10-26 22:26 776 查看
公司使用的自定义标签 <rowsbean:if>标签在Tomcat4.1上的使用出现错误的问题已经解决。
 tomcat4.1安装目录/conf/web.xml (全局参数);加入enablePooling参数,设置为false,不缓存自定义标签。
===========================================
<servlet>
<servlet-name>jsp</servlet-name>         <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
 
 <!--begin加入,请加为第一个参数-->
<init-param>
   <param-name>enablePooling</param-name>
   <param-value>false</param-value>
</init-param>
 <!--end加入-->
 
<init-param>
     <param-name>fork</param-name>
     <param-value>false</param-value>
</init-param>   
</servlet>
===========================================
 tomcat4.1的开发者认为,tag的release()方法不是java规范中必须实现的方法,仅在GC前调用。tomcat4.1默认开启了标签缓冲池(tag-pooling),因此执行完一次<rowsbean:if>标签之后,没有执行release()方法(websphere会)。关闭这个估计会影响tomcat处理jsp的性能!!4.0和4.1版本的重大区别之一就是这个特征!
 同样适用于tomcat 5。

相关信息http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16001
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐