java吧 关注:1,292,758贴子:12,824,341

回复:来个大佬救救我,关于spring事务的问题

只看楼主收藏回复

为嘛不直接抛个runtimeexception试试呢,绕来绕去的牵扯了那么多看不见细节的方法我们看着也不好猜,把后面的rollbackfor去掉吧,默认就是遇到runtime和error回滚的,还有就是有嵌套事务存在么?有没试过直接在类上打注解呢,配置就那几句都一样的,应该还是你代码哪里有问题


IP属地:湖北来自Android客户端21楼2018-11-17 03:06
收起回复
    感谢楼上几位大佬的回复


    IP属地:上海来自Android客户端22楼2018-11-17 08:45
    回复
      2025-12-27 21:08:25
      广告
      不感兴趣
      开通SVIP免广告
      这个rollbackfor没用.默认也是runtimeexception


      IP属地:浙江来自Android客户端23楼2018-11-17 09:01
      收起回复
        只看你发的图,没什么问题,具体愿意,只凭这两张图,不确定


        IP属地:北京24楼2018-11-17 10:11
        收起回复
          今天改了一下,改成这样也不行。


          IP属地:上海来自Android客户端25楼2018-11-17 10:47
          收起回复
            是不是我其他地方的配置的问题,除了图上的配置还需要配别的地方吗


            IP属地:上海来自Android客户端26楼2018-11-17 10:48
            回复
              这是数据库连接池和sqlSessionFactory的配置



              IP属地:上海来自Android客户端27楼2018-11-17 10:51
              回复
                看下你的事务是配置在哪一层起作用的


                29楼2018-11-17 11:47
                回复(1)
                  2025-12-27 21:02:25
                  广告
                  不感兴趣
                  开通SVIP免广告
                  改成这样了,把能删的都删了,试了一下还是不行


                  IP属地:上海来自Android客户端30楼2018-11-17 12:27
                  回复(4)
                    打印的日志里有这样一句话


                    IP属地:上海来自Android客户端31楼2018-11-17 12:28
                    回复
                      JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@2703958a] will not be managed by Spring
                      日志里有这样一句话,意思是我的数据库连接没有被spring管理吗?


                      IP属地:上海来自Android客户端32楼2018-11-17 12:29
                      回复(1)
                        在关闭连接的时候还打印了这个
                        org.mybatis.spring.SqlSessionUtils - Closing non transactional SqlSession
                        为什么是关闭没有事务的sqlsession,意思是事务没配置好吗?


                        IP属地:上海来自Android客户端33楼2018-11-17 12:39
                        回复
                          事务底层原理百度一下,然后再去百度一下事务的传播属性,要是还不懂我给你说


                          来自手机贴吧34楼2018-11-17 12:44
                          回复(3)
                            我个人认为是spring aop的问题 你看看你aop配了没 或者包扫描扫到service了吗


                            来自Android客户端35楼2018-11-17 13:04
                            回复(3)
                              2025-12-27 20:56:25
                              广告
                              不感兴趣
                              开通SVIP免广告
                              在applicationContext.xml中添加事务支持
                              <!--enabletransactionannotationsupport-->
                              <tx:annotation-driventransaction-manager="transactionManager"proxy-target-class="true"/>
                              PS.proxy-target-class=true表明自动生成代理类,Service无需定义接口。
                              如果proxy-target-class=true需添加以下配置支持
                              <aop:aspectj-autoproxy/>


                              来自Android客户端36楼2018-11-17 13:22
                              收起回复