1 原生分布式锁
package com.ccb.zookeeper.lock;
import org.apache.zookeeper.*;
import org.apache.zookeeper.data.Stat;
import java.io.IOException;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.CountDownLatch;
public class DistributedLock {
private final String connectString = "172.16.171.2:2181,172.16.171.3:2181,172.16.171.4:2181";
private final int sessionTimeout = 2000;
ZooKeeper zooKeeper = null;
private CountDownLatch countDownLatch = new CountDownLatch(1);
private CountDownLatch waitLatch = new CountDownLatch(1);
private String waitPath;
String currentMode ;
public DistributedLock() throws InterruptedException, KeeperException, IOException {
zooKeeper = new ZooKeeper(connectString, sessionTimeout, new Watcher() {
@Override
public void process(WatchedEvent watchedEvent) {