Tomcat里antiResourceLocking的作用和引起的一个问题

本文详细介绍了Tomcat配置项antiResourceLocking的作用及副作用,包括如何影响应用的启动时间、热部署能力以及文件锁定等问题。对于部署在Tomcat上的应用来说,正确配置该选项至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在论坛看到了一个网友的提问:

奇怪的问题,文件上传到Tomcat下的temp目录里面了


虽然我肯定是配置的问题,不过我还真的没有自己遇到这个。

不过还好,楼主真的在配置文件里找到了问题,那就是 antiResourceLocking


我们先来看看这个 antiResourceLocking 到底是干什么的!

If true, Tomcat will prevent any file locking. This will significantly impact startup time of applications, but allows full webapp hot deploy and undeploy on platforms or configurations where file locking can occur. If not specified, the default value is false .

Please note that setting this to true has some side effects, including the disabling of JSP reloading in a running server: see Bugzilla 37668 .

Please note that setting this flag to true in applications that are outside the appBase for the Host (the webapps directory by default) will cause the application to be deleted on Tomcat shutdown. You probably don't want to do this, so think twice before setting antiResourceLocking=true on a webapp that's outside the appBase for its Host.


我大致翻译一下:

如果这个参数为true,那么将组织任何文件锁。这将明显的影响应用的启动时间,但允许webapps,可能发生锁的平台和配置下,支持完整的热部署和热卸载。如果不配置,默认值是false;

如果设置为true,有一些副作用,包括屏蔽了JSP文件在运行服务器上的重新加载。

如果设置为true,且部署在Host的AppBase目录外面(默认是webapps),在Tomcat关闭的时候将导致应用被删除。


最主要的就翻译到这里了。实际上,如果为false,因为存在锁,在你重新发布的时候,可能出现部分代码无法更新。因为原始文件可能因为被锁住了,不能删除。


当然,如果为false,那么部署的目录就是和包名相同了。如果是false,则会每次都放到一个临时目录下面,一个temp目录。这也是这个配置引发的一个副作用。


另外的一个类似的配置 antiJARLocking 是防止jar类库被锁定而无法删除这个作用的。


每天努力工作,每天都有收获。早上的经验继续有用,我先复制一份先。呵呵呵!

 

今天是个好日子,因为明天就是周末了,希望我能回天津,顺便祝大家周末好心情。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值