in src/main/java/org/apache/sling/discovery/base/connectors/ping/ConnectorRegistryImpl.java [90:120]
public TopologyConnectorClientInformation registerOutgoingConnector(
final ClusterViewService clusterViewService, final URL connectorUrl) {
if (announcementRegistry == null) {
logger.error("registerOutgoingConnection: announcementRegistry is null");
return null;
}
TopologyConnectorClient client;
synchronized (outgoingClientsMap) {
for (Iterator<Entry<String, TopologyConnectorClient>> it = outgoingClientsMap
.entrySet().iterator(); it.hasNext();) {
Entry<String, TopologyConnectorClient> entry = it.next();
if (entry.getValue().getConnectorUrl().toExternalForm().equals(connectorUrl.toExternalForm())) {
it.remove();
logger.info("registerOutgoingConnection: re-registering connector: {}", connectorUrl);
}
}
String serverInfo;
try {
serverInfo = InetAddress.getLocalHost().getCanonicalHostName()
+ ":" + port;
} catch (Exception e) {
serverInfo = "localhost:" + port;
}
client = new TopologyConnectorClient(clusterViewService,
announcementRegistry, config, connectorUrl,
serverInfo);
outgoingClientsMap.put(client.getId(), client);
}
client.ping(false);
return client;
}