EmbeddedCache cm = ...; ClusteredLockManager cclm = EmbeddedClusteredLockManagerFactory.from(cm); lock.tryLock() .thenCompose(result -> { if (result) { try { // manipulate protected state } finally { return lock.unlock(); } } else { // Do something else } }); }