gpt4 book ai didi

java - WebService下载后删除文件

转载 作者:行者123 更新时间:2023-11-29 09:10:35 28 4
gpt4 key购买 nike

我开发了一个应用程序,其中文件存储在文件服务器上(定制)。有两个相互通信的 Web 服务。 'WebServiceA' 和 'WebServiceB'。在两台不同的机器上。

WebServiceB 在调用 WebServiceA 时在 fileServer 上存储/获取文件。

客户端要下载文件时,调用WebServiceA的方法。 WebServiceA 调用WebServiceB 的下载方法。我启用了 MTOM 和 StreamingAttachment,因为我的文件很大,有些是 4KB,有些高达 2GB。我在 WebServiceB 上的 WebMethods 步骤是从 FileServer(在不同机器上)获取本地机器上的文件。通过将文件作为参数传递,从 FileDataSource 创建 DataHandler。将 DataHandler 对象返回给 WebServiceA 的方法。

问题是,在执行某些操作后,WebServiceB 的本地计算机存储了大量在下载操作期间创建的文件。

我试过了1)删除WebServiceB中finally block 中的文件,导致WebServiceA上的文件为空

2) 创建一个临时文件。temp = File.createTempFile("temp", ".txt");temp.deleteOnExit();但这不会删除,因为我的 webserviceB 永远不会关闭。

3) 并且我无法在 WebServiceA 与 WebServiceB 之间实现“确认”或“按时间间隔删除”,因为我的经理拒绝了该解决方案。

java 中是否存在任何 genine 解决方案,它告诉我文件当前未被任何人使用。

我所有的机器都运行在 freebsd 8.2、java6、glassfish 3.1 和 jaxws 2.2 上。

最佳答案

简单的解决方案是有一个批处理项目来定期删除文件。

关于java - WebService下载后删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12672915/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com