Collection<MemberImpl> members = nodeEngine.getClusterService().getMemberList();
Collection<Future> calls = new ArrayList<Future>(members.size());
for (MemberImpl member : members) {
if (!member.localMember()) {
DeregistrationOperation operation = new DeregistrationOperation(topic, id);
Future f = operationService.invokeOnTarget(serviceName, operation, member.getAddress());
calls.add(f);
}
}
waitWithDeadline(calls, DEREGISTER_TIMEOUT_SECONDS, TimeUnit.SECONDS, deregistrationExceptionHandler);