@Override public String getTopology() { clearIO(); try { return clusterConnection.getTopology().describe(); } finally { blockOnIO(); } }
/** * It will iterate the cluster connections until you have at least the number of expected servers * * @param timeWait Time to wait on each iteration * @param unit unit of time to wait * @param iterations number of iterations * @param servers number of minimal servers * @return */ public boolean waitClusterForming(long timeWait, TimeUnit unit, int iterations, int servers) throws Exception { if (activeMQServer.getClusterManager().getClusterConnections() == null || activeMQServer.getClusterManager().getClusterConnections().size() == 0) { return servers == 0; } for (int i = 0; i < iterations; i++) { for (ClusterConnection connection : activeMQServer.getClusterManager().getClusterConnections()) { if (connection.getTopology().getMembers().size() == servers) { return true; } Thread.sleep(unit.toMillis(timeWait)); } } return false; }
public URI getFailoverList() { ClusterManager clusterManager = server.getClusterManager(); ClusterConnection clusterConnection = clusterManager.getDefaultConnection(null); if (clusterConnection != null) { TopologyMemberImpl member = clusterConnection.getTopology().getMember(server.getNodeID().toString()); if (member != null) { return member.toBackupURI(); } } return null; }
public URI getFailoverList() { ClusterManager clusterManager = server.getClusterManager(); ClusterConnection clusterConnection = clusterManager.getDefaultConnection(null); if (clusterConnection != null) { TopologyMemberImpl member = clusterConnection.getTopology().getMember(server.getNodeID().toString()); if (member != null) { return member.toBackupURI(); } } return null; }
Set<ClusterConnection> clusterConnections = clusterManager.getClusterConnections(); for (ClusterConnection clusterConnection : clusterConnections) { Topology topology = clusterConnection.getTopology(); Collection<TopologyMemberImpl> members = topology.getMembers(); for (TopologyMemberImpl member : members) {
protected void waitForTopology(final ActiveMQServer server, String clusterConnectionName, final int nodes, final long timeout) throws Exception { logger.debug("waiting for " + nodes + " on the topology for server = " + server); long start = System.currentTimeMillis(); ClusterConnection clusterConnection = server.getClusterManager().getClusterConnection(clusterConnectionName); Topology topology = clusterConnection.getTopology(); do { if (nodes == topology.getMembers().size()) { return; } Thread.sleep(10); } while (System.currentTimeMillis() - start < timeout); String msg = "Timed out waiting for cluster topology of " + nodes + " (received " + topology.getMembers().size() + ") topology = " + topology + ")"; ActiveMQServerLogger.LOGGER.error(msg); throw new Exception(msg); }
void start() { stopping = false; backupAnnounced = false; ClusterConnection clusterConnection = clusterManager.getClusterConnection(name); //NB we use the same topology as the sister cluster connection so it knows when started about all the nodes to bridge to backupServerLocator = createServerLocator(clusterConnection.getTopology()); if (backupServerLocator != null) { backupServerLocator.setIdentity("backupLocatorFor='" + server + "'"); backupServerLocator.setReconnectAttempts(-1); backupServerLocator.setInitialConnectAttempts(-1); backupServerLocator.setProtocolManagerFactory(ActiveMQServerSideProtocolManagerFactory.getInstance(backupServerLocator)); } }
private void checkTopology(final ActiveMQServer serverParameter, final String clusterName, final String nodeId1, final String nodeId2, final TransportConfiguration cfg1, final TransportConfiguration cfg2) { Topology topology = serverParameter.getClusterManager().getClusterConnection(clusterName).getTopology(); TopologyMemberImpl member1 = topology.getMember(nodeId1); TopologyMemberImpl member2 = topology.getMember(nodeId2); Assert.assertEquals(member1.getLive().getParams().toString(), cfg1.getParams().toString()); Assert.assertEquals(member2.getLive().getParams().toString(), cfg2.getParams().toString()); }
protected String clusterDescription(ActiveMQServer server) { String br = "-------------------------\n"; String out = br; out += "ActiveMQ Artemis server " + server + "\n"; ClusterManager clusterManager = server.getClusterManager(); if (clusterManager == null) { out += "N/A"; } else { for (ClusterConnection cc : clusterManager.getClusterConnections()) { out += cc.describe() + "\n"; out += cc.getTopology().describe(); } } out += "\n\nfull topology:"; return out + br; }
@Override public Vote vote(Vote vote) { ServerConnectVote serverConnectVote = (ServerConnectVote) vote; String nodeid = serverConnectVote.getNodeId(); TopologyMemberImpl member = server.getClusterManager().getDefaultConnection(null).getTopology().getMember(nodeid); if (member != null && member.getLive() != null) { ActiveMQServerLogger.LOGGER.nodeFoundInClusterTopology(nodeid); return new ServerConnectVote(nodeid, (Boolean) vote.getVote()); } ActiveMQServerLogger.LOGGER.nodeNotFoundInClusterTopology(nodeid); return new ServerConnectVote(nodeid, !((Boolean) vote.getVote())); }
Topology topology = server.getClusterManager().getDefaultConnection(null).getTopology();
ActiveMQServer backup = server.createBackupServer(configuration); try { TopologyMember member = server.getClusterManager().getDefaultConnection(null).getTopology().getMember(nodeID.toString()); int portOffset = haPolicy.getBackupPortOffset() * (backupServers.size() + 1); String name = "colocated_backup_" + backupServers.size() + 1;
assertEquals(FailoverEventType.FAILURE_DETECTED, listener.getFailoverEventType().get(0)); log.info("backup (nowLive) topology = " + backupServer.getServer().getClusterManager().getDefaultConnection(null).getTopology().describe());
log.info("backup (nowLive) topology = " + backupServer.getServer().getClusterManager().getDefaultConnection(null).getTopology().describe());