防止飞书重复回调通知分布式锁

场景

销售订单下,明细25明细款,

发起飞书审批,飞书设置自动审核通过,导致会收到两次审核通过通知

加了分布式锁 ,仍导致执行业务执行两遍了

复制代码
String lockKey = "feihsu-approvalNotify:" + instanceCode;
RLock lock = redissonClient.getLock(lockKey);
boolean res = lock.tryLock(20, 20, TimeUnit.SECONDS); 

原来是业务逻辑代码超过 20s了,导致自动释放锁了

对 lock.tryLock(20, 20, TimeUnit.SECONDS);参数不理解

第一个参数是获取锁的等待时间

第二个参数是持有锁的时间,租借时间,不会自动续锁

所有 lock.tryLock(20,TimeUint.SECONDS) ,持有锁时间参数默认-1

所以应改成

boolean res = lock.tryLock(20, TimeUnit.SECONDS);

相关推荐
冷崖15 小时前
消息队列-kafka(一)
分布式·kafka
gantiexia18 小时前
影刀结合飞书,实现报表数据全自动化推送
自动化·飞书·rpa
不光头强19 小时前
kafka学习要点
分布式·学习·kafka
難釋懷19 小时前
分布式锁-redission可重入锁原理
分布式
珠海西格20 小时前
远动通信装置为何是电网安全运行的“神经中枢”?
大数据·服务器·网络·数据库·分布式·安全·区块链
CTO Plus技术服务中20 小时前
分布式存储HBase开发与运维教程
运维·分布式·hbase
飞乐鸟1 天前
Github 16.8k Star!推荐一款开源的高性能分布式对象存储系统!
分布式·开源·github
panzer_maus1 天前
分布式锁的概念
分布式
Lansonli1 天前
大数据Spark(七十九):Action行动算子countByKey和countByValue使用案例
大数据·分布式·spark
陈希瑞1 天前
OpenClaw部署与配置教程:在Mac mini上接入国产大模型与飞书
飞书·agent·openclawd