public ConsulServerRegistryConnector(ServerRegistryConnectorLoadData pluginLoadData) : base(pluginLoadData) { client = new ConsulClient(configuration => { if (pluginLoadData.Settings["consulAddress"] != null) { configuration.Address = new Uri(pluginLoadData.Settings["consulAddress"]); } if (pluginLoadData.Settings["consulDatacenter"] != null) { configuration.Datacenter = pluginLoadData.Settings["consulDatacenter"]; } if (pluginLoadData.Settings["consulToken"] != null) { configuration.Token = pluginLoadData.Settings["consulToken"]; } }); if (pluginLoadData.Settings["healthCheckUrl"] != null) { healthCheckUrl = pluginLoadData.Settings["healthCheckUrl"]; } if (pluginLoadData.Settings["healthCheckPollIntervalMs"] != null) { healthCheckPollInterval = TimeSpan.FromMilliseconds(int.Parse(pluginLoadData.Settings["healthCheckPollIntervalMs"])); } if (pluginLoadData.Settings["healthCheckTimeoutMs"] != null) { healthCheckTimeout = TimeSpan.FromMilliseconds(int.Parse(pluginLoadData.Settings["healthCheckTimeoutMs"])); if (healthCheckTimeout < TimeSpan.FromMinutes(1)) { throw new InvalidOperationException("healthCheckTimeout property cannot be less than 1 minute."); } } if (pluginLoadData.Settings["serviceName"] != null) { serviceName = pluginLoadData.Settings["serviceName"]; } }
public InMemoryServerRegistryConnector(ServerRegistryConnectorLoadData serverRegistryConnectorLoadData) : base(serverRegistryConnectorLoadData) { timer = CreateTimer(1000, 1000, FetchServices); }
public ServerRegistryConnector(ServerRegistryConnectorLoadData pluginLoadData) : base(pluginLoadData) { }