public PivotalEurekaDiscoveryClient(
     IOptionsMonitor <EurekaClientOptions> clientConfig,
     IOptionsMonitor <EurekaInstanceOptions> instConfig,
     EurekaApplicationInfoManager appInfoManager,
     IEurekaHttpClient httpClient = null,
     ILoggerFactory logFactory    = null)
     : base(clientConfig, instConfig, appInfoManager, new PivotalEurekaHttpClient(clientConfig, logFactory), logFactory)
 {
 }
 public LookupClient(IEurekaClientConfig clientConfig, IEurekaHttpClient httpClient = null, ILoggerFactory logFactory = null)
     : base(clientConfig, httpClient, logFactory)
 {
     if (_cacheRefreshTimer != null)
     {
         _cacheRefreshTimer.Dispose();
         _cacheRefreshTimer = null;
     }
 }
Example #3
0
 public void Initialize(IEurekaClientConfig clientConfig, IEurekaHttpClient httpClient, ILoggerFactory logFactory = null)
 {
     if (clientConfig == null)
     {
         throw new ArgumentNullException(nameof(clientConfig));
     }
     _logger = logFactory?.CreateLogger<DiscoveryManager>();
     ClientConfig = clientConfig;
     Client = new DiscoveryClient(clientConfig, httpClient, logFactory);
 }
Example #4
0
        public DiscoveryClient(IEurekaClientConfig clientConfig, IEurekaHttpClient httpClient = null, ILoggerFactory logFactory = null)
            : this(ApplicationInfoManager.Instance, logFactory)
        {
            _config = clientConfig ?? throw new ArgumentNullException(nameof(clientConfig));

            _httpClient = httpClient;

            if (_httpClient == null)
            {
                _httpClient = new EurekaHttpClient(clientConfig, logFactory);
            }

            Initialize();
        }
Example #5
0
        public DiscoveryClient(IEurekaClientConfig clientConfig, IEurekaHttpClient httpClient = null, ILoggerFactory logFactory = null)
        {
            if (clientConfig == null)
            {
                throw new ArgumentNullException(nameof(clientConfig));
            }

            _logger          = logFactory?.CreateLogger <DiscoveryClient>();
            ClientConfig     = clientConfig;
            _localRegionApps = new Applications();
            _localRegionApps.ReturnUpInstancesOnly = ClientConfig.ShouldFilterOnlyUpInstances;
            _httpClient = httpClient;

            if (_httpClient == null)
            {
                _httpClient = new EurekaHttpClient(clientConfig, logFactory);
            }

            if (!ClientConfig.ShouldRegisterWithEureka && !ClientConfig.ShouldFetchRegistry)
            {
                return;
            }

            if (ClientConfig.ShouldRegisterWithEureka)
            {
                var result = RegisterAsync();
                result.Wait();

                var intervalInMilli = ApplicationInfoManager.Instance.InstanceInfo.LeaseInfo.RenewalIntervalInSecs * 1000;
                _heartBeatTimer = StartTimer("HeartBeat", intervalInMilli, this.HeartBeatTaskAsync);
                if (ClientConfig.ShouldOnDemandUpdateStatusChange)
                {
                    ApplicationInfoManager.Instance.StatusChangedEvent += Instance_StatusChangedEvent;
                }
            }

            if (ClientConfig.ShouldFetchRegistry)
            {
                var result = FetchRegistryAsync(true);
                result.Wait();

                var intervalInMilli = ClientConfig.RegistryFetchIntervalSeconds * 1000;
                _cacheRefreshTimer = StartTimer("Query", intervalInMilli, this.CacheRefreshTaskAsync);
            }
        }
Example #6
0
        public EurekaDiscoveryClient(
            IOptionsMonitor <EurekaClientOptions> clientConfig,
            IOptionsMonitor <EurekaInstanceOptions> instConfig,
            EurekaApplicationInfoManager appInfoManager,
            IEurekaHttpClient httpClient = null,
            ILoggerFactory logFactory    = null)
            : base(appInfoManager, logFactory)
        {
            _thisInstance  = new ThisServiceInstance(instConfig);
            _configOptions = clientConfig;
            _httpClient    = httpClient;

            if (_httpClient == null)
            {
                _httpClient = new EurekaHttpClientInternal(clientConfig, logFactory);
            }

            Initialize();
        }
Example #7
0
 internal protected EurekaDiscoveryClient(EurekaClientOptions clientOptions, EurekaInstanceOptions instOptions, IEurekaHttpClient httpClient, IApplicationLifetime lifeCycle = null, ILoggerFactory logFactory = null)
     : base(clientOptions, instOptions, httpClient, lifeCycle, logFactory)
 {
     _logger = logFactory?.CreateLogger <EurekaDiscoveryClient>();
 }
        public virtual void Initialize(IEurekaClientConfig clientConfig, IEurekaInstanceConfig instanceConfig, IEurekaHttpClient httpClient, ILoggerFactory logFactory = null)
        {
            _logger        = logFactory?.CreateLogger <DiscoveryManager>();
            ClientConfig   = clientConfig ?? throw new ArgumentNullException(nameof(clientConfig));
            InstanceConfig = instanceConfig ?? throw new ArgumentNullException(nameof(instanceConfig));

            if (ApplicationInfoManager.Instance.InstanceInfo == null)
            {
                ApplicationInfoManager.Instance.Initialize(instanceConfig, logFactory);
            }

            Client = new DiscoveryClient(clientConfig, httpClient, logFactory);
        }
 public EurekaClient(IEurekaHttpClient httpClient, IEurekaInstanceConfig instanceConfig)
 {
     _httpClient     = httpClient;
     _instanceConfig = instanceConfig;
 }
        protected EurekaDiscoveryClientBase(EurekaClientOptions clientOptions, EurekaInstanceOptions instOptions, IEurekaHttpClient httpClient, IApplicationLifetime lifeCycle = null, ILoggerFactory logFactory = null)
        {
            if (clientOptions == null)
            {
                throw new ArgumentNullException(nameof(clientOptions));
            }

            ClientConfig = clientOptions;
            InstConfig   = instOptions;

            if (InstConfig == null)
            {
                DiscoveryManager.Instance.Initialize(ClientConfig, httpClient, logFactory);
            }
            else
            {
                ConfigureInstanceIfNeeded(InstConfig);
                DiscoveryManager.Instance.Initialize(ClientConfig, InstConfig, httpClient, logFactory);
            }

            if (lifeCycle != null)
            {
                lifeCycle.ApplicationStopping.Register(() => { ShutdownAsync(); });
            }

            Client = DiscoveryManager.Instance.Client;
        }
Example #11
0
 internal EurekaDiscoveryClient(EurekaClientOptions clientOptions, EurekaInstanceOptions instOptions, IEurekaHttpClient httpClient, IApplicationLifetime lifeCycle = null, ILoggerFactory logFactory = null)
     : base(clientOptions, instOptions, httpClient, lifeCycle, logFactory)
 {
 }