Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何清理SpringWebFlow中的资源?_Spring_Jsf_Trinidad_Spring Web - Fatal编程技术网

如何清理SpringWebFlow中的资源?

如何清理SpringWebFlow中的资源?,spring,jsf,trinidad,spring-web,Spring,Jsf,Trinidad,Spring Web,我有一个SpringWebFlow应用程序。在一种视图状态下,用户可以将文件上载到服务器。默认情况下,Apache Trinidad仅为请求范围临时创建文件。所以我将它复制到服务器上的另一个路径,因为我们需要在下一步中进行用户确认。复制后,文件将保留在服务器磁盘存储上,引用将被删除 <!-- This variable holds server File path <var name="uploadFO" class="com.company.whateverUploadFO" /&

我有一个SpringWebFlow应用程序。在一种视图状态下,用户可以将文件上载到服务器。默认情况下,Apache Trinidad仅为请求范围临时创建文件。所以我将它复制到服务器上的另一个路径,因为我们需要在下一步中进行用户确认。复制后,文件将保留在服务器磁盘存储上,引用将被删除

<!-- This variable holds server File path
<var name="uploadFO" class="com.company.whateverUploadFO" />
...
<!-- User uploads file here in <tr:inputFile> element -->
<view-state id="view" view="/flow/upload.xhtml">
    <transition on="reset" to="deleteFile"/>
    <transition on="start" to="startProcessing"/>
</view-state>

在正常流中,文件将被显式删除。但有一个问题。如果用户在上传后和确认前关闭浏览器该怎么办?文件将“永远”留在服务器磁盘上。我怎样才能防止这种情况?当用户放弃流时,我如何注册一些被调用的清理方法?
谢谢

当用户退出浏览器时,不会调用结束状态。因此,当他退出浏览器时,不可能很好地删除它。你可以使用一个每分钟/小时/天清理你的资源的工作。。。或者也许你应该重新考虑你的解决方案,在上传文件后直接删除它

当用户退出浏览器时,不会调用结束状态。因此,当他退出浏览器时,不可能很好地删除它。你可以使用一个每分钟/小时/天清理你的资源的工作。。。或者也许你应该重新考虑你的解决方案,在上传文件后直接删除它