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

场景

销售订单下,明细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);

相关推荐
周某某~39 分钟前
Rabbit MQ的消息模式-Java原生代码
java·分布式·rabbitmq
找不到、了2 小时前
Kafka在Springboot项目中的实践
spring boot·分布式·kafka
沈健_算法小生2 小时前
Apache Kafka核心组件详解
分布式·kafka·apache
Code季风6 小时前
什么是微服务分布式配置中心?
分布式·微服务·go
Code季风6 小时前
微服务配置治理实战:Gin 与 gRPC 服务集成 Nacos 全解析
分布式·微服务·go
天若有情6737 小时前
【单片机】【分布式】从单机到分布式:Redis如何成为架构升级的关键力量
redis·分布式·架构
一只小灿灿7 小时前
CouchDB 从入门到精通:构建高效的分布式文档数据库
数据库·分布式·couchdb
weixin_439828098 小时前
kafka 消息队列
分布式·kafka
巴里巴气15 小时前
zookeeper基本概念介绍
linux·分布式·zookeeper
小妖同学学AI17 小时前
deepseek+飞书多维表格 打造小红书矩阵
人工智能·矩阵·飞书