如何在用户会话中实现后台任务,以检查用户是否正在取得进展?当用户花费太长时间时,可以释放保留的资源。
要求是当用户选择预订时,为该用户保留资源,服务器正在等待下一个请求继续。
如果用户未在接下来的60秒内点击继续,服务器应自动释放预留的资源。
答案 0 :(得分:0)
您可以使用java.util.Timer, java.util.TimerTask
来安排和执行取消。另一个流行的调度库是quartz。但这可能是一种过度杀伤。
解决此问题的另一种方法可能是创建一个客户端计时器任务,该任务在某段时间内没有用户交互时会调用服务器的“取消”功能。即使这样,当用户通过关闭浏览器孤立会话时,你也必须有一个服务器进程来清理资源。
您也可以考虑使用session timeout。
答案 1 :(得分:0)
好,所以我想出了如何解决方案。
以下是我遵循的步骤