Я использую перераспределение
https://github.com/redisson/redisson Distibute Lock в моем проекте, код выглядит следующим образом:
Код: Выделить всё
try{
lock.tryLock(){
//do something
}
}catch(Exception e){
} finally {
lock.unlock();
}
throw error in production env java.lang.IllegalMonitorStateException: attempt to unlock lock, not locked by current thread by node id: 0c0ba225-3f40-4d98-bcf9-b9efa4d0d8cd thread-id: 399
Then I changed the code like this:
Код: Выделить всё
try{
lock.tryLock(){
//do something
}
}catch(Exception e){
} finally {
if(lock.isLocked()){
lock.unlock();
}
}
Сканирование Sonar показывает разблокирование этой блокировки вдоль всех путей выполнения этого метода , если я удалю проверку lock.islocked () , код сообщит, что выпуск другой блокировки потока, что я должен сделать, чтобы исправить эту проблему? Советы по ошибке сонар?
Подробнее здесь:
https://stackoverflow.com/questions/795 ... his-method