コード例 #1
0
        /// <summary>
        /// start
        /// </summary>
        public override void Start()
        {
            if (this._config.Discovery != null &&
                this._config.Discovery.Zookeeper != null &&
                !string.IsNullOrEmpty(this._config.Discovery.Zookeeper.ConfigPath) &&
                !string.IsNullOrEmpty(this._config.Discovery.Zookeeper.ConfigName) &&
                !string.IsNullOrEmpty(this._config.Discovery.Zookeeper.ZNode))
            {
                this._zkDiscovery = new ZoomkeeperDiscovery(this._config.Client,
                                                            this._config.Discovery.Zookeeper.ConfigPath,
                                                            this._config.Discovery.Zookeeper.ConfigName,
                                                            this._config.Discovery.Zookeeper.ZNode, endpoints =>
                {
                    lock (this._lockObj)
                    {
                        var set = new HashSet <string>(this.GetAllRegisteredEndPoint().Select(c => c.Key).Distinct().ToArray());
                        set.ExceptWith(endpoints.Select(p =>
                                                        string.Concat(p.Address.ToString(), ":", p.Port.ToString())).Distinct().ToArray());
                        if (set.Count > 0)
                        {
                            foreach (var name in set)
                            {
                                this.UnRegisterEndPoint(name);
                            }
                        }

                        foreach (var p in endpoints)
                        {
                            this.TryRegisterEndPoint(string.Concat(p.Address.ToString(), ":", p.Port.ToString()), new EndPoint[] { p });
                        }
                    }
                });
            }
            base.Start();
        }
コード例 #2
0
ファイル: ThriftClient.cs プロジェクト: geffzhang/Thrift.Net
        /// <summary>
        /// start
        /// </summary>
        public override void Start()
        {
            if (this._config.Discovery != null &&
                this._config.Discovery.Zookeeper != null &&
                !string.IsNullOrEmpty(this._config.Discovery.Zookeeper.ConfigPath) &&
                !string.IsNullOrEmpty(this._config.Discovery.Zookeeper.ConfigName) &&
                !string.IsNullOrEmpty(this._config.Discovery.Zookeeper.ZNode))
            {
                this._zkDiscovery = new ZoomkeeperDiscovery(this._config.Client,
                    this._config.Discovery.Zookeeper.ConfigPath,
                    this._config.Discovery.Zookeeper.ConfigName,
                    this._config.Discovery.Zookeeper.ZNode, endpoints =>
                    {
                        lock (this._lockObj)
                        {
                            var set = new HashSet<string>(this.GetAllRegisteredEndPoint().Select(c => c.Key).Distinct().ToArray());
                            set.ExceptWith(endpoints.Select(p =>
                                string.Concat(p.Address.ToString(), ":", p.Port.ToString())).Distinct().ToArray());
                            if (set.Count > 0)
                            {
                                foreach (var name in set) this.UnRegisterEndPoint(name);
                            }

                            foreach (var p in endpoints)
                                this.TryRegisterEndPoint(string.Concat(p.Address.ToString(), ":", p.Port.ToString()), new EndPoint[] { p });
                        }
                    });
            }
            base.Start();
        }
コード例 #3
0
 /// <summary>
 /// stop
 /// </summary>
 public override void Stop()
 {
     if (this._zkDiscovery != null)
     {
         this._zkDiscovery.Dispose();
         this._zkDiscovery = null;
     }
     base.Stop();
 }
コード例 #4
0
ファイル: ThriftClient.cs プロジェクト: geffzhang/Thrift.Net
 /// <summary>
 /// stop
 /// </summary>
 public override void Stop()
 {
     if (this._zkDiscovery != null)
     {
         this._zkDiscovery.Dispose();
         this._zkDiscovery = null;
     }
     base.Stop();
 }