gpt4 book ai didi

tomcat - 为什么我不应该在生产环境中打开 "antiJARLocking"?

转载 作者:行者123 更新时间:2023-11-28 21:49:16 24 4
gpt4 key购买 nike

我在 Tomcat7 服务器上运行网络应用程序,但无法取消部署它们。 Windows 似乎锁定了应用程序文件夹中的特定 JAR 文件。我发现有一个名为“antiJARLocking”的上下文属性,我可以将其设置为“true”(此处定义:http://tomcat.apache.org/tomcat-6.0-doc/config/context.html#Standard_Implementation)可能会解决问题。

事实是,我看到一些人说我不应该在生产环境中将此属性设置为 true;但我找不到原因是什么。我知道将此属性设置为 true 可能会减慢 tomcat 启动和/或应用程序启动的速度,但这对我来说听起来不是什么大问题..?我错了吗?

您是否知道任何其他原因可以解释为什么有些人不鼓励在生产中使用“antiJARLocking”?JAR 锁定问题还有其他解决方案吗?

如果这有任何帮助,我正在运行 tomcat 7.0.40。不断被锁定的 jar 文件是“ojbdc6.jar”。

感谢您的帮助!

最佳答案

Tomcat 的反资源锁定功能用于解决部署的 Web 应用程序中导致文件打开但不关闭的错误。在某些操作系统(主要是 Windows)上,这可以防止文件被删除,从而防止 Web 应用程序被完全取消部署。通常,删除这些文件的唯一方法是先停止 Tomcat。反资源锁定将 Web 应用程序复制到工作目录中的唯一命名目录,并从那里部署它。每个 redployment 都有一个新目录,因此无法删除旧目录不是一个直接的问题。

没有具体理由说明为什么不应该在生产中使用反资源锁定功能。但是,您确实需要注意锁定的文件实际上是内存泄漏,并且在多次重新部署之后您可能最终会填充 permGen 并触发 OOME。 .

odbc6.jar 被锁定的快速而肮脏的解决方案是将其从 WEB-INF/lib 移动到 $CATALINA_HOME/lib。更好的解决方案是找出它被锁定的原因(您可能需要结合使用分析器和调试器来查找根本原因)并修复它。

关于tomcat - 为什么我不应该在生产环境中打开 "antiJARLocking"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22480442/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com