我希望定期为每个用户运行一个函数,以检查用户是否处于 Activity 状态。如果不活动,该函数将从 servlet 上下文中的用户列表中删除用户并清除用户 session 。
我可以使用什么来为每个用户定期运行该函数?
据我了解,servletcontextlistener 在 servlet 的生命周期内只运行一次,而不是为每个用户运行一次,因此它不可用。此外,建议不要在 servlet 中使用线程。
编辑: 用户(使用 ajax)调用一个 Action ,其中包含更新我为每个用户存储的变量的函数,该变量指示他们上次联系服务器的时间。
最佳答案
您可能正在寻找 javax.servlet.http.HttpSessionListener
。
创建一个,在 web.xml
中注册它并让 sessionDestroyed
完成您的工作。
关于java - 我可以使用什么来为在 tomcat 上运行的 java servlet 中的每个 session 实现后台进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10099394/