我正在为我的 Web 应用程序使用 Spring 4.0.2。我的 Web 应用程序是关于文件处理的。有一些关于文件的状态,如“In Progress”、“On Hold”、“Completed”。一个用户可以完成多个文件,但一次只能完成一个。因此,对于单个用户,一次只有一个文件必须处于“进行中”。现在,我想每 15 分钟检查一次特定文件是否发生了任何事件。如果没有发生任何事件,我想将文件状态从“进行中”更改为“暂停”。所以我尝试在 Spring 中编写调度程序,如下所示。
@Scheduler(fixedDelay = 15*60*1000)
public void checkFrequently()
{
// here I am doing some operation to check for any event occurred in last 15 min or not.
// here, I need HttpSession for two purposes.
// 1. to get current logged in user
// 2. to get current file for current user
}
有没有可能在这种方法中获得会话?如果不可能,有什么替代方案?