前几天,项目中出现了一个bug,场景如下:
在一个service中调用了kafka分发数据到地址A,
A收到数据后会会刷新列表,
但从列表进入某条记录的详情的接口是调用的后台接口(从数据库中拿到数据),
于是就产生了一个问题:由于网络慢或其他原因,导致kafka推送数据给A,A进入某条记录详情,获取的详情数据还是更新前的数据(数据尚未写入数据库),
这就要求,在kafka推送数据给A之前,service事务必须已经提交,
所以必须将事务从service外层,放到service内部kafka推送数据之前.
由此,开始研究jdbc事务的发展和迭代过程.
前辈的博文写的非常棒,花了点时间,我研读了几遍,顺着思路自己写了一遍,非常有帮助
http://blog.csdn.net/huilangeliuxin/article/details/43446177
java事务 分为:
1.jdbc事务
2.jta事务
3.容器事务
目前我最长使用的事jdbc事务,其它两种事务暂时不研究,留待以后.