@Override final void destroy() { final S obj = distributedObject.getAndSet(null); if (obj != null) obj.destroy(); } }
private boolean removeClient(String clientId) { String qName = "client:" + clientId; boolean removed = false; java.util.Collection<DistributedObject> all = hzInstance.getDistributedObjects(); int sizeBefore = all.size(); for (DistributedObject obj: all) { if (qName.equals(obj.getName()) && QueueService.SERVICE_NAME.equals(obj.getServiceName())) { // remove queue obj.destroy(); removed = true; break; } } int sizeAfter = hzInstance.getDistributedObjects().size(); boolean r2 = repo.removeXQProcessor(clientId); logger.debug("removeClient.exit; queue {} {} for client: {}; size before: {}, after: {}; processor removed: {}", qName, removed ? "destroyed" : "skipped", clientId, sizeBefore, sizeAfter, r2); return removed; }