背景:在Springboot的项目中单独创建了一个HttpSessionListener,但是发现sessionCreated方法无论如何都不会被调用,意味着我们根本没有监听到Session被创建,接下来我做了详细调研。
以下代码仅作参考:
Application.java
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
MyHttpSessionListener.java
@Configuration
@WebListener
@Slf4j
public class MyHttpSessionListener implements HttpSessionListener {
/**
* 当前在线人数,仅作示例使用
*/
private int onLineCount;
@Override
public void sessionCreated(HttpSessionEvent se) {
onLineCount ++;
log.info("sessionListener : create --> " + se.getSession().getId());
}
@Override
public void sessionDestroyed(HttpSessionEvent se) {
log.info("sessionListener : destroy -->