private void NotifyServiceChange(ServiceChangeListener listener, ServiceChangeEvent serviceChangeEvent) { if (listener == null || serviceChangeEvent == null) { return; } try { _serviceChangeNotifies.Enqueue(() => { try { listener.OnChange(serviceChangeEvent); } catch (Exception e) { _log.Error("execute service change listener failed", e); } }); } catch (Exception ex) { _log.Error("enqueue service change notification failed.", ex); } }
public void AddListener(ServiceChangeListener listener) { if (listener == null) { return; } _listeners.Add(listener); }
public void RegisterServiceChangeListener(DiscoveryConfig discoveryConfig, ServiceChangeListener listener) { if (discoveryConfig == null || listener == null) { return; } string serviceId = discoveryConfig.ServiceId; if (string.IsNullOrWhiteSpace(serviceId)) { return; } if (!this.ContainsService(serviceId)) { RegisterService(discoveryConfig); } _services[serviceId.ToLower()].AddListener(listener); }
public void RegisterServiceChangeListener(DiscoveryConfig discoveryConfig, ServiceChangeListener listener) { this._serviceRepository.RegisterServiceChangeListener(discoveryConfig, listener); }