From 6e4bb09dca9e940323d8d5e87cf4301f4caf3b53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E6=9F=922012?= <345849402@qq.com> Date: Sun, 20 May 2018 19:22:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=A5=E8=87=AA=E7=83=AD=E5=BF=83=E7=BD=91?= =?UTF-8?q?=E5=8F=8B=E7=9A=84=E6=B5=8B=E8=AF=95=E5=92=8C=E6=80=9D=E8=80=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/itstyle/seckill/service/impl/SeckillServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/itstyle/seckill/service/impl/SeckillServiceImpl.java b/src/main/java/com/itstyle/seckill/service/impl/SeckillServiceImpl.java index a8e0470..a24469d 100644 --- a/src/main/java/com/itstyle/seckill/service/impl/SeckillServiceImpl.java +++ b/src/main/java/com/itstyle/seckill/service/impl/SeckillServiceImpl.java @@ -86,7 +86,7 @@ public class SeckillServiceImpl implements ISeckillService { //这里、不清楚为啥、总是会被超卖101、难道锁不起作用、lock是同一个对象 //来自热心网友 zoain 的细心测试思考、然后自己总结了一下 //事物未提交之前,锁已经释放(事物提交是在整个方法执行完),导致另一个事物读取到了这个事物未提交的数据,也就是传说中的脏读。建议锁上移 - //给自己留个坑思考:为什么分布式锁(zk和redis)没有问题 + //给自己留个坑思考:为什么分布式锁(zk和redis)没有问题?难道不是事物的锅 String nativeSql = "SELECT number FROM seckill WHERE seckill_id=?"; Object object = dynamicQuery.nativeQueryObject(nativeSql, new Object[]{seckillId}); Long number = ((Number) object).longValue();