tomcat webdav文件上传读写冲突问题

本文探讨了在Tomcat中使用WebDAV进行文件上传时遇到的并发问题。当一个线程正在上传文件时,另一线程尝试改名并解析文件,导致解析失败。在Windows系统中,文件改名操作无法进行,但在Linux环境下,文件可以被改名并并发写入。问题涉及到操作系统对文件占用的不同处理方式,以及Linux的文件锁机制,包括建议锁和强制锁。文章引用了相关测试结果和参考资料,揭示了不同操作系统下文件处理的差异。
摘要由CSDN通过智能技术生成

WebDAV (Web-based Distributed Authoring and Versioning) 一种基于 HTTP 1.1协议的通信协议。它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可直接对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制

Tomcat 4.版本已经集成了webdav,因此目前使用的tomcat,只需要在web.xml中配置下,就可以使用webdav的功能,这里要说的问题其实跟webdav无关,只是系统中使用了webdav进行文件上传,顺带说明下。

问题是这样的:
系统有个文件上传功能,如上所言,这个上传功能是用webdav实现的,文件上传后,系统有另外一个线程对上传文件进行扫描解析,而扫描解析时会对文件进行改名。接着问题来了,解析时偶尔出现文件解析失败的错误,而这时将文件拿回来重解析,是正常的(不用考虑解析逻辑或文件内容的正确性,这里不是说这样的问题)。

排查的结果很诧异,刚才说了解析时会改文件名,排查时发现改了名后的文件大小还在增加

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值