From a0961343fd58b70d83a41c7e5c7f474127f7f63f Mon Sep 17 00:00:00 2001
From: pantianying <601666418@qq.com>
Date: Fri, 22 Nov 2019 18:50:55 +0800
Subject: [PATCH] add code to fix bug

---
 registry/zookeeper/registry.go | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/registry/zookeeper/registry.go b/registry/zookeeper/registry.go
index 29ae51d44..678dace4a 100644
--- a/registry/zookeeper/registry.go
+++ b/registry/zookeeper/registry.go
@@ -200,6 +200,10 @@ func (r *zkRegistry) RestartCallBack() bool {
 		}
 		logger.Infof("success to re-register service :%v", confIf.Key())
 	}
+	r.listener = zookeeper.NewZkEventListener(r.client)
+	r.configListener = NewRegistryConfigurationListener(r.client, r)
+	r.dataListener = NewRegistryDataListener(r.configListener)
+
 	return flag
 }
 
@@ -422,15 +426,18 @@ func (r *zkRegistry) Subscribe(url *common.URL, notifyListener registry.NotifyLi
 		for {
 			if serviceEvent, err := listener.Next(); err != nil {
 				logger.Warnf("Selector.watch() = error{%v}", perrors.WithStack(err))
+				if err.Error() == "listener stopped" {
+					break
+				}
 				listener.Close()
-				return
+				break
 			} else {
 				logger.Infof("update begin, service event: %v", serviceEvent.String())
 				notifyListener.Notify(serviceEvent)
 			}
 
 		}
-
+		time.Sleep(1e9)
 	}
 }
 
-- 
GitLab