我试图从HttpSessionListener中捕获sessionDestroyed事件以检查是否由sessionTimeout触发。从HttpSession对象获取到期
在我调试时,我可以看到一个名为“expiring”的属性,根据文档此属性用于在内部跳过一些异常。
即将到期 我们目前正在处理会话过期,因此绕过某些IllegalStateException测试。 Source
的问题是,因为这个属性被设置为“保护”我不能检查,如果该事件是由有效会话超时触发。
我需要捕获此会话超时事件以保存数据库中的记录。
有人可以帮助我吗?
这是我到目前为止有:
public class AppHttpSessionListener implements HttpSessionListener {
@Override
public void sessionCreated(HttpSessionEvent se) {
}
@Override
public void sessionDestroyed(HttpSessionEvent se) {
LOG.log(Level.INFO, "DEBUG: SESION DESTRUIDA");
}
private static final Logger LOG = Logger.getLogger(AppHttpSessionListener.class.getName());
}
这正是我现在所做的!哈哈谢谢这是一个正确的答案 –