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

场景

销售订单下,明细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 小时前
Kiro 中配置 RabbitMQ MCP Server 指南
分布式·rabbitmq·ruby
国科安芯16 小时前
AS32S601型抗辐射MCU在分布式太空算力架构中的技术演进与应用前景
人工智能·分布式·单片机·嵌入式硬件·架构·边缘计算
不会C语言的菜鸟16 小时前
分布式数据一致性:从工程实践到理论基石
分布式
Leo.yuan1 天前
数据仓库建设怎么做?从源数据到分析报表全流程讲清
大数据·分布式·spark
明豆1 天前
Redis 分布式缓存生产实战
redis·分布式·缓存
阿标在干嘛2 天前
从单机到分布式:政策快报爬虫系统的三次重构
分布式·爬虫·重构
笨鸟先飞的橘猫2 天前
游戏后端分布式学习——开篇
分布式·学习·游戏
六bring个六2 天前
分布式软总线认证模块架构与实现分析
分布式·架构·open harmony
看-是灰机2 天前
使用go语言实现对接
linux·开发语言·后端·docker·语言模型·golang·飞书
脱胎换骨-军哥2 天前
C++分布式系统设计:从通信引擎到分布式共识
开发语言·c++·分布式