老师,你这个怎么不用乐观锁,或者在数据库中进行金额的加减操作。 是不考虑并发了吗?

来源:11-12 事务消息支付实战-7

梨多情

2020-03-26

PlatformAccount pa = platformAccountMapper.selectByPrimaryKey(“platform001”); // 当前平台的一个账号
pa.setCurrentBalance(pa.getCurrentBalance().add(money));
Date currentTime = new Date();
pa.setVersion(pa.getVersion() + 1);
pa.setDateTime(currentTime);
pa.setUpdateTime(currentTime);
platformAccountMapper.updateByPrimaryKeySelective(pa);

老师,你这个怎么不用乐观锁,或者在数据库中进行金额的加减操作。
是不考虑并发了吗?

写回答

2回答

梨多情

提问者

2020-03-28

1、考虑到系统健壮性,即便前面验证过了,后面存在并发问题点操作,不是也应该做相应的处理,防止极端情况的出现。

2、如果只是单纯的版本号变更,那么这个版本号的作用是什么啊?

0
0

阿神

2020-03-28

前面已经验证了吧,分布式锁

0
0

RocketMQ核心技术精讲与高并发抗压实战

理论+实战,系统掌握RocketMQ核心技术, 挑战高并发抗压实战

1182 学习 · 304 问题

查看课程