tomcat - 设置Tomcat的RECYCLE_FACADES = true的缺点?

标签 tomcat tomcat8

Apache Tomcat 8 Configuration Reference指出 org.apache.catalina.connector.RECYCLE_FACADES 的默认值 = false。然而,Security Considerations web page说:

Setting org.apache.catalina.connector.RECYCLE_FACADES system property to true will cause a new facade object to be created for each request. This reduces the chances of a bug in an application exposing data from one request to another.

因为默认值是不太安全的值,我想知道为什么。我认为它的一部分与性能有关,但我没有看到太多关于 RECYCLE_FACADES 的讨论。将其设置为 true 有什么缺点?

最佳答案

设置 org.apache.catalina.connector.RECYCLE_FACADES=true 的主要缺点是性能。 Tomcat 跨请求重用尽可能多的对象,以减少 GC 流失(即重复创建和丢弃许多对象)。由于这些对象的使用,没有性能差异——只有丢弃和重新创建循环会降低性能。

默认设置本身并不是“不安全”的,但是有错误的应用程序可能会导致 Tomcat 看起来做一些非常奇怪的事情。因此,如果应用程序没有违反任何规则,那么高性能配置应该是首选。

如果您不信任在您的 Tomcat 实例上运行的应用程序,您绝对应该启用 RECYCLE FACADES

关于tomcat - 设置Tomcat的RECYCLE_FACADES = true的缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57777941/

相关文章:

Tomcat 请求 postData null

java - 如何让tomcat使用扩展名为.jar的文件夹作为jar文件?

java - 如何在 Tomcat 中设置远程用户?

Tomcat web项目中Java原生库路径

tomcat - 通过 Homebrew 启动时 Tomcat 的日志位置

tomcat - 只在本地运行 Tomcat 是否可行?

java - 无法在eclipse中启动tomcat服务器

spring - 如何在 Spring Boot 2.1.0 登录时禁用 Set-Cookie header 上的 HttpOnly 标志

maven - 在 TOMCAT 8 中运行(部署?) "maven".war

java - 在部署期间将 web-inf/lib jar 移动到 Tomcat/myownlib