关于mysql执行事物的问题

jouice8 2018-10-30 11:46:12





大神同志们,请指教
问题:
有两个并发的事务,图1中编号1是事务A开始,编号2更新数据,编号3是提交事务;
图1中编号5是事务B开始,在图2中编号4是事务B中查询事务A中更新的数据,但是查
得的数据是未更新的。问题来了,事务A在图1编号3的时刻已经提交了,但是在事物B
编号4的地方发现事务A提交未生效,不知道该如何解释?


...全文
171 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jouice8 2018-10-30
  • 打赏
  • 举报
回复
事务是在service层控制的,图片1的编号3已经提交事务,说明service层已经执行完成

引用 1 楼 taiyangandyueliang 的回复:
使用activmq吧 执行完成后马上触发后面的执行,或者你的事物还没有结束 操作还在同一serice内 看看你的事物是否是serice层控制的
taiyangandyueliang 2018-10-30
  • 打赏
  • 举报
回复
使用activmq吧 执行完成后马上触发后面的执行,或者你的事物还没有结束 操作还在同一serice内 看看你的事物是否是serice层控制的
jouice8 2018-10-30
  • 打赏
  • 举报
回复
系统事务是添加在service层的,保持redis锁范围和事务范围一致时,就不会读到脏数据
jouice8 2018-10-30
  • 打赏
  • 举报
回复
整个事务是添加在service层的,我再添加redis锁的时候放在service方法上,就和事务保持一致,就不会读脏数据了

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧