@Override public void nodeUP(TopologyMember member, boolean last) { boolean newNode = false; String id = member.getNodeId(); if (!nodes.contains(id)) { if (removedNodes.get(id) == null || (removedNodes.get(id) != null && removedNodes.get(id) < member.getUniqueEventID())) { nodes.add(id); newNode = true; } } if (lastReceived && newNode) { ActiveMQRALogger.LOGGER.rebalancingConnections("nodeUp " + member.toString()); startReconnectThread("NodeUP Connection Rebalancer"); } else if (last) { lastReceived = true; } }
@Override public void nodeUP(TopologyMember member, boolean last) { boolean newNode = false; String id = member.getNodeId(); if (!nodes.contains(id)) { if (removedNodes.get(id) == null || (removedNodes.get(id) != null && removedNodes.get(id) < member.getUniqueEventID())) { nodes.add(id); newNode = true; } } if (lastReceived && newNode) { ActiveMQRALogger.LOGGER.rebalancingConnections("nodeUp " + member.toString()); startReconnectThread("NodeUP Connection Rebalancer"); } else if (last) { lastReceived = true; } }
createNewRecord(topologyMember.getUniqueEventID(), nodeID, topologyMember.getLive(), queueName, queue, true); } else { if (logger.isTraceEnabled()) {
@Override public void onConnection(ClientSessionFactoryInternal sf) { TopologyMember localMember = getLocalMember(); if (localMember != null) { ClusterControl clusterControl = manager.getClusterController().connectToNodeInCluster(sf); try { clusterControl.authorize(); clusterControl.sendNodeAnnounce(localMember.getUniqueEventID(), manager.getNodeId(), manager.getBackupGroupName(), manager.getScaleDownGroupName(), false, localMember.getLive(), localMember.getBackup()); } catch (ActiveMQException e) { ActiveMQServerLogger.LOGGER.clusterControlAuthfailure(); } } else { ActiveMQServerLogger.LOGGER.noLocalMemborOnClusterConnection(this); } // TODO: shouldn't we send the current time here? and change the current topology? // sf.sendNodeAnnounce(System.currentTimeMillis(), // manager.getNodeId(), // false, // localMember.getConnector().a, // localMember.getConnector().b); }