golang zookeeper监听事件报错

golang zookeeper监听事件报错

golang 监听zk的目录:

go func() {
for {
	event := <-watch
	//do something
}
}()

打印event: 报错:{Type:Unknown State:StateDisconnected Path: Err: Server:}

解决办法:
需要对channel读取做ok判断,即需要判断管道是否关闭。zookeeper的监听是一次性监听,所以每次需要重新添加监听,即需要将监听的事件进行循环监听。

for{
	select{
		case event,ok: =<-ch: if !ok{
			QUITTHELOOPORRE-SUBSCRIBE
		}else{
			NORMALEVENT
		}
	}
}
【励志篇】: 古之成大事掌大学问者,不惟有超世之才,亦必有坚韧不拔之志。
原文地址:https://www.cnblogs.com/tomtellyou/p/15018646.html