public interface LockService
static void sleep(long milliseconds)
Thread.sleep(long),规避 SonarQube 会扫描 Thread.sleep 代码。
Using Thread.sleep in a test is just generally a bad idea. It creates brittle tests that can fail unpredictably depending on environment ("Passes on my machine!") or load.
也可以使用 TimeUnit.sleep(long) 去替代 Thread.sleep 代码
milliseconds - 等待的毫秒时间boolean getLock(Serializable key, int expireTime, TimeUnit timeUnit)
key - 锁的名字expireTime - 锁的过期时间timeUnit - 缓存锁的时间单位boolean getLock(Serializable key, int expireTime)
key - 锁的名字expireTime - 锁的过期时间boolean releaseLock(Serializable key)
key - 锁的名字boolean executeByLock(Serializable key, int expireTime, LockFunction callback)
callback.onLockSuccess()
如果获取锁失败,则执行 callback.onLockFailed()key - 锁的名字expireTime - 锁的过期时间callback - 回调函数boolean executeByLock(Serializable key, int expireTime, LockFunctionWithArgs callback, Object... args)
callback.onLockSuccess() 如果获取锁失败,则执行
callback.onLockFailed()key - 锁的名字expireTime - 锁的过期时间callback - 回调函数args - 回调函数的入参<T> T executeByLock(Serializable key, int expireTime, LockFunctionGeneric<T> callback)
callback.onLockSuccess() 如果获取锁失败,则执行
callback.onLockFailed()T - 回调函数返回的泛型key - 锁的名字expireTime - 锁的过期时间callback - 回调函数<T> T executeByLock(Serializable key, int expireTime, LockFunctionGenericWithArgs<T> callback, Object... args)
callback.onLockSuccess() 如果获取锁失败,则执行
callback.onLockFailed()T - 回调函数返回的泛型key - 锁的名字expireTime - 锁的过期时间callback - 回调函数args - 回调函数的入参Copyright © 2018–2021. All rights reserved.