我正在尝试理解在Web.xml中为会话超时配置会话的真正目的。
<!-- Session Configuration -->
<session-config>
<session-timeout>60</session-timeout>
</session-config>
现在让我告诉你我的问题。
我的应用程序正在导入/上传一个.txt文件,由于有数百万条记录要导入,这势必要花费1小时以上的时间。但是会话在1小时后超时,尽管我的应用程序仍在导入正在进行的.txt文件。当应用程序在后台执行某些任务时,这样的应用程序不应该超时。
发布于 2013-03-13 18:44:17
<session-config>
<session-timeout>-1</session-timeout>
</session-config>
您可以在会话永不过期的情况下使用"-1“。因为您不知道线程完成所需的时间。
发布于 2013-03-13 19:55:27
通过javascript定期(比如每60秒一次)向服务器发送AJAX Http请求,以维护与服务器的会话,直到文件上传完成。
发布于 2013-03-16 01:39:37
Hacky的方式:
当需要较大的up-/download时,可以通过编程方式增加会话超时。
session.setMaxInactiveInterval(TWO_HOURS_IN_SECONDS)
当该过程结束时,您可以将超时设置回其默认值。
但是..。当您使用Java,并且up-/download不需要花费完整的一个小时时,更好的方法是异步运行任务(例如通过JMS )。
https://stackoverflow.com/questions/15382895
复制相似问题