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/