我编写了自己的SessionExpireListener
,会在删除会话时调用。我的所有会话都存储在redis中。所以我正在使用@EnableRedisSession(maxInactiveIntervalInSeconds = 10)
注释。当我运行我的服务器时sessionCreated(HttpSessionEvent event)
被调用。 10秒后会话将从redis中删除,但不会调用sessionDestroyed
事件。
@Component
public class SessionExpireListener implements HttpSessionListener {
private static final Logger LOG = LoggerFactory.getLogger(SessionExpireListener.class);
@Override
public void sessionDestroyed(HttpSessionEvent se) {
LOG.info("Session has been destroyed...");
}
@Override
public void sessionCreated(HttpSessionEvent se) {
// TODO Auto-generated method stub
LOG.info("Session has been created...");
}
}
控制台中未显示任何LOG。永远不会调用sessionDestroyed方法。