什么是反JARLocking属性?雄猫 7雄猫 8 及更高版本

2022-09-01 06:10:22

属性是什么意思?当我把它变成真/假时,它的意义是什么?antiJARLocking

我在Web应用程序的文件中看到了这个属性:context.xml

<?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>

答案 1

雄猫 7

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

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

(他们试图解决的问题...我认为。。。是锁定的JAR文件将阻止热重新部署之类的东西工作。

有关详细信息,请阅读文档。

雄猫 8 及更高版本

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


另请参阅:


答案 2

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


推荐