我们有一个简单的基于Java的应用程序。在那里,我们在接收来自客户端的createSession()请求时创建会话。然后我们在会话中执行“操作”,最后在接收release()时,我们销毁会话对象。现在我想为应用程序实现会话超时功能。如果会话空闲一段可配置的时间,请将其销毁。我可以创建一个专用线程,在特定时间间隔后唤醒并遍历所有会话对象。基于每个对象上的“lastAccessedTimeStamp”,只要适用,它就会调用release()。还有什么可以做的?这里可以使用的其他API是什么?如何在Java中实现会话超时?
回答
这是什么类型的应用程序?对于Web应用程序,会话处理(包括超时)由servlet容器自动完成;超时值在web.xml
配置文件中设置。
如果你想重新发明所有这些车轮,那么是的,一个单独的线程定期(也许每分钟一次)检查所有会话并释放超时的声音听起来像是一个明智的实现。
此处适用相同的注释:这是一个Web服务器(apache-tomcat + apache-cxf)。但是,我们正在创建的会话是自定义会话(POJO)。因此,这些POJO的生命周期无法通过web.xml中的会话超时参数进行控制。任何可以使用API的建议? – 2012-01-05 11:04:16
@Arnab Biswas:当然。 servlet API。你会得到一个成熟的,支持良好的会话实现。如果由于某种原因,你坚持重新发明轮子,你自己 - 但这就是你想要的。 – 2012-01-05 11:12:38
谢谢。是的,我们不能使用Servlet API中定义的会话处理机制。我的问题是如果我的session是basicay POJO,那么可以使用ehat机制来实现超时?任何来自java.util.concurrent包的东西? – 2012-01-05 12:42:08
- 1. 我如何在iPhone中实现会话超时?
- 2. 如何在角度js中实现会话超时?
- 3. 如何在OpenERP中实现会话超时
- 4. Laravel如何实现会话超时后锁定屏幕
- 5. 如何实现会话超时页面使用asp.net mvc的
- 6. Java会话超时弹出
- 7. 如何在java中执行会话超时?
- 8. 如何在java中实现自定义http会话?
- 9. 会话超时消息在实际会话超时5分钟之前弹出?
- 10. 如何在MVC中的web.config中实现会话计时器?
- 11. 如何推进会话超时在ServiceStack
- 12. 如何在java中实现高效超时
- 13. 会话超时
- 14. 会话超时
- 15. 会话超时
- 16. 会话超时
- 17. 会话超时
- 18. 会话超时
- 19. fcntl.flock - 如何实现超时?
- 20. 在HTTP中实现超时
- 21. 在c中实现超时#
- 22. 在webviews中实现超时
- 23. NetworkError:500会话超时后出现System.ServiceModel.ServiceActivationException
- 24. 如何调用会话时会话超时
- 25. Spring Boot Java配置集会话超时
- 26. Java 1.6 JSSE默认SSL会话超时?
- 27. IBM Mobilefirst Java适配器会话超时
- 28. 会话在1 minuites超时
- 29. 会话超时在JSF
- 30. 会话超时在PHP
你可以给我们更多精确的应用程序上下文吗?它在应用程序服务器(JavaEE)还是独立的(JavaSE)中损坏? – Riduidel 2012-01-05 09:55:47
这是一个web服务器(apache-tomcat + apache-cxf)。但是,我们正在创建的会话是自定义会话(POJO)。因此,这些POJO的生命周期无法通过web.xml中的会话超时参数进行控制。 – 2012-01-05 10:44:21