【问题标题】:Apache Commonfs VFS avoid growing temp dirApache Commons VFS 避免增长临时目录
【发布时间】:2012-09-27 13:23:44
【问题描述】:

我对 VFS 有疑问。我开发了一个 Web 应用程序来将部署包(zip 文件)的 URL 粘贴到 textarea 中。您可以查看部署脚本并在最后部署应用程序。它在小型机器上的 tomcat 上运行。部署包大约 5-100 MB。我现在的问题是,临时目录会随着时间的推移而增长。 VFS 似乎没有从临时目录中删除文件。我为 tomcat 编写了一个启动脚本,用于清理 vfs 临时目录。但这根本不是很好。

  1. 有没有办法在不关闭FileSystemManager的情况下通过VFS删除它们?

  2. 好像临时目录是一个缓存,但是当文件发生变化时,它不会再次从内网加载。

我曾经设置过

        ((DefaultFileSystemManager) VFS.getManager()).setFilesCache(new NullFilesCache());
        ((DefaultFileSystemManager) VFS.getManager()).setCacheStrategy(CacheStrategy.ON_CALL);

但似乎 VFS 不将临时目录视为缓存。我理解错了吗?

【问题讨论】:

    标签: java vfs temporary-directory apache-commons-vfs


    【解决方案1】:

    我通过修改我的核心项目以通过工厂获取 FileSystemManager 并通过我的 Web 项目(会话绑定和手动销毁方法)处理内部的 FileSystemManager 来解决问题。在销毁时,我只需关闭 FileSystemManager 并创建一个新的。这整理了临时目录。

    【讨论】:

      猜你喜欢
      • 2017-01-19
      • 1970-01-01
      • 2019-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-02
      • 1970-01-01
      相关资源
      最近更新 更多