项目: springboot+mybatis+mysql+shiro
问题:有关用户与权限的服务无法实现事务,但其他服务均正常。
故意触发异常,大概的日志如下
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@a90acfa] was not registered for synchronization because synchronization is not active
JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@6add54e7] will not be managed by Spring
==> Preparing: insert into t_user_ts_info(id) values(?)
....
java.sql.SQLException: Field 'RANDOM_NUM' doesn't have a default value
该连接并没有交由spring管理,自然@Transactional无法管理事务。
由于其他服务事务均可正常使用,排除数据源配置问题,问题推测是bean容器相关的问题导致。
Bean创建日志:
创建的顺序有问题,ProxyTransactionManagementConfiguration还没有配置事务管