【发布时间】:2014-04-24 04:44:22
【问题描述】:
我在 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 在临时目录中复制了 webapp。这使得部署速度变慢,并且几乎每次重新部署临时目录的大小都会增加,因此我必须制定一个程序来从临时目录中删除我的应用程序的旧部署。 » 这是有用的信息!谢谢。我也同意 « [...] 并且对于 java,在生产中重新部署后重新启动服务器总是一个好主意(OutOfMemoryError 总是潜伏在黑暗中,即使您自己的代码没有泄漏)»跨度>
-
这个
antiJARLocking选项在 Tomcat 8 中消失了。相反,请参阅 Context Container documentation 中的antiResourceLocking。