} isGotLock = true; callback = new CountDownLatch(1); countDownLatch.countDown(); try { callback.await(); } catch (InterruptedException e) { e.printStackTrace(); rLockTheads.remove(key); } if (rLock != null) { rLock.unlock(); } } public void unLock() { callback.countDown(); } } @Component public static class LockBuilder { @Autowired private RedissonHelper redissonHelper; public ILock build(String key) { return new Lock(key, redissonHelper); } } }