前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于SpringMvc中的事务@Transactional

关于SpringMvc中的事务@Transactional

作者头像
石臻臻的杂货铺[同名公众号]
发布2021-07-14 09:54:58
3130
发布2021-07-14 09:54:58
举报
文章被收录于专栏:kafka专栏

情景:

     SpringMVC   Dubbo 远程调用 业务层

     在业务层Facade实现类中   用Dubbo 远程调用 业务层  事务不回滚

     如下:

     @Override

@Transactional (rollbackFor=Exception. class )

public boolean receAward(Long userId ) throws BusinessException {

/**

                   * 当这个方法抛出异常  其他操作都会回滚  唯独下面领接口不会回滚 为什么呢?

                   */

                   //操作1

issuccess = couponFacade .gradRed****(参数)

//测试1   //操作2

                  CpsCouponType record = new CpsCouponType();

record .setId(1L);

record .setDesc( "测试事务是否回滚此操作" );

couponService .updateCpsCouponType( record );

//测试2    //操作3

                  test();

//领奖了记录一下    //操作4

            CpsActiveSignAward cpsAward = new CpsActiveSignAward();

cpsAward .setSignconfId( vo .get(0).getId());

cpsAward .setRecordId( cpsActiveVo .getId());

cpsAward .setUserId( userId );

lotteryService .insertCpsActiveSignAward( cpsAward );

//操作5

            CpsActiveSignRecord ins = new CpsActiveSignRecord();

ins .setLastDaydate( new Date());

ins .setUserId( userId );

ins .setDayNum( cpsActiveVo .getDayNum()+1);

ins .setId( cpsActiveVo .getId());

lotteryService .update( ins );

int i = 1/0;   //这里故意抛异常

return issuccess ;

      }

      //这个测试  也是放着本 业务层里面  

@Override

public void test() {

            CpsActiveSignRecord ins = new CpsActiveSignRecord();

ins .setDayNum(111);

ins .setId(1);

lotteryService .update( ins );

      }

上面是我写的一些测试情况;

经过运行发现  所有的事务都回滚了  只有操作1没有回滚;

猜想:由于操作1  是通过dubbo远程调用的方法;  消息已经发出去了;操作已经执行成功了;然后当前业务层 所有的操作的事务还没有提交  所以能够回滚;  恩,应该是这样 哈哈哈哈

解决方案:

  将  这个 方法    couponFacade .gradRed****(参数) 的实现   放到了 couponService  业务层中

然后在这里直接调用 couponService. gradRed ****(参数);这样子就可以了

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016/03/10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档