Zookeeper循環註冊監聽器

Zookeeper中的監聽器只執行一次,須要在watcher類中重寫process方法,以達到重複註冊監聽器的效果服務器

 

/**
     * 鏈接zk服務器
     * 
     */
    public static void connect()
    {
        LOGGER.info("**********begin to connect zookeeper*********");
        try
        {
            zk = new ZooKeeper(ZK_SERVER_URL, PropertyUtil.getDsfInt(ZK_SESSION_TIMEOUT_KEY, 3000), new Watcher()
            {
                // 監控全部被觸發的事件
                public void process(WatchedEvent event)
                {
                    handle(event);
                }
                
            });
            
            getPreviewImage();
            LOGGER.info("********** connect zookeeper end*********");
        }
        catch (IOException e)
        {
            LOGGER.error("*******ZKUtil init error: ", e);
        }
    }
相關文章
相關標籤/搜索