You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot会话无法持久化到SPRING_SESSION表的问题求助

Spring Boot会话无法持久化到SPRING_SESSION表的问题求助

我现在遇到一个Spring Session的奇怪问题,希望大家帮忙排查下:

我的Spring Boot应用里,Spring似乎在内存中正常创建并维护会话,但SPRING_SESSION和SPRING_SESSION_ATTRIBUTES表始终没有任何数据,这让我百思不得其解。

先把我的配置和运行情况梳理一下:

1. 依赖配置

pom.xml里已经正确引入了Spring Session核心和JDBC的依赖:

<dependency>
    <groupId>org.springframework.session</groupId>
    <artifactId>spring-session-core</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.session</groupId>
    <artifactId>spring-session-jdbc</artifactId>
</dependency>

2. 启动类配置

主启动类上添加了@EnableJdbcHttpSession注解,还设置了会话超时时间:

@SpringBootApplication(exclude= {UserDetailsServiceAutoConfiguration.class})
@EnableJdbcHttpSession(maxInactiveIntervalInSeconds = 919)
public class AdminApplication extends SpringBootServletInitializer {
    // ... 启动类其他逻辑
}

3. 会话作用域Bean

定义了一个实现序列化的会话作用域组件,用来存储用户认证信息:

@Component
@Scope(value = "session", proxyMode = ScopedProxyMode.TARGET_CLASS)
public class AuthUser implements Serializable {
    private static final long serialVersionUID = 1L;
    private int userId;
    // ... 其他属性、getter/setter方法
}

4. 过滤器中使用会话Bean

我有一个排序为2的过滤器,自动注入了上面的会话Bean来处理认证逻辑:

@Component
@Order(2)
public class AuthenticationFilter implements Filter {
    @Autowired
    private AuthUser authUserSessionObject;

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        // ... 认证逻辑实现
    }
}

实际运行现象

  • 第一次请求时,authUserSessionObject是空的(符合预期),我们会通过逻辑初始化它的userId属性;
  • 后续请求过来时,authUserSessionObject能正确保留之前设置的userId值,说明会话在内存中是正常工作的;
  • 但数据库的SPRING_SESSION表始终是0条记录,同一个schema下的其他业务表操作都正常,排除数据库连接或权限问题;
  • 日志开了trace级别,每分钟能看到Spring Session执行清理过期会话的SQL:DELETE FROM SPRING_SESSION WHERE EXPIRY_TIME < ?,但完全看不到任何插入或更新会话的日志。

我实在搞不懂哪里出了问题,明明会话在内存中正常流转,但就是不持久化到数据库表。有没有朋友遇到过类似问题,或者能给我一些排查方向?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 09:18:09