在我们基于某种逻辑的Web应用程序中,我们在磁盘上生成一个文件。然后用户的浏览器可以请求该文件。这将通过使用ajax来完成。我想在不需要时删除该文件。到目前为止我所做的是在以下情况下删除:
HttpSessionDestroyedEvent
的侦听器。这包括用户请求文件然后在交付之前关闭浏览器的情况。 关于我的应用程序的一些信息:基于Spring的应用程序,并使用注入了代理(aop scoped-proxy)的单例范围bean来处理会话中的文件位置。
现在,问题是:如果用户在浏览器中打开两个选项卡并在其中一个选项卡中请求文件(假设其运行时间很长),并在第二个选项卡中注销系统。在这种情况下,将生成文件,并且系统无法自动删除。我该如何处理这种情况?