【发布时间】:2012-01-05 09:52:55
【问题描述】:
我们有一个简单的基于 Java 的应用程序。在那里,我们在接收到来自客户端的 createSession() 请求时创建会话。然后我们在会话上执行“操作”,最后在接收到 release() 时,我们销毁会话对象。现在我想为应用程序实现会话超时功能。如果会话在可配置的时间内空闲,则将其销毁。我可以创建一个专用线程,该线程将在一定时间间隔后唤醒并遍历所有会话对象。根据每个对象上的“lastAccessedTimeStamp”,它会在适用时调用 release()。还有什么可以做的?可以在这里使用的其他 API 是什么?
【问题讨论】:
-
您能否为我们提供更多关于您的应用程序上下文的精确信息?它是在应用服务器 (JavaEE) 还是独立 (JavaSE) 中运行?
-
这是一个网络服务器(apache-tomcat + apache-cxf)。但是,我们正在创建的会话是自定义会话 (POJO)。因此,这些 POJO 的生命周期无法通过 web.xml 中的会话超时参数来控制
标签: java session session-timeout