干饭两斤半 2021-07-15 12:12 采纳率: 50%
浏览 41

LCN分布式事务多线程场景下,子线程事务偶现回滚

伪代码如下

// 开多线程的方法
@LcnTransaction
public Boolean test1() {
  excutorService.submit(new TestTask(entity))
}


// 线程类
public class TestTask implements Runnable{
  private Entity entity;
  @Override
  public void run() {
    TestMapper testMapper = BeanContextUtils.getBean(TestMapper.class);
    testMapper.insert(this.entity);
  }
}

此种使用方式,子线程中insert的时候日志显示插入成功,返回值为1;但是数据库中找不到插入的数据。所以推测是回滚了。数据库用的oracle;
此种回滚不是必然现象。有的时候会插入成功可以在数据库中查得到

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-07 18:00
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 7月15日

悬赏问题

  • ¥66 关于川崎机器人调速问题
  • ¥15 winFrom界面无法打开
  • ¥15 crossover21 ARM64版本安装软件问题
  • ¥15 mymetaobjecthandler没有进入
  • ¥15 mmo能不能做客户端怪物
  • ¥15 osm下载到arcgis出错
  • ¥15 Dell g15 每次打开eiq portal后3分钟内自动退出
  • ¥200 使用python编写程序,采用socket方式获取网页实时刷新的数据,能定时print()出来就行。
  • ¥15 matlab如何根据图片中的公式绘制e和v的曲线图
  • ¥15 我想用Python(Django)+Vue搭建一个用户登录界面,但是在运行npm run serve时报错了如何解决?