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