我試圖從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());
}
這正是我現在所做的!哈哈謝謝這是一個正確的答案 –