@RedisLock分布式锁返回Null

Blade 未结 3 1241
ntu820
ntu820 剑圣 2021-12-24 11:23

一、该问题的重现步骤是什么?

1. 多线程环境下,调用@RedisLock修饰的方法,发生返回Null。是高并发会承受不了吗?有没有解决办法

2. 

3.


二、你期待的结果是什么?实际看到的又是什么?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

BladeX-Boot   2.8.1.RELEASE

四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

3条回答
  • 2023-11-23 16:40

    我也遇到这个问题,因为用的是注解

    @RedisLock

    然后切面的源码里面没获取到锁就返回null了,不会继续往下执行,这里有个坑,有些地方方法就是void的,所以写代码没注意根本就不知道最后有没有执行,建议注解上扩展一下参数,支持获取锁失败的时候指定抛出异常或错误描述(默认可以还是按现在的流程执行,可兼容性升级不影响以前的版本)

    image.png

    1 讨论(0)
  • 麻烦贴下异常堆栈

    0 讨论(0)
  • 2021-12-24 23:37

    这个需要提供详细的重现步骤以及异常堆栈,否则我们本地无法重现,也就不能进行问题排查了

    0 讨论(1)
提交回复