- 博客(3)
- 收藏
- 关注
原创 redisson给异步任务加锁,涉及tryLock(),isLocked(),CompletableFuture.runAsync() .whenComplete(),@Ansyc
该代理类会执行异步逻辑,如果@Async标记的方法被一个类中的其他方法调用,该方法不会走代理类而是直接调用原来的bean导致注解失效。实现在主线程中解锁,最后完美实现需求!刚开始由于使用isLocked()一直无法获取锁,只要锁在redis中存在,就一直返回false,很疑惑,所以尝试使用tryLock();找了老半天,ai也问了,百度也问了,csdn也问了,最后发现unlockAsync()方法可以传入线程id,一顿操作最终代码如下。这样写,一直无法满足需求,锁状态飘忽不定,莫名被锁,排查过程如下。
2024-11-25 20:31:40
996
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1