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
		}
	}
}

golang zookeeper监听事件报错

上一篇:回顾方法及加深


下一篇:css3兼容性问题归纳