private Address findMasterWithMulticast() { try { if (logger.isFineEnabled()) { logger.fine("Searching for master node. Max tries: " + maxTryCount.get()); } JoinRequest joinRequest = node.createJoinRequest(false); while (node.isRunning() && currentTryCount.incrementAndGet() <= maxTryCount.get()) { joinRequest.setTryCount(currentTryCount.get()); node.multicastService.send(joinRequest); Address masterAddress = clusterService.getMasterAddress(); if (masterAddress == null) { //noinspection BusyWait Thread.sleep(getPublishInterval()); } else { return masterAddress; } } } catch (final Exception e) { if (logger != null) { logger.warning(e); } } finally { currentTryCount.set(0); } return null; }
private Address findMasterWithMulticast() { try { if (logger.isFineEnabled()) { logger.fine("Searching for master node. Max tries: " + maxTryCount.get()); } JoinRequest joinRequest = node.createJoinRequest(false); while (node.isRunning() && currentTryCount.incrementAndGet() <= maxTryCount.get()) { joinRequest.setTryCount(currentTryCount.get()); node.multicastService.send(joinRequest); Address masterAddress = clusterService.getMasterAddress(); if (masterAddress == null) { //noinspection BusyWait Thread.sleep(getPublishInterval()); } else { return masterAddress; } } } catch (final Exception e) { if (logger != null) { logger.warning(e); } } finally { currentTryCount.set(0); } return null; }
/** * Send join request to {@code toAddress}. * * @param toAddress the currently known master address. * @param withCredentials use cluster credentials * @return {@code true} if join request was sent successfully, otherwise {@code false}. */ public boolean sendJoinRequest(Address toAddress, boolean withCredentials) { if (toAddress == null) { toAddress = clusterService.getMasterAddress(); } JoinRequestOp joinRequest = new JoinRequestOp(node.createJoinRequest(withCredentials)); return nodeEngine.getOperationService().send(joinRequest, toAddress); }
/** * Send join request to {@code toAddress}. * * @param toAddress the currently known master address. * @param withCredentials use cluster credentials * @return {@code true} if join request was sent successfully, otherwise {@code false}. */ public boolean sendJoinRequest(Address toAddress, boolean withCredentials) { if (toAddress == null) { toAddress = clusterService.getMasterAddress(); } JoinRequestOp joinRequest = new JoinRequestOp(node.createJoinRequest(withCredentials)); return nodeEngine.getOperationService().send(joinRequest, toAddress); }