public boolean isMainProcess() { return distributedLockService.tryLock(key); }
@Bean public DistributedLockManager manager() { return new DistributedLockManager( distributedLockService, "dummy-key"); } }
@GET @Produces(MediaType.APPLICATION_JSON) @Path("{lockName}") public boolean ownLock(@PathParam("lockName") final String lockName) { if (!lockController.containsKey(lockName)) return false; return lockController.get(lockName) .isMainProcess(); }
@Autowired(required = false) public DistLockResource(List<DistributedLockManager> lockController) { this.lockController = ListX.fromIterable(lockController) .toMap(lc -> lc.getKey(), lc -> lc); }
@GET @Path("/lock") public String lock() { if(service.tryLock("hello2")) return "got"; return "not"; }
@GET @Path("/ping") public String ping() { if(service.tryLock("hello")) return "got"; return "not"; }
@GET @Path("/lock2") public String lock2() { if(service2.tryLock("hello2")) return "got"; return "not"; }