SqlSession was not registered for synchronization because synchronization is not active

ssm整合时,并且有事务控制。日志中有以下情况【sqlsession和JDBC 连接同时出错】

[SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3f57bcad] was not registered for synchronization because synchronization is not active]
[JDBC Connection [com.mysql.jdbc.JDBC4Connection@38234a38] will not be managed by Spring]

可能是事务中有错误,我遇到的是这边配错了(单词少了一个字母)。

<aop:pointcut expression="execution(* *..*ServiceImp.*(..))" id="txPonintcut"/>

例如:以下配置中,你若没有配置save*,却来使用savexxxx方法,想要测试事务回滚,也会在日志中看到上面的错误

<tx:method name="save*" propagation="REQUIRES_NEW" rollback-for="java.lang.Exception"/>
<tx:method name="update*" propagation="REQUIRES_NEW" rollback-for="java.lang.Exception"/>
<tx:method name="remove*" propagation="REQUIRES_NEW" rollback-for="java.lang.Exception"/>
<tx:method name="batch*" propagation="REQUIRES_NEW" rollback-for="java.lang.Exception"/>

上面两个错误并不是提示性的错误,因为它没有影响你的CRUD操作,但是在测试事务回滚时,就会发现配置的事务没有生效,这时观察日志文件中就会发现有这两个错误。

你可能感兴趣的:(日常报错)