attempt to unlock lock, not locked by current thread by node id

news/2025/1/11 10:20:11/

在这里插入图片描述
attempt to unlock lock, not locked by current thread by node id: ee1333c7-c195-4d3a-80af-f39f3f8e17df thread-id: 69
当时的代码是这样写的

public void execute() {String timerName = HairDetectionJob.class.getName()+ Thread.currentThread().getStackTrace()[1].getMethodName();RLock lock = redissonClient.getLock(RedisConstant.REDIS_PREFIX + timerName);boolean tryLock = lock.tryLock();try{if(tryLock){this.handleSign();}else{log.info("CalendarDetailJob.execute 未获取到锁"+lock.getName());}}catch (Exception exception){log.error("CalendarDetailJob.execute",exception);}finally {if (lock.isLocked()) {lock.unlock();}}}

最后改成

    public void execute() {String timerName = HairDetectionJob.class.getName()+ Thread.currentThread().getStackTrace()[1].getMethodName();RLock lock = redissonClient.getLock(RedisConstant.REDIS_PREFIX + timerName);boolean tryLock = lock.tryLock();try{if(tryLock){this.handleSign();}else{log.info("CalendarDetailJob.execute 未获取到锁"+lock.getName());}}catch (Exception exception){log.error("CalendarDetailJob.execute",exception);}finally {if (lock.isLocked() && lock.isHeldByCurrentThread()) {lock.unlock();}}}

解锁时,加了lock.isHeldByCurrentThread(),它的意思是查询当前线程是否持有此锁定,如果还持有,则释放,如果未持有,则说明已被释放;


http://www.ppmy.cn/news/129919.html

相关文章

【RK3288 android6 4个摄像头固定映射】

【RK3288 android6 4个摄像头固定映射】 需求: RK3288 Android6 UNIK 需要增加餐盘和摄像头的固定映射关系 方法: 将餐盘层号和usb的设备号绑定,即固定usb口,创建固定名称的usb设备文件 kernel From 03f90bb48715fe4da182d1dd…

2022-03-22

easy_ya 来源:2022红明谷杯 from Crypto.Util.number import * import osfrom flag import flag def gen():e 3while True:try:p getPrime(512)q getPrime(512)n p*qphi (p-1)*(q-1)d inverse(e,phi)return p,q,d,n,eexcept:continuereturn p,q,d,n,e gen(…

使用FileInputStream类出现文件找不到的问题,thread “main“ java.io.FileNotFoundException: tx.jpg (系统找不到指定的文件。)

出现错误的代码形式: FileInputStream finew FileInputStream(new File("tx.jpg"));出错的提示: 一定是想用相对路径,导致的出错。 解决办法: 将图片放在Project的根目录下。 比如说:我的目标文件是tx.jpg …

[L4D]目录Missions中任务与地图关系

目录用途是存放地图任务 dropdownmission.res(菜单) "BtnDeadCenter"{"ControlName" "L4D360HybridButton""fieldName" "BtnDeadCenter""xpos" "0""ypos" "180"&quo…

ctfshow---sql注入(214-253)

目录​​​​​​​ web214 web215 web216 web217 web218 web219 web220 web221 web222 web223 web224 web225 web226 web227 web228-229-230 web231 web232 web233-234 web235-236 web237 web238 web239 web240 web241 web242 web243 web244 web24…

Python3爬取今日头条文章视频数据,完美解决as、cp、_signature的加密方法(2020-6-29版)

前言 在这里我就不再一一介绍每个步骤的具体操作了,因为在爬取老版今日头条数据的时候都已经讲的非常清楚了,所以在这里我只会在重点上讲述这个是这么实现的,如果想要看具体步骤请先去看我今日头条的文章内容,里面有非常详细的介…

pytest_函数传参和firture传参数request

前言为了提高代码的复用性,我们在写用例的时候,会用到函数,然后不同的用例去调用这个函数。 比如登录操作,大部分的用例都会先登录,那就需要把登录单独抽出来写个函数,其它用例全部的调用这个登陆函数就行。…

其他混杂存储过程 | 全方位认识 sys 系统库

在上一篇《用于查看配置的存储过程 | 全方位认识 sys 系统库》中,我们介绍了sys 系统库中用于查看performance_schema配置信息的快捷存储过程,本期给大家介绍sys 系统库中不太好归类的一些存储过程,这也是本系列最后一个篇幅介绍存储过程。 P…