I wrote my own SessionExpireListener
that will be invoked when session is deleted. All my sessions are stored in redis. So i am using @EnableRedisSession(maxInactiveIntervalInSeconds = 10)
annotation. When i run my server sessionCreated(HttpSessionEvent event)
is invoked. After 10 seconds session is deleted from the redis but sessionDestroyed
event is not invoked.
@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...");
}
}
No LOG has been displayed in console. sessionDestroyed method is never called.