public static AddressManager NewDiscoveryAddressManager(string clientId, ArtemisClientManagerConfig managerConfig) { AddressRepository addressRepository = new AddressRepository(clientId, managerConfig, RestPaths.CLUSTER_UP_DISCOVERY_NODES_FULL_PATH); return(new AddressManager(clientId, managerConfig, () => { return new AddressContext(clientId, managerConfig, addressRepository.Address, WebSocketPaths.SERVICE_CHANGE_DESTINATION); })); }
public RegistryClientImpl(string clientId, ArtemisClientManagerConfig managerConfig) { Preconditions.CheckArgument(!string.IsNullOrWhiteSpace(clientId), "clientId"); Preconditions.CheckArgument(managerConfig != null, "manager config"); ArtemisClientConfig clientConfig = new ArtemisClientConfig(clientId, managerConfig, AddressManager.NewRegistryAddressManager(clientId, managerConfig)); this._instanceRepository = new InstanceRepository(clientConfig); this._instanceRegistry = new InstanceRegistry(_instanceRepository, clientConfig); }
public DiscoveryClientImpl(string clientId, ArtemisClientManagerConfig managerConfig) { Preconditions.CheckArgument(!string.IsNullOrWhiteSpace(clientId), "clientId"); Preconditions.CheckArgument(managerConfig != null, "manager config"); ArtemisClientConfig clientConfig = new ArtemisClientConfig(clientId, managerConfig, AddressManager.NewDiscoveryAddressManager(clientId, managerConfig)); _serviceRepository = new ServiceRepository(clientConfig); }
public static AddressManager NewRegistryAddressManager(string clientId, ArtemisClientManagerConfig managerConfig) { AddressRepository addressRepository = new AddressRepository(clientId, managerConfig, RestPaths.CLUSTER_UP_REGISTRY_NODES_FULL_PATH); return(new AddressManager(clientId, managerConfig, () => { return new AddressContext(clientId, managerConfig, addressRepository.Address, WebSocketPaths.HEARTBEAT_DESTINATION); })); }
private AddressManager(string clientId, ArtemisClientManagerConfig managerConfig, Func <AddressContext> newAddressContext) { Preconditions.CheckArgument(!string.IsNullOrWhiteSpace(clientId), "clientId"); Preconditions.CheckArgument(managerConfig != null, "manager config"); Preconditions.CheckArgument(newAddressContext != null, "newAddressContext"); _clientId = clientId; _managerConfig = managerConfig; _newAddressContext = newAddressContext; _addressContext.GetAndSet(_newAddressContext()); }
public ArtemisClientConfig(string clientId, ArtemisClientManagerConfig config, AddressManager addressManager) { Preconditions.CheckArgument(!string.IsNullOrWhiteSpace(clientId), "clientId"); Preconditions.CheckArgument(config != null, "config"); Preconditions.CheckArgument(addressManager != null, "addressManager"); this._clientId = clientId; ConfigurationManager = config.ConfigurationManager; AddressManager = addressManager; EventMetricManager = config.EventMetricManager; AuditMetricManager = config.AuditMetricManager; RegistryClientConfig = config.RegistryClientConfig; DiscoveryClientConfig = config.DiscoveryClientConfig; }
public AddressRepository(string clientId, ArtemisClientManagerConfig managerConfig, string path) { Preconditions.CheckArgument(!string.IsNullOrWhiteSpace(clientId), "clientId"); Preconditions.CheckArgument(managerConfig != null, "manager config"); Preconditions.CheckArgument(!string.IsNullOrWhiteSpace(path), "path"); _path = path.Trim('/'); _request = new GetServiceNodesRequest() { RegionId = DeploymentConfig.RegionId, ZoneId = DeploymentConfig.ZoneId }; _domainUrl = managerConfig.ConfigurationManager.GetProperty(clientId + ".service.domain.url", ""); _log.Info(string.Format("Artemis service url initialized with {0}", _domainUrl.Value)); _timer = new DynamicTimer(managerConfig.ConfigurationManager.GetProperty(clientId + ".address-repository.dynamic-scheduled-thread.run-interval", 5 * 60 * 1000, 5 * 60 * 1000, 30 * 60 * 1000), () => { Refresh(); }); Refresh(); }
public AddressContext(string clientId, ArtemisClientManagerConfig managerConfig, string httpUrl, string wsEndpointSuffix) { Preconditions.CheckArgument(!string.IsNullOrWhiteSpace(clientId), "clientId"); Preconditions.CheckArgument(managerConfig != null, "managerConfig"); _ttl = managerConfig.ConfigurationManager.GetProperty(clientId + ".address.context-ttl", 5 * 60 * 1000, 5 * 60 * 1000, 30 * 60 * 1000); if (string.IsNullOrWhiteSpace(httpUrl)) { _httpUrl = string.Empty; _webSocketEndpoint = string.Empty; } else { string url = httpUrl.Trim('/'); _httpUrl = url; string wsEndpointPrefix = _httpSchema.Replace(url, _wsPrefix); if (!string.IsNullOrWhiteSpace(wsEndpointSuffix)) { _webSocketEndpoint = wsEndpointPrefix + "/" + wsEndpointSuffix.Trim('/'); } _available.GetAndSet(true); } }
public AddressContext(string clientId, ArtemisClientManagerConfig config) : this(clientId, config, string.Empty, string.Empty) { }