36

属性antiJARLocking是什么意思?当我把它变成true / false有什么意义?

我在context.xmlweb-application 的文件中看到了这个属性:

<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/poll">
 <Resource name="jdbc/PollDatasource" auth="Container"
           type="javax.sql.DataSource"
 // etc etc
</context>
4

2 回答 2

31

雄猫 7

来自上下文配置的 Tomcat 7.0 文档

“antiJARLocking - 如果为 true,当通过 URL 访问 JAR 中的资源时,Tomcat 类加载器将采取额外措施来避免 JAR 文件锁定。这将影响应用程序的启动时间,但在可能发生文件锁定的平台或配置上可能会被证明是有用的.如果没有指定,默认值为false。”

(他们试图解决的问题......我认为......是锁定的 JAR 文件会阻止热重新部署等工作。)

阅读文档以获取更多信息。

Tomcat 8 及更高版本

antiJARLocking属性由antiResourceLockingTomcat 8 及更高版本中的属性替换。该文档提到了设置此属性的一些值得注意的副作用。


也可以看看:

于 2012-07-23T06:02:49.743 回答
7

Windows 喜欢在类加载期间锁定文件,从而防止它们被手动删除或被另一个应用程序打开。在取消部署和重新部署战争时,它也会引起问题。在 Tomcat 中,当您指定<Context antiJARLocking="true"/>这将阻止 Windows 获取对您的 jar 的锁定

于 2015-04-28T04:00:28.910 回答