log4j日志时间点 线程号 操作数据库动作
2017-10-21 12:32:52,804 http-bio-8080-exec-150 select TOTAL_DAY_LIMIT null then insert 0 commit;
2017-10-21 12:32:52,842 http-bio-8080-exec-152 select TOTAL_DAY_LIMIT 0
2017-10-21 12:32:53,224 http-bio-8080-exec-150 update TOTAL_DAY_LIMIT+1--->TOTAL_DAY_LIMIT='1' commit;
2017-10-21 12:32:53,325 http-bio-8080-exec-153 select TOTAL_DAY_LIMIT 1
2017-10-21 12:32:53,475 http-bio-8080-exec-152 update TOTAL_DAY_LIMIT+1--->TOTAL_DAY_LIMIT='2' commit;
2017-10-21 12:32:53,564 http-bio-8080-exec-154select TOTAL_DAY_LIMIT 2 限额超限,拒绝交易
2017-10-21 12:32:53,718 http-bio-8080-exec-153 update TOTAL_DAY_LIMIT+1--->TOTAL_DAY_LIMIT='3' commit;
正常交易流程:客户单卡单日累计限额为2元(TOTAL_DAY_LIMIT),并发4笔交易,每笔交易1元,当客户消费第3笔时,限额超限,拒绝交易,
数据库应该记录限额为2元(TOTAL_DAY_LIMIT)
实际交易流程:客户单卡单日累计限额为2元(TOTAL_DAY_LIMIT),并发4笔交易,每笔交易1元,当客户消费第4笔时,限额超限,拒绝交易,
数据库应该记录限额为3元(TOTAL_DAY_LIMIT),原因如上。
有没有好的解决方案呢,按照正常的交易流程。