Spring会话-未调用SessionDestroyeEvent
我有一个Spring应用程序,其中会话存储在redis中,超时时间很短(1m)。我想在会话超时后调用函数,但是不会调用SessionDestroyedEvent@EventListener SessionListener.java:Spring会话-未调用SessionDestroyeEvent,spring,redis,timeout,event-listener,spring-session,Spring,Redis,Timeout,Event Listener,Spring Session,我有一个Spring应用程序,其中会话存储在redis中,超时时间很短(1m)。我想在会话超时后调用函数,但是不会调用SessionDestroyedEvent@EventListener SessionListener.java: import org.springframework.context.event.EventListener; import org.springframework.session.events.SessionCreatedEvent; import org.spr
import org.springframework.context.event.EventListener;
import org.springframework.session.events.SessionCreatedEvent;
import org.springframework.session.events.SessionDestroyedEvent;
import org.springframework.stereotype.Component;
@Component
public class SessionListener {
@EventListener
public void sessionCreated(SessionCreatedEvent event) {
System.out.println("created"); // gets called
}
@EventListener
public void sessionDestroyed(SessionDestroyedEvent event) {
System.out.println("destroyed"); // never gets called
}
}
application.properties:
spring.session.store-type=redis
server.servlet.session.timeout=1m
注:
SessionDeletedEvent
或SessionExpiredEvent
。为了使其工作,需要为通用命令和过期事件启用Redis键空间事件