我提供了一个 api 来做一些 crud 操作,它又使用现有的内部实现,我另外实现的是一个锁机制,如果它无法在某些情况下获取,它肯定会等待/重试应用程序级锁来执行这些操作重试,它会抛出一个带有错误文本的自定义异常。在代码审查期间,我被告知不应该等待,而应该由 api 的用户来处理。
我应该从实现中删除这个等待的锁吗?
lockManager = new LockManager();
aquiredLock = lockManager.aquireLock();
final int numberOfRetries = 3;
final int sleepTime = 1000;
int retryAttempt = 0;
while (!aquiredLock.isLockAquired() && retryAttempt < numberOfRetries) {
retryAttempt++;
try {
Thread.sleep(sleepTime);
} catch (InterruptedException e) {
throw new CannotAcquireLockException(e.getMessage(), e);
}
aquiredLock = lockManager.aquireLock();
}
问候, 古瑟姆