"InterruptedException" should not be ignored

发现问题:

1.sonarLint发现扫描bug,定位到问题是 【RedissonClient】 获取 RBlockingQueue.poll 获取元素对象,会导致【InterruptedException】异常;
2.捕获异常 后sonarLint 爆出bug


image.png

3.sonarLint 给出对应解决方案 【 Thread.currentThread().interrupt();】:


image.png
定位问题:

1.结论

1. 使用sonarLint 建议 不会影响任何后续代码流程,只是在 【线程上标记阻断】
2.当【RBlockingQueue.poll】阻断时,会设置会设置线程状态(Thread.interrupted())为【true】,但是抛出异常会将状态重制会【false】,所以catch 中必须中线程的状态重新修改为true;

参考:
https://www.jianshu.com/p/a8abe097d4ed

你可能感兴趣的:("InterruptedException" should not be ignored)