@Override public void run() { try { while (!Thread.interrupted()) { int curUpdateIntervalMS = updaterIntervalNoMasterMS; try { updateAll(); updateInetAddresses(); ReplicaSet replicaSet = new ReplicaSet(createNodeList(), _random, slaveAcceptableLatencyMS); _replicaSetHolder.set(replicaSet); if (replicaSet.hasMaster()) { _mongo.getConnector().setMaster(replicaSet.getMaster()); curUpdateIntervalMS = updaterIntervalMS; } } catch (Exception e) { _logger.get().log(Level.WARNING, "couldn't do update pass", e); } Thread.sleep(curUpdateIntervalMS); } } catch (InterruptedException e) { // Allow thread to exit } _replicaSetHolder.close(); closeAllNodes(); }
public String toString() { ReplicaSet cur = this.members; if (cur != null) { return cur.toString(); } return "none"; }