| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- package watch
- import (
- "fmt"
- "github.com/samuel/go-zookeeper/zk"
- "time"
- )
- var hosts = []string{"localhost:8000"}
- var path1 = "/whatzk"
- var flags int32 = zk.FlagEphemeral
- var data1 = []byte("hello,this is a zk go test demo!!!")
- var acls = zk.WorldACL(zk.PermAll)
- func main() {
- option := zk.WithEventCallback(callback) //调用zk.WithEventCallback(callback)设置回调
- conn, _, err := zk.Connect(hosts, time.Second*5, option)
- defer conn.Close()
- if err != nil {
- fmt.Println(err)
- return
- }
- _, _, _, err = conn.ExistsW(path1)
- if err != nil {
- fmt.Println(err)
- return
- }
- create(conn, path1, data1)
- time.Sleep(time.Second * 2)
- _, _, _, err = conn.ExistsW(path1)
- if err != nil {
- fmt.Println(err)
- return
- }
- delete(conn, path1)
- }
- func callback(event zk.Event) {
- fmt.Println("*******************")
- fmt.Println("path:", event.Path)
- fmt.Println("type:", event.Type.String())
- fmt.Println("state:", event.State.String())
- fmt.Println("-------------------")
- }
- func create(conn *zk.Conn, path string, data []byte) {
- _, err_create := conn.Create(path, data, flags, acls)
- if err_create != nil {
- fmt.Println(err_create)
- return
- }
- }
|