为了账号安全,请及时绑定邮箱和手机立即绑定

业务处理中数据库状态更新如何保证实时?

业务处理中数据库状态更新如何保证实时?

桃花长相依 2019-03-22 18:15:26
java项目业务中经常会出现在service中update更新数据库状态然后用另一个线程去处理复杂业务,但是在另外的线程中取出当前对象的时候会出现update的状态还没更新的情况;另外一种情况是在service中更新状态,然后每次进入时会判断状态值来决定是否处理业务,但是如果两次相同的业务发起时间过短的话就会出现第一次还没更新好状态第二次就已经执行了,导致状态值无法获取最新的。我们的事务都是在service上的,不知道有什么办法可以让数据库状态先更新,每次都能取到最新的状态。
查看完整描述

2 回答

?
月关宝盒

TA贡献1772条经验 获得超5个赞

更新的时候建议你用一些小手段将正在被更新的数据锁定, 不允许读取。等更新过后再发消息让其他线程进行读取。


查看完整回答
反对 回复 2019-04-22
?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

事务隔离级别,设置成repectable即可


查看完整回答
反对 回复 2019-04-22
  • 2 回答
  • 0 关注
  • 579 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信