Apache Commons VFS避免增加临时目录

时间:2012-09-27 13:23:45

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

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

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

  2. 似乎临时目录是缓存,但是当文件发生变化时,它不会再从内部网加载它。

  3. 我曾经设置

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

    但似乎VFS并不将临时目录视为缓存。我是否解决了错误的问题?

1 个答案:

答案 0 :(得分:2)

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