基于zookeeper的分布式锁实现

  • Post author:
  • Post category:其他


分布式式锁在分布式集群系统中解决资源争用,保证程序和数据一致性的有效手段。比如在电商系统秒杀中,为了保证商品库存不超发,即可通过分布式锁实现对商品库存扣减的控制。

分布式的实现有很多方式,下面列出了三种方式:

1、通过数据库的乐观锁或者唯一索引实现,该实现方式的优点是简单,但缺点也很明显,数据库资源极其昂贵,而且数据库的效率也不容乐观。

2、通过redis的setnx(),expire()实现。该实现方法优点是性能优秀,能够承受很高的并发,但是也有缺点,基于redis的分布式锁有过期时间,如果某个进程持有了锁,在超过超时时间之后仍不返回,或者持有该锁的进程掉线,在此中场景下应用程序的执行对数据的一致性会造成一定的影响。

3、通过zookeeper的CreateMode.EPHEMERAL_SEQUENTIAL的节点实现,具体的实现步骤如下:

1)创建争用资源,也就是分布式锁,该锁是CreateMode.PERSISTENT节点类型

2)每一个需要获得该锁的进程都必须在该锁节点下创建CreateMode.EPHEMERAL_SEQUENTIAL节点,如果该进程创建的节点是最小节点,那么就意味着进程获得了锁,如果该节点不是最小节点,则监听比自己小的前一个节点,等前一个节点释放之后再做锁的获取处理,可以避免“羊群效应”

3)因分布式锁在在所有进程中只有一把锁,所以为减少锁大量争用导致的拥塞,每个客户端都做了本地的线程同步处理,在保证每个客户获取同一把锁时只有一个线程能获取到。

分布式锁实现代码如下:

package com.lock.zookeeper;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.locks.ReentrantLock;

import org.apache.log4j.Logger;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooDefs;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.data.Stat;

public class ZkDistributeLock2 implements Watcher{

	private Logger log = Logger.getLogger(ZkDistributeLock2.class);

	private ZooKeeper zk = null;
	// 根节点
	private String ROOT_LOCK = "/locks";
	// 竞争的资源
	private String lockName;
	// 当前锁
	private static String CURRENT_LOCK = null;
	// 计数器
	private CountDownLatch countDownLatch;
	private static int SESSION_TIMEOUT = 30000;
	private static String JOIN_CHAR = "_";
	private static String splitStr = JOIN_CHAR+"lock"+JOIN_CHAR;
	private static ReentrantLock reentrantLock = new ReentrantLock();
	

	/**
	 * 配置分布式锁
	 * 
	 * @param config 连接的url
	 * @param lockName 竞争资源
	 */
	public ZkDistributeLock2(String config, String lockName) {
		this.lockName = lockName;

		if (lockName.contains(splitStr)) {
			throw new RuntimeException("锁名有误,锁名不能含有" + splitStr + "字符串");
		}
		try {
			// 连接zookeeper
			zk = new ZooKeeper(config, SESSION_TIMEOUT, this);
			Stat stat = zk.exists(ROOT_LOCK, false);
			if (stat == null) {
				// 如果根节点不存在,则创建根节点
				zk.create(ROOT_LOCK, new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
			}
			splitStr = JOIN_CHAR+zk.getSessionId()+JOIN_CHAR;
		} catch (Exception e) {
			log.error(e.getMessage(), e);
		}
	}
	

	// 节点监视器
	public void process(WatchedEvent event) {
		if (this.countDownLatch != null) {
			this.countDownLatch.countDown();
		}
	}

	public boolean lock() {
		reentrantLock.lock();
		try {
			if(this.tryLock()){
				return true;
			}
		} catch (Exception e) {
			e.printStackTrace();
			log.error(e.getMessage(), e);
		}

		return false;
	}
	
	private boolean tryLock() {
		try {
			do {
				if (CURRENT_LOCK == null) {

					List<String> names = zk.getChildren(ROOT_LOCK, false);
					for (String name : names) {
						if (name.startsWith(lockName + splitStr)) {
							CURRENT_LOCK = name;
							break;
						}
					}
					if (CURRENT_LOCK == null) {
						CURRENT_LOCK = zk.create(ROOT_LOCK + "/" + lockName + splitStr, new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL_SEQUENTIAL);
					}

				}
				if (CURRENT_LOCK != null) {
					// 取所有子节点
					List<String> subNodes = zk.getChildren(ROOT_LOCK, false);
					if (subNodes.isEmpty()) {
						CURRENT_LOCK = null;
					} else {
						// 取出所有lockName的锁
						List<String> lockObjects = new ArrayList<String>();
						for (String node : subNodes) {
							if (node.startsWith(lockName)) {
								lockObjects.add(node.substring(node.lastIndexOf(JOIN_CHAR) + 1));
							}
						}
						Collections.sort(lockObjects, new Comparator<String>() {

							@Override
							public int compare(String o1, String o2) {

								return Long.parseLong(o1) >= Long.parseLong(o1) ? 1 : -1;
							}

						});
						// 若当前节点为最小节点,则获取锁成功
						if (CURRENT_LOCK.equals(ROOT_LOCK + "/" + lockName + splitStr + lockObjects.get(0))) {
							return true;
						} else {
							String currNodeId = CURRENT_LOCK.substring(CURRENT_LOCK.lastIndexOf(JOIN_CHAR) + 1);
							// log.info("lockObjects = "+lockObjects+" currNodeId = "+currNodeId);
							String PREV_LOCK = ROOT_LOCK + "/" + lockName + splitStr + lockObjects.get(lockObjects.indexOf(currNodeId) - 1);
							Stat stat = zk.exists(PREV_LOCK, new Watcher() {

								@Override
								public void process(WatchedEvent event) {
									lock();
								}
							});
							if (stat != null) {
								return false;
							}
						}
					}
				}
			} while (CURRENT_LOCK == null);

		} catch (Exception e) {
			e.printStackTrace();
			log.error(e.getMessage(), e);
		}
		return false;
	}

	public void unlock() {
		try {
			if (CURRENT_LOCK != null) {
				zk.delete(CURRENT_LOCK, -1);
				CURRENT_LOCK = null;
			}
		} catch (Exception e) {
			e.printStackTrace();
			log.error(e.getMessage(), e);
		}finally{
			reentrantLock.unlock();
		}
	}
	
	public static void main(String[] arags){
		List<String> lockObjects = new ArrayList<String>();
		lockObjects.add("_123123");
		lockObjects.add("1_123123");
		lockObjects.add("_123124");
		lockObjects.add("_123121");
		Collections.sort(lockObjects, new Comparator<String>() {

			@Override
			public int compare(String o1, String o2) {
				int a = Integer.parseInt(o1.substring(o1.lastIndexOf(JOIN_CHAR)+1));
				int b = Integer.parseInt(o2.substring(o2.lastIndexOf(JOIN_CHAR)+1));
				return a >= b?1:-1;
			}

		});
		System.out.print(lockObjects);
	}


}

为了能真实测试秒杀争用的场景,我在redis中设置了两个参数,一个是doodsNum参数,这是所有的客户端在秒杀之后库存会真实扣减。一个是switch参数,用与控制客户端能够同时并发争用。测试代码如下:

package com.lock.zookeeper;

import java.util.HashSet;
import java.util.Set;
import java.util.concurrent.CountDownLatch;

import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;

public class ZkDistributeLockTest2 {

	private static CountDownLatch cd = new CountDownLatch(1);
	private static JedisCluster jedis;

	public static void secskill() {
		int goodsNum = Integer.parseInt(jedis.get("goodsNum"));
		if (goodsNum > 0) {
			jedis.set("goodsNum", String.valueOf(goodsNum - 1));
			System.out.println("goodsNum = "+(goodsNum - 1));
		}else{
			System.out.println("商品卖完了----"+goodsNum);
		}
	}

	public static void main(String[] args) throws Exception {

		Set<HostAndPort> nodes = new HashSet<HostAndPort>();
		nodes.add(new HostAndPort("192.168.44.88", 6379));
		nodes.add(new HostAndPort("192.168.44.88", 6380));
		nodes.add(new HostAndPort("192.168.44.88", 6381));
		nodes.add(new HostAndPort("192.168.44.88", 6382));
		nodes.add(new HostAndPort("192.168.44.88", 6383));
		nodes.add(new HostAndPort("192.168.44.88", 6384));
		jedis = new JedisCluster(nodes);
		jedis.set("goodsNum", "20");

		ZkDistributeLock2 lock = new ZkDistributeLock2("192.168.44.88:2181,192.168.44.88:2182,192.168.44.88:2183", "test1");

		for (int i = 0; i < 100; i++) {
			Thread t = new Thread(new Runnable() {

				public void run() {

					try {
						cd.await();
					} catch (InterruptedException e1) {
						e1.printStackTrace();
					}
					for (int i = 0; i < Integer.MAX_VALUE; i++) {
						try {
							if (lock.lock()) {
								secskill();
							}else{
								//System.out.println(Thread.currentThread().getName() + "获取锁失败");
							}
						} catch (Exception e) {
							e.printStackTrace();
						} finally {
							lock.unlock();
						}

					}

				}
			});
			t.start();
		}
		
		while(true){
			if("true".equals(jedis.get("switch"))){
				cd.countDown();
				break;
			}
			Thread.sleep(10);
		}
		
	}
}

在本次测试中,我设置的goodsNum为20,并启动了三个客户端,switch开关打开之后,三个客户端执行的结果如下

客户端1

2019-06-12 11:49:22,586 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:zookeeper.version=3.4.0-1202560, built on 11/16/2011 07:18 GMT
2019-06-12 11:49:22,588 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:host.name=DESKTOP-NV2U84H
2019-06-12 11:49:22,588 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.version=1.8.0_101
2019-06-12 11:49:22,588 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.vendor=Oracle Corporation
2019-06-12 11:49:22,589 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.home=C:\Program Files\Java\jdk1.8.0_101\jre
2019-06-12 11:49:22,589 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.class.path=D:\myfish\工程\workspace\mvnweb\target\classes;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-api-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-common-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-connector-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-core-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-instrument-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\jetty-http-9.2.14.v20151106.jar;D:\myfish\工程\workspace\mvnweb\lib\jetty-io-9.2.14.v20151106.jar;D:\myfish\工程\workspace\mvnweb\lib\jetty-security-9.2.14.v20151106.jar;D:\myfish\工程\workspace\mvnweb\lib\jetty-server-9.2.14.v20151106.jar;D:\myfish\工程\workspace\mvnweb\lib\jetty-servlet-9.2.14.v20151106.jar;D:\myfish\工程\workspace\mvnweb\lib\jetty-util-9.2.14.v20151106.jar;D:\myfish\工程\workspace\mvnweb\lib\jline-0.9.94.jar;D:\myfish\工程\workspace\mvnweb\lib\xmlpull-1.1.3.1.jar;D:\myfish\工程\workspace\mvnweb\lib\xpp3_min-1.1.4c.jar;D:\myfish\工程\workspace\mvnweb\lib\xstream-1.4.7.jar;D:\myfish\工程\workspace\mvnweb\lib\comet4j-tomcat6.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-adapter-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-batch-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-batch-api-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-batch-common-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-batch-task-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-common-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-convert-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-reversal-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-sequences-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-stria-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-stria-api-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-cache-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-dal-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-dtp-core-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-dtp-db-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-dx-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-ftp-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-nosql-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-oms-manager-api-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-oms-manager-default-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-schedule-1.5.13.jar;C:\Users\zhanglulu\.m2\repository\org\apache\curator\curator-framework\4.0.1\curator-framework-4.0.1.jar;C:\Users\zhanglulu\.m2\repository\org\apache\curator\curator-client\4.0.1\curator-client-4.0.1.jar;C:\Users\zhanglulu\.m2\repository\com\google\guava\guava\20.0\guava-20.0.jar;C:\Users\zhanglulu\.m2\repository\org\apache\curator\curator-recipes\4.0.1\curator-recipes-4.0.1.jar;C:\Users\zhanglulu\.m2\repository\org\redisson\redisson\3.10.7\redisson-3.10.7.jar;C:\Users\zhanglulu\.m2\repository\io\netty\netty-common\4.1.34.Final\netty-common-4.1.34.Final.jar;C:\Users\zhanglulu\.m2\repository\io\netty\netty-codec\4.1.34.Final\netty-codec-4.1.34.Final.jar;C:\Users\zhanglulu\.m2\repository\io\netty\netty-buffer\4.1.34.Final\netty-buffer-4.1.34.Final.jar;C:\Users\zhanglulu\.m2\repository\io\netty\netty-transport\4.1.34.Final\netty-transport-4.1.34.Final.jar;C:\Users\zhanglulu\.m2\repository\io\netty\netty-resolver\4.1.34.Final\netty-resolver-4.1.34.Final.jar;C:\Users\zhanglulu\.m2\repository\io\netty\netty-resolver-dns\4.1.34.Final\netty-resolver-dns-4.1.34.Final.jar;C:\Users\zhanglulu\.m2\repository\io\netty\netty-codec-dns\4.1.34.Final\netty-codec-dns-4.1.34.Final.jar;C:\Users\zhanglulu\.m2\repository\io\netty\netty-handler\4.1.34.Final\netty-handler-4.1.34.Final.jar;C:\Users\zhanglulu\.m2\repository\javax\cache\cache-api\1.0.0\cache-api-1.0.0.jar;C:\Users\zhanglulu\.m2\repository\io\projectreactor\reactor-core\3.2.6.RELEASE\reactor-core-3.2.6.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\reactivestreams\reactive-streams\1.0.2\reactive-streams-1.0.2.jar;C:\Users\zhanglulu\.m2\repository\io\reactivex\rxjava2\rxjava\2.2.7\rxjava-2.2.7.jar;C:\Users\zhanglulu\.m2\repository\de\ruedigermoeller\fst\2.57\fst-2.57.jar;C:\Users\zhanglulu\.m2\repository\org\objenesis\objenesis\2.5.1\objenesis-2.5.1.jar;C:\Users\zhanglulu\.m2\repository\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;C:\Users\zhanglulu\.m2\repository\com\fasterxml\jackson\dataformat\jackson-dataformat-yaml\2.9.8\jackson-dataformat-yaml-2.9.8.jar;C:\Users\zhanglulu\.m2\repository\org\yaml\snakeyaml\1.23\snakeyaml-1.23.jar;C:\Users\zhanglulu\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.9.8\jackson-core-2.9.8.jar;C:\Users\zhanglulu\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.9.8\jackson-databind-2.9.8.jar;C:\Users\zhanglulu\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.9.0\jackson-annotations-2.9.0.jar;C:\Users\zhanglulu\.m2\repository\net\bytebuddy\byte-buddy\1.9.10\byte-buddy-1.9.10.jar;C:\Users\zhanglulu\.m2\repository\org\jodd\jodd-bean\5.0.10\jodd-bean-5.0.10.jar;C:\Users\zhanglulu\.m2\repository\org\jodd\jodd-core\5.0.10\jodd-core-5.0.10.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\plugins\maven-resources-plugin\2.4.3\maven-resources-plugin-2.4.3.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-plugin-api\2.0.6\maven-plugin-api-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-project\2.0.6\maven-project-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-profile\2.0.6\maven-profile-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-artifact-manager\2.0.6\maven-artifact-manager-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-plugin-registry\2.0.6\maven-plugin-registry-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-core\2.0.6\maven-core-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\wagon\wagon-file\1.0-beta-2\wagon-file-1.0-beta-2.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-plugin-parameter-documenter\2.0.6\maven-plugin-parameter-documenter-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\wagon\wagon-http-lightweight\1.0-beta-2\wagon-http-lightweight-1.0-beta-2.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\wagon\wagon-http-shared\1.0-beta-2\wagon-http-shared-1.0-beta-2.jar;C:\Users\zhanglulu\.m2\repository\jtidy\jtidy\4aug2000r7-dev\jtidy-4aug2000r7-dev.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\reporting\maven-reporting-api\2.0.6\maven-reporting-api-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\doxia\doxia-sink-api\1.0-alpha-7\doxia-sink-api-1.0-alpha-7.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\wagon\wagon-provider-api\1.0-beta-2\wagon-provider-api-1.0-beta-2.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-repository-metadata\2.0.6\maven-repository-metadata-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-error-diagnostics\2.0.6\maven-error-diagnostics-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\commons-cli\commons-cli\1.0\commons-cli-1.0.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\wagon\wagon-ssh-external\1.0-beta-2\wagon-ssh-external-1.0-beta-2.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\wagon\wagon-ssh-common\1.0-beta-2\wagon-ssh-common-1.0-beta-2.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-plugin-descriptor\2.0.6\maven-plugin-descriptor-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\codehaus\plexus\plexus-interactivity-api\1.0-alpha-4\plexus-interactivity-api-1.0-alpha-4.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\wagon\wagon-ssh\1.0-beta-2\wagon-ssh-1.0-beta-2.jar;C:\Users\zhanglulu\.m2\repository\com\jcraft\jsch\0.1.27\jsch-0.1.27.jar;C:\Users\zhanglulu\.m2\repository\classworlds\classworlds\1.1\classworlds-1.1.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-artifact\2.0.6\maven-artifact-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-settings\2.0.6\maven-settings-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-model\2.0.6\maven-model-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-monitor\2.0.6\maven-monitor-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\codehaus\plexus\plexus-container-default\1.0-alpha-9-stable-1\plexus-container-default-1.0-alpha-9-stable-1.jar;C:\Users\zhanglulu\.m2\repository\org\codehaus\plexus\plexus-utils\2.0.5\plexus-utils-2.0.5.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\shared\maven-filtering\1.0-beta-4\maven-filtering-1.0-beta-4.jar;C:\Users\zhanglulu\.m2\repository\org\sonatype\plexus\plexus-build-api\0.0.4\plexus-build-api-0.0.4.jar;C:\Users\zhanglulu\.m2\repository\org\codehaus\plexus\plexus-interpolation\1.13\plexus-interpolation-1.13.jar;C:\Users\zhanglulu\.m2\repository\javax\servlet\servlet-api\2.4\servlet-api-2.4.jar;C:\Users\zhanglulu\.m2\repository\javax\servlet\jsp\jsp-api\2.1\jsp-api-2.1.jar;C:\Users\zhanglulu\.m2\repository\com\alibaba\druid\1.0.6\druid-1.0.6.jar;C:\Users\zhanglulu\.m2\repository\cglib\cglib-nodep\2.1_3\cglib-nodep-2.1_3.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-core\3.1.4.RELEASE\spring-core-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-asm\3.1.4.RELEASE\spring-asm-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-context\3.1.4.RELEASE\spring-context-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-context-support\3.1.4.RELEASE\spring-context-support-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-beans\3.1.4.RELEASE\spring-beans-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-aop\3.1.4.RELEASE\spring-aop-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\aopalliance\aopalliance\1.0\aopalliance-1.0.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-expression\3.1.4.RELEASE\spring-expression-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-webmvc\3.1.4.RELEASE\spring-webmvc-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-jdbc\3.1.4.RELEASE\spring-jdbc-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-tx\3.1.4.RELEASE\spring-tx-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-orm\3.1.4.RELEASE\spring-orm-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-test\3.1.4.RELEASE\spring-test-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-web\3.1.4.RELEASE\spring-web-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\com\sun\jersey\contribs\jersey-spring\1.18.2\jersey-spring-1.18.2.jar;C:\Users\zhanglulu\.m2\repository\com\sun\jersey\jersey-servlet\1.18.2\jersey-servlet-1.18.2.jar;C:\Users\zhanglulu\.m2\repository\com\sun\jersey\jersey-server\1.18.2\jersey-server-1.18.2.jar;C:\Users\zhanglulu\.m2\repository\com\sun\jersey\jersey-core\1.18.2\jersey-core-1.18.2.jar;C:\Users\zhanglulu\.m2\repository\org\aspectj\aspectjweaver\1.6.8\aspectjweaver-1.6.8.jar;C:\Users\zhanglulu\.m2\repository\org\aspectj\aspectjrt\1.7.4\aspectjrt-1.7.4.jar;C:\Users\zhanglulu\.m2\repository\net\spy\spymemcached\2.11.4\spymemcached-2.11.4.jar;C:\Users\zhanglulu\.m2\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;C:\Users\zhanglulu\.m2\repository\commons-lang\commons-lang\2.4\commons-lang-2.4.jar;C:\Users\zhanglulu\.m2\repository\commons-collections\commons-collections\3.1\commons-collections-3.1.jar;C:\Users\zhanglulu\.m2\repository\commons-httpclient\commons-httpclient\3.1\commons-httpclient-3.1.jar;C:\Users\zhanglulu\.m2\repository\commons-codec\commons-codec\1.2\commons-codec-1.2.jar;C:\Users\zhanglulu\.m2\repository\javassist\javassist\3.4.GA\javassist-3.4.GA.jar;C:\Users\zhanglulu\.m2\repository\com\alibaba\dubbo\2.4.9\dubbo-2.4.9.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring\2.5.6.SEC03\spring-2.5.6.SEC03.jar;C:\Users\zhanglulu\.m2\repository\org\javassist\javassist\3.15.0-GA\javassist-3.15.0-GA.jar;C:\Users\zhanglulu\.m2\repository\org\jboss\netty\netty\3.2.5.Final\netty-3.2.5.Final.jar;C:\Users\zhanglulu\.m2\repository\org\apache\zookeeper\zookeeper\3.4.0\zookeeper-3.4.0.jar;C:\Users\zhanglulu\.m2\repository\jline\jline\0.9.94\jline-0.9.94.jar;C:\Users\zhanglulu\.m2\repository\com\github\sgroschupf\zkclient\0.1\zkclient-0.1.jar;C:\Users\zhanglulu\.m2\repository\org\mybatis\mybatis\3.2.8\mybatis-3.2.8.jar;C:\Users\zhanglulu\.m2\repository\org\mybatis\mybatis-spring\1.2.2\mybatis-spring-1.2.2.jar;C:\Users\zhanglulu\.m2\repository\mysql\mysql-connector-java\5.1.31\mysql-connector-java-5.1.31.jar;C:\Users\zhanglulu\.m2\repository\org\apache\httpcomponents\httpclient\4.3.4\httpclient-4.3.4.jar;C:\Users\zhanglulu\.m2\repository\org\eclipse\persistence\javax.persistence\2.1.0\javax.persistence-2.1.0.jar;C:\Users\zhanglulu\.m2\repository\log4j\log4j\1.2.17\log4j-1.2.17.jar;C:\Users\zhanglulu\.m2\repository\org\slf4j\slf4j-log4j12\1.7.5\slf4j-log4j12-1.7.5.jar;C:\Users\zhanglulu\.m2\repository\com\alibaba\fastjson\1.1.35\fastjson-1.1.35.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\data\spring-data-redis\1.0.2.RELEASE\spring-data-redis-1.0.2.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\slf4j\jcl-over-slf4j\1.6.6\jcl-over-slf4j-1.6.6.jar;C:\Users\zhanglulu\.m2\repository\redis\clients\jedis\2.8.0\jedis-2.8.0.jar;C:\Users\zhanglulu\.m2\repository\org\apache\commons\commons-pool2\2.4.2\commons-pool2-2.4.2.jar;C:\Users\zhanglulu\.m2\repository\org\mongodb\mongo-java-driver\2.10.1\mongo-java-driver-2.10.1.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\data\spring-data-mongodb\1.2.1.RELEASE\spring-data-mongodb-1.2.1.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\data\spring-data-commons\1.5.1.RELEASE\spring-data-commons-1.5.1.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\data\spring-data-mongodb-cross-store\1.2.1.RELEASE\spring-data-mongodb-cross-store-1.2.1.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-aspects\3.1.4.RELEASE\spring-aspects-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\cglib\cglib\2.2\cglib-2.2.jar;C:\Users\zhanglulu\.m2\repository\asm\asm\3.1\asm-3.1.jar;C:\Users\zhanglulu\.m2\repository\org\hibernate\javax\persistence\hibernate-jpa-2.0-api\1.0.0.Final\hibernate-jpa-2.0-api-1.0.0.Final.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\data\spring-data-mongodb-log4j\1.2.1.RELEASE\spring-data-mongodb-log4j-1.2.1.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\quartz-scheduler\quartz\2.2.1\quartz-2.2.1.jar;C:\Users\zhanglulu\.m2\repository\c3p0\c3p0\0.9.1.1\c3p0-0.9.1.1.jar;C:\Users\zhanglulu\.m2\repository\org\quartz-scheduler\quartz-jobs\2.2.1\quartz-jobs-2.2.1.jar;C:\Users\zhanglulu\.m2\repository\me\chanjar\weixin-java-mp\1.3.3\weixin-java-mp-1.3.3.jar;C:\Users\zhanglulu\.m2\repository\org\apache\httpcomponents\fluent-hc\4.5\fluent-hc-4.5.jar;C:\Users\zhanglulu\.m2\repository\com\google\code\gson\gson\2.2.2\gson-2.2.2.jar;C:\Users\zhanglulu\.m2\repository\commons-io\commons-io\2.4\commons-io-2.4.jar;C:\Users\zhanglulu\.m2\repository\me\chanjar\weixin-java-common\1.3.3\weixin-java-common-1.3.3.jar;C:\Users\zhanglulu\.m2\repository\org\apache\httpcomponents\httpcore\4.4.1\httpcore-4.4.1.jar;C:\Users\zhanglulu\.m2\repository\org\apache\kafka\kafka_2.10\0.8.2.1\kafka_2.10-0.8.2.1.jar;C:\Users\zhanglulu\.m2\repository\com\yammer\metrics\metrics-core\2.2.0\metrics-core-2.2.0.jar;C:\Users\zhanglulu\.m2\repository\org\scala-lang\scala-library\2.10.4\scala-library-2.10.4.jar;C:\Users\zhanglulu\.m2\repository\org\apache\kafka\kafka-clients\0.8.2.1\kafka-clients-0.8.2.1.jar;C:\Users\zhanglulu\.m2\repository\net\jpountz\lz4\lz4\1.2.0\lz4-1.2.0.jar;C:\Users\zhanglulu\.m2\repository\org\xerial\snappy\snappy-java\1.1.1.6\snappy-java-1.1.1.6.jar;C:\Users\zhanglulu\.m2\repository\net\sf\jopt-simple\jopt-simple\3.2\jopt-simple-3.2.jar;C:\Users\zhanglulu\.m2\repository\com\101tec\zkclient\0.3\zkclient-0.3.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\integration\spring-integration-kafka\1.2.0.RELEASE\spring-integration-kafka-1.2.0.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\apache\avro\avro-compiler\1.7.6\avro-compiler-1.7.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\velocity\velocity\1.7\velocity-1.7.jar;C:\Users\zhanglulu\.m2\repository\org\codehaus\jackson\jackson-core-asl\1.9.13\jackson-core-asl-1.9.13.jar;C:\Users\zhanglulu\.m2\repository\org\codehaus\jackson\jackson-mapper-asl\1.9.13\jackson-mapper-asl-1.9.13.jar;C:\Users\zhanglulu\.m2\repository\org\apache\avro\avro\1.7.6\avro-1.7.6.jar;C:\Users\zhanglulu\.m2\repository\com\thoughtworks\paranamer\paranamer\2.3\paranamer-2.3.jar;C:\Users\zhanglulu\.m2\repository\org\apache\commons\commons-compress\1.4.1\commons-compress-1.4.1.jar;C:\Users\zhanglulu\.m2\repository\org\tukaani\xz\1.0\xz-1.0.jar;C:\Users\zhanglulu\.m2\repository\com\yammer\metrics\metrics-annotation\2.2.0\metrics-annotation-2.2.0.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\integration\spring-integration-core\4.1.5.RELEASE\spring-integration-core-4.1.5.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\projectreactor\reactor-core\1.1.4.RELEASE\reactor-core-1.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\com\lmax\disruptor\3.2.1\disruptor-3.2.1.jar;C:\Users\zhanglulu\.m2\repository\io\gatling\jsr166e\1.0\jsr166e-1.0.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-messaging\4.1.6.RELEASE\spring-messaging-4.1.6.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\retry\spring-retry\1.1.1.RELEASE\spring-retry-1.1.1.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\com\goldmansachs\gs-collections\5.0.0\gs-collections-5.0.0.jar;C:\Users\zhanglulu\.m2\repository\com\goldmansachs\gs-collections-api\5.0.0\gs-collections-api-5.0.0.jar;C:\Users\zhanglulu\.m2\repository\javax\websocket\javax.websocket-api\1.1\javax.websocket-api-1.1.jar;C:\Users\zhanglulu\.m2\repository\dom4j\dom4j\1.6.1\dom4j-1.6.1.jar;C:\Users\zhanglulu\.m2\repository\xml-apis\xml-apis\1.0.b2\xml-apis-1.0.b2.jar;C:\Users\zhanglulu\.m2\repository\org\apache\poi\poi-ooxml\3.10-FINAL\poi-ooxml-3.10-FINAL.jar;C:\Users\zhanglulu\.m2\repository\org\apache\poi\poi\3.10-FINAL\poi-3.10-FINAL.jar;C:\Users\zhanglulu\.m2\repository\org\apache\poi\poi-ooxml-schemas\3.10-FINAL\poi-ooxml-schemas-3.10-FINAL.jar;C:\Users\zhanglulu\.m2\repository\org\apache\xmlbeans\xmlbeans\2.3.0\xmlbeans-2.3.0.jar;C:\Users\zhanglulu\.m2\repository\stax\stax-api\1.0.1\stax-api-1.0.1.jar;C:\Users\zhanglulu\.m2\repository\com\caucho\hessian\4.0.38\hessian-4.0.38.jar;C:\Users\zhanglulu\.m2\repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;C:\Users\zhanglulu\.m2\repository\com\thoughtworks\xstream\xstream\1.3.1\xstream-1.3.1.jar;C:\Users\zhanglulu\.m2\repository\xpp3\xpp3_min\1.1.4c\xpp3_min-1.1.4c.jar;C:\Users\zhanglulu\.m2\repository\org\apache\httpcomponents\httpmime\4.3.6\httpmime-4.3.6.jar;C:\Users\zhanglulu\.m2\repository\org\freemarker\freemarker\2.3.28\freemarker-2.3.28.jar;C:\Users\zhanglulu\.m2\repository\org\apache\pdfbox\pdfbox\2.0.15\pdfbox-2.0.15.jar;C:\Users\zhanglulu\.m2\repository\org\apache\pdfbox\fontbox\2.0.15\fontbox-2.0.15.jar
2019-06-12 11:49:22,590 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.library.path=C:\Program Files\Java\jdk1.8.0_101\bin;C:\windows\Sun\Java\bin;C:\windows\system32;C:\windows;C:/Program Files/Java/jre1.8.0_101/bin/server;C:/Program Files/Java/jre1.8.0_101/bin;C:/Program Files/Java/jre1.8.0_101/lib/amd64;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program Files\Intel\Intel(R) Management Engine Components\iCLS\;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\windows\System32\OpenSSH\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;D:\Program Files\Git\cmd;D:\Program Files\TortoiseSVN\bin;D:\apache-maven-3.6.0\bin;C:\Program Files\Java\jdk-11.0.1\bin;D:\apache-ant-1.10.5\bin;D:\安装软件\hadoop-2.6.5\bin;C:\Program Files\erl10.3\bin;C:\Users\zhanglulu\AppData\Local\Programs\Python\Python37\;C:\Users\zhanglulu\AppData\Local\Programs\Python\Python37\Scripts;C:\Users\zhanglulu\AppData\Local\Microsoft\WindowsApps;;C:\绿色软件\eclipse-jee-mars-2-win32-x86_64\eclipse;;.
2019-06-12 11:49:22,591 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.io.tmpdir=C:\Users\ZHANGL~1\AppData\Local\Temp\
2019-06-12 11:49:22,591 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.compiler=<NA>
2019-06-12 11:49:22,591 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:os.name=Windows 10
2019-06-12 11:49:22,591 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:os.arch=amd64
2019-06-12 11:49:22,591 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:os.version=10.0
2019-06-12 11:49:22,591 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:user.name=zhanglulu
2019-06-12 11:49:22,591 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:user.home=C:\Users\zhanglulu
2019-06-12 11:49:22,591 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:user.dir=D:\myfish\工程\workspace\mvnweb
2019-06-12 11:49:22,592 INFO [org.apache.zookeeper.ZooKeeper] - Initiating client connection, connectString=192.168.44.88:2181,192.168.44.88:2182,192.168.44.88:2183 sessionTimeout=30000 watcher=com.lock.zookeeper.ZkDistributeLock2@2a5ca609
2019-06-12 11:49:22,913 INFO [org.apache.zookeeper.ClientCnxn] - Opening socket connection to server /192.168.44.88:2182
2019-06-12 11:49:22,916 INFO [org.apache.zookeeper.ClientCnxn] - Socket connection established to hbase.domain/192.168.44.88:2182, initiating session
2019-06-12 11:49:22,921 INFO [org.apache.zookeeper.ClientCnxn] - Session establishment complete on server hbase.domain/192.168.44.88:2182, sessionid = 0x269d6b2ef080019, negotiated timeout = 30000
goodsNum = 17
goodsNum = 13
goodsNum = 10
goodsNum = 7
goodsNum = 4
goodsNum = 2
goodsNum = 0
商品卖完了----0
商品卖完了----0
商品卖完了----0
商品卖完了----0
商品卖完了----0

客户端2

2019-06-12 11:49:24,655 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:zookeeper.version=3.4.0-1202560, built on 11/16/2011 07:18 GMT
2019-06-12 11:49:24,657 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:host.name=DESKTOP-NV2U84H
2019-06-12 11:49:24,657 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.version=1.8.0_101
2019-06-12 11:49:24,657 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.vendor=Oracle Corporation
2019-06-12 11:49:24,658 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.home=C:\Program Files\Java\jdk1.8.0_101\jre
2019-06-12 11:49:24,658 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.class.path=D:\myfish\工程\workspace\mvnweb\target\classes;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-api-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-common-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-connector-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-core-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-instrument-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\jetty-http-9.2.14.v20151106.jar;D:\myfish\工程\workspace\mvnweb\lib\jetty-io-9.2.14.v20151106.jar;D:\myfish\工程\workspace\mvnweb\lib\jetty-security-9.2.14.v20151106.jar;D:\myfish\工程\workspace\mvnweb\lib\jetty-server-9.2.14.v20151106.jar;D:\myfish\工程\workspace\mvnweb\lib\jetty-servlet-9.2.14.v20151106.jar;D:\myfish\工程\workspace\mvnweb\lib\jetty-util-9.2.14.v20151106.jar;D:\myfish\工程\workspace\mvnweb\lib\jline-0.9.94.jar;D:\myfish\工程\workspace\mvnweb\lib\xmlpull-1.1.3.1.jar;D:\myfish\工程\workspace\mvnweb\lib\xpp3_min-1.1.4c.jar;D:\myfish\工程\workspace\mvnweb\lib\xstream-1.4.7.jar;D:\myfish\工程\workspace\mvnweb\lib\comet4j-tomcat6.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-adapter-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-batch-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-batch-api-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-batch-common-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-batch-task-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-common-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-convert-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-reversal-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-sequences-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-stria-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-stria-api-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-cache-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-dal-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-dtp-core-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-dtp-db-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-dx-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-ftp-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-nosql-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-oms-manager-api-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-oms-manager-default-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-schedule-1.5.13.jar;C:\Users\zhanglulu\.m2\repository\org\apache\curator\curator-framework\4.0.1\curator-framework-4.0.1.jar;C:\Users\zhanglulu\.m2\repository\org\apache\curator\curator-client\4.0.1\curator-client-4.0.1.jar;C:\Users\zhanglulu\.m2\repository\com\google\guava\guava\20.0\guava-20.0.jar;C:\Users\zhanglulu\.m2\repository\org\apache\curator\curator-recipes\4.0.1\curator-recipes-4.0.1.jar;C:\Users\zhanglulu\.m2\repository\org\redisson\redisson\3.10.7\redisson-3.10.7.jar;C:\Users\zhanglulu\.m2\repository\io\netty\netty-common\4.1.34.Final\netty-common-4.1.34.Final.jar;C:\Users\zhanglulu\.m2\repository\io\netty\netty-codec\4.1.34.Final\netty-codec-4.1.34.Final.jar;C:\Users\zhanglulu\.m2\repository\io\netty\netty-buffer\4.1.34.Final\netty-buffer-4.1.34.Final.jar;C:\Users\zhanglulu\.m2\repository\io\netty\netty-transport\4.1.34.Final\netty-transport-4.1.34.Final.jar;C:\Users\zhanglulu\.m2\repository\io\netty\netty-resolver\4.1.34.Final\netty-resolver-4.1.34.Final.jar;C:\Users\zhanglulu\.m2\repository\io\netty\netty-resolver-dns\4.1.34.Final\netty-resolver-dns-4.1.34.Final.jar;C:\Users\zhanglulu\.m2\repository\io\netty\netty-codec-dns\4.1.34.Final\netty-codec-dns-4.1.34.Final.jar;C:\Users\zhanglulu\.m2\repository\io\netty\netty-handler\4.1.34.Final\netty-handler-4.1.34.Final.jar;C:\Users\zhanglulu\.m2\repository\javax\cache\cache-api\1.0.0\cache-api-1.0.0.jar;C:\Users\zhanglulu\.m2\repository\io\projectreactor\reactor-core\3.2.6.RELEASE\reactor-core-3.2.6.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\reactivestreams\reactive-streams\1.0.2\reactive-streams-1.0.2.jar;C:\Users\zhanglulu\.m2\repository\io\reactivex\rxjava2\rxjava\2.2.7\rxjava-2.2.7.jar;C:\Users\zhanglulu\.m2\repository\de\ruedigermoeller\fst\2.57\fst-2.57.jar;C:\Users\zhanglulu\.m2\repository\org\objenesis\objenesis\2.5.1\objenesis-2.5.1.jar;C:\Users\zhanglulu\.m2\repository\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;C:\Users\zhanglulu\.m2\repository\com\fasterxml\jackson\dataformat\jackson-dataformat-yaml\2.9.8\jackson-dataformat-yaml-2.9.8.jar;C:\Users\zhanglulu\.m2\repository\org\yaml\snakeyaml\1.23\snakeyaml-1.23.jar;C:\Users\zhanglulu\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.9.8\jackson-core-2.9.8.jar;C:\Users\zhanglulu\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.9.8\jackson-databind-2.9.8.jar;C:\Users\zhanglulu\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.9.0\jackson-annotations-2.9.0.jar;C:\Users\zhanglulu\.m2\repository\net\bytebuddy\byte-buddy\1.9.10\byte-buddy-1.9.10.jar;C:\Users\zhanglulu\.m2\repository\org\jodd\jodd-bean\5.0.10\jodd-bean-5.0.10.jar;C:\Users\zhanglulu\.m2\repository\org\jodd\jodd-core\5.0.10\jodd-core-5.0.10.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\plugins\maven-resources-plugin\2.4.3\maven-resources-plugin-2.4.3.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-plugin-api\2.0.6\maven-plugin-api-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-project\2.0.6\maven-project-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-profile\2.0.6\maven-profile-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-artifact-manager\2.0.6\maven-artifact-manager-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-plugin-registry\2.0.6\maven-plugin-registry-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-core\2.0.6\maven-core-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\wagon\wagon-file\1.0-beta-2\wagon-file-1.0-beta-2.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-plugin-parameter-documenter\2.0.6\maven-plugin-parameter-documenter-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\wagon\wagon-http-lightweight\1.0-beta-2\wagon-http-lightweight-1.0-beta-2.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\wagon\wagon-http-shared\1.0-beta-2\wagon-http-shared-1.0-beta-2.jar;C:\Users\zhanglulu\.m2\repository\jtidy\jtidy\4aug2000r7-dev\jtidy-4aug2000r7-dev.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\reporting\maven-reporting-api\2.0.6\maven-reporting-api-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\doxia\doxia-sink-api\1.0-alpha-7\doxia-sink-api-1.0-alpha-7.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\wagon\wagon-provider-api\1.0-beta-2\wagon-provider-api-1.0-beta-2.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-repository-metadata\2.0.6\maven-repository-metadata-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-error-diagnostics\2.0.6\maven-error-diagnostics-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\commons-cli\commons-cli\1.0\commons-cli-1.0.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\wagon\wagon-ssh-external\1.0-beta-2\wagon-ssh-external-1.0-beta-2.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\wagon\wagon-ssh-common\1.0-beta-2\wagon-ssh-common-1.0-beta-2.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-plugin-descriptor\2.0.6\maven-plugin-descriptor-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\codehaus\plexus\plexus-interactivity-api\1.0-alpha-4\plexus-interactivity-api-1.0-alpha-4.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\wagon\wagon-ssh\1.0-beta-2\wagon-ssh-1.0-beta-2.jar;C:\Users\zhanglulu\.m2\repository\com\jcraft\jsch\0.1.27\jsch-0.1.27.jar;C:\Users\zhanglulu\.m2\repository\classworlds\classworlds\1.1\classworlds-1.1.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-artifact\2.0.6\maven-artifact-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-settings\2.0.6\maven-settings-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-model\2.0.6\maven-model-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-monitor\2.0.6\maven-monitor-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\codehaus\plexus\plexus-container-default\1.0-alpha-9-stable-1\plexus-container-default-1.0-alpha-9-stable-1.jar;C:\Users\zhanglulu\.m2\repository\org\codehaus\plexus\plexus-utils\2.0.5\plexus-utils-2.0.5.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\shared\maven-filtering\1.0-beta-4\maven-filtering-1.0-beta-4.jar;C:\Users\zhanglulu\.m2\repository\org\sonatype\plexus\plexus-build-api\0.0.4\plexus-build-api-0.0.4.jar;C:\Users\zhanglulu\.m2\repository\org\codehaus\plexus\plexus-interpolation\1.13\plexus-interpolation-1.13.jar;C:\Users\zhanglulu\.m2\repository\javax\servlet\servlet-api\2.4\servlet-api-2.4.jar;C:\Users\zhanglulu\.m2\repository\javax\servlet\jsp\jsp-api\2.1\jsp-api-2.1.jar;C:\Users\zhanglulu\.m2\repository\com\alibaba\druid\1.0.6\druid-1.0.6.jar;C:\Users\zhanglulu\.m2\repository\cglib\cglib-nodep\2.1_3\cglib-nodep-2.1_3.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-core\3.1.4.RELEASE\spring-core-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-asm\3.1.4.RELEASE\spring-asm-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-context\3.1.4.RELEASE\spring-context-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-context-support\3.1.4.RELEASE\spring-context-support-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-beans\3.1.4.RELEASE\spring-beans-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-aop\3.1.4.RELEASE\spring-aop-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\aopalliance\aopalliance\1.0\aopalliance-1.0.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-expression\3.1.4.RELEASE\spring-expression-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-webmvc\3.1.4.RELEASE\spring-webmvc-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-jdbc\3.1.4.RELEASE\spring-jdbc-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-tx\3.1.4.RELEASE\spring-tx-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-orm\3.1.4.RELEASE\spring-orm-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-test\3.1.4.RELEASE\spring-test-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-web\3.1.4.RELEASE\spring-web-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\com\sun\jersey\contribs\jersey-spring\1.18.2\jersey-spring-1.18.2.jar;C:\Users\zhanglulu\.m2\repository\com\sun\jersey\jersey-servlet\1.18.2\jersey-servlet-1.18.2.jar;C:\Users\zhanglulu\.m2\repository\com\sun\jersey\jersey-server\1.18.2\jersey-server-1.18.2.jar;C:\Users\zhanglulu\.m2\repository\com\sun\jersey\jersey-core\1.18.2\jersey-core-1.18.2.jar;C:\Users\zhanglulu\.m2\repository\org\aspectj\aspectjweaver\1.6.8\aspectjweaver-1.6.8.jar;C:\Users\zhanglulu\.m2\repository\org\aspectj\aspectjrt\1.7.4\aspectjrt-1.7.4.jar;C:\Users\zhanglulu\.m2\repository\net\spy\spymemcached\2.11.4\spymemcached-2.11.4.jar;C:\Users\zhanglulu\.m2\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;C:\Users\zhanglulu\.m2\repository\commons-lang\commons-lang\2.4\commons-lang-2.4.jar;C:\Users\zhanglulu\.m2\repository\commons-collections\commons-collections\3.1\commons-collections-3.1.jar;C:\Users\zhanglulu\.m2\repository\commons-httpclient\commons-httpclient\3.1\commons-httpclient-3.1.jar;C:\Users\zhanglulu\.m2\repository\commons-codec\commons-codec\1.2\commons-codec-1.2.jar;C:\Users\zhanglulu\.m2\repository\javassist\javassist\3.4.GA\javassist-3.4.GA.jar;C:\Users\zhanglulu\.m2\repository\com\alibaba\dubbo\2.4.9\dubbo-2.4.9.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring\2.5.6.SEC03\spring-2.5.6.SEC03.jar;C:\Users\zhanglulu\.m2\repository\org\javassist\javassist\3.15.0-GA\javassist-3.15.0-GA.jar;C:\Users\zhanglulu\.m2\repository\org\jboss\netty\netty\3.2.5.Final\netty-3.2.5.Final.jar;C:\Users\zhanglulu\.m2\repository\org\apache\zookeeper\zookeeper\3.4.0\zookeeper-3.4.0.jar;C:\Users\zhanglulu\.m2\repository\jline\jline\0.9.94\jline-0.9.94.jar;C:\Users\zhanglulu\.m2\repository\com\github\sgroschupf\zkclient\0.1\zkclient-0.1.jar;C:\Users\zhanglulu\.m2\repository\org\mybatis\mybatis\3.2.8\mybatis-3.2.8.jar;C:\Users\zhanglulu\.m2\repository\org\mybatis\mybatis-spring\1.2.2\mybatis-spring-1.2.2.jar;C:\Users\zhanglulu\.m2\repository\mysql\mysql-connector-java\5.1.31\mysql-connector-java-5.1.31.jar;C:\Users\zhanglulu\.m2\repository\org\apache\httpcomponents\httpclient\4.3.4\httpclient-4.3.4.jar;C:\Users\zhanglulu\.m2\repository\org\eclipse\persistence\javax.persistence\2.1.0\javax.persistence-2.1.0.jar;C:\Users\zhanglulu\.m2\repository\log4j\log4j\1.2.17\log4j-1.2.17.jar;C:\Users\zhanglulu\.m2\repository\org\slf4j\slf4j-log4j12\1.7.5\slf4j-log4j12-1.7.5.jar;C:\Users\zhanglulu\.m2\repository\com\alibaba\fastjson\1.1.35\fastjson-1.1.35.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\data\spring-data-redis\1.0.2.RELEASE\spring-data-redis-1.0.2.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\slf4j\jcl-over-slf4j\1.6.6\jcl-over-slf4j-1.6.6.jar;C:\Users\zhanglulu\.m2\repository\redis\clients\jedis\2.8.0\jedis-2.8.0.jar;C:\Users\zhanglulu\.m2\repository\org\apache\commons\commons-pool2\2.4.2\commons-pool2-2.4.2.jar;C:\Users\zhanglulu\.m2\repository\org\mongodb\mongo-java-driver\2.10.1\mongo-java-driver-2.10.1.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\data\spring-data-mongodb\1.2.1.RELEASE\spring-data-mongodb-1.2.1.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\data\spring-data-commons\1.5.1.RELEASE\spring-data-commons-1.5.1.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\data\spring-data-mongodb-cross-store\1.2.1.RELEASE\spring-data-mongodb-cross-store-1.2.1.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-aspects\3.1.4.RELEASE\spring-aspects-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\cglib\cglib\2.2\cglib-2.2.jar;C:\Users\zhanglulu\.m2\repository\asm\asm\3.1\asm-3.1.jar;C:\Users\zhanglulu\.m2\repository\org\hibernate\javax\persistence\hibernate-jpa-2.0-api\1.0.0.Final\hibernate-jpa-2.0-api-1.0.0.Final.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\data\spring-data-mongodb-log4j\1.2.1.RELEASE\spring-data-mongodb-log4j-1.2.1.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\quartz-scheduler\quartz\2.2.1\quartz-2.2.1.jar;C:\Users\zhanglulu\.m2\repository\c3p0\c3p0\0.9.1.1\c3p0-0.9.1.1.jar;C:\Users\zhanglulu\.m2\repository\org\quartz-scheduler\quartz-jobs\2.2.1\quartz-jobs-2.2.1.jar;C:\Users\zhanglulu\.m2\repository\me\chanjar\weixin-java-mp\1.3.3\weixin-java-mp-1.3.3.jar;C:\Users\zhanglulu\.m2\repository\org\apache\httpcomponents\fluent-hc\4.5\fluent-hc-4.5.jar;C:\Users\zhanglulu\.m2\repository\com\google\code\gson\gson\2.2.2\gson-2.2.2.jar;C:\Users\zhanglulu\.m2\repository\commons-io\commons-io\2.4\commons-io-2.4.jar;C:\Users\zhanglulu\.m2\repository\me\chanjar\weixin-java-common\1.3.3\weixin-java-common-1.3.3.jar;C:\Users\zhanglulu\.m2\repository\org\apache\httpcomponents\httpcore\4.4.1\httpcore-4.4.1.jar;C:\Users\zhanglulu\.m2\repository\org\apache\kafka\kafka_2.10\0.8.2.1\kafka_2.10-0.8.2.1.jar;C:\Users\zhanglulu\.m2\repository\com\yammer\metrics\metrics-core\2.2.0\metrics-core-2.2.0.jar;C:\Users\zhanglulu\.m2\repository\org\scala-lang\scala-library\2.10.4\scala-library-2.10.4.jar;C:\Users\zhanglulu\.m2\repository\org\apache\kafka\kafka-clients\0.8.2.1\kafka-clients-0.8.2.1.jar;C:\Users\zhanglulu\.m2\repository\net\jpountz\lz4\lz4\1.2.0\lz4-1.2.0.jar;C:\Users\zhanglulu\.m2\repository\org\xerial\snappy\snappy-java\1.1.1.6\snappy-java-1.1.1.6.jar;C:\Users\zhanglulu\.m2\repository\net\sf\jopt-simple\jopt-simple\3.2\jopt-simple-3.2.jar;C:\Users\zhanglulu\.m2\repository\com\101tec\zkclient\0.3\zkclient-0.3.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\integration\spring-integration-kafka\1.2.0.RELEASE\spring-integration-kafka-1.2.0.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\apache\avro\avro-compiler\1.7.6\avro-compiler-1.7.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\velocity\velocity\1.7\velocity-1.7.jar;C:\Users\zhanglulu\.m2\repository\org\codehaus\jackson\jackson-core-asl\1.9.13\jackson-core-asl-1.9.13.jar;C:\Users\zhanglulu\.m2\repository\org\codehaus\jackson\jackson-mapper-asl\1.9.13\jackson-mapper-asl-1.9.13.jar;C:\Users\zhanglulu\.m2\repository\org\apache\avro\avro\1.7.6\avro-1.7.6.jar;C:\Users\zhanglulu\.m2\repository\com\thoughtworks\paranamer\paranamer\2.3\paranamer-2.3.jar;C:\Users\zhanglulu\.m2\repository\org\apache\commons\commons-compress\1.4.1\commons-compress-1.4.1.jar;C:\Users\zhanglulu\.m2\repository\org\tukaani\xz\1.0\xz-1.0.jar;C:\Users\zhanglulu\.m2\repository\com\yammer\metrics\metrics-annotation\2.2.0\metrics-annotation-2.2.0.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\integration\spring-integration-core\4.1.5.RELEASE\spring-integration-core-4.1.5.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\projectreactor\reactor-core\1.1.4.RELEASE\reactor-core-1.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\com\lmax\disruptor\3.2.1\disruptor-3.2.1.jar;C:\Users\zhanglulu\.m2\repository\io\gatling\jsr166e\1.0\jsr166e-1.0.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-messaging\4.1.6.RELEASE\spring-messaging-4.1.6.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\retry\spring-retry\1.1.1.RELEASE\spring-retry-1.1.1.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\com\goldmansachs\gs-collections\5.0.0\gs-collections-5.0.0.jar;C:\Users\zhanglulu\.m2\repository\com\goldmansachs\gs-collections-api\5.0.0\gs-collections-api-5.0.0.jar;C:\Users\zhanglulu\.m2\repository\javax\websocket\javax.websocket-api\1.1\javax.websocket-api-1.1.jar;C:\Users\zhanglulu\.m2\repository\dom4j\dom4j\1.6.1\dom4j-1.6.1.jar;C:\Users\zhanglulu\.m2\repository\xml-apis\xml-apis\1.0.b2\xml-apis-1.0.b2.jar;C:\Users\zhanglulu\.m2\repository\org\apache\poi\poi-ooxml\3.10-FINAL\poi-ooxml-3.10-FINAL.jar;C:\Users\zhanglulu\.m2\repository\org\apache\poi\poi\3.10-FINAL\poi-3.10-FINAL.jar;C:\Users\zhanglulu\.m2\repository\org\apache\poi\poi-ooxml-schemas\3.10-FINAL\poi-ooxml-schemas-3.10-FINAL.jar;C:\Users\zhanglulu\.m2\repository\org\apache\xmlbeans\xmlbeans\2.3.0\xmlbeans-2.3.0.jar;C:\Users\zhanglulu\.m2\repository\stax\stax-api\1.0.1\stax-api-1.0.1.jar;C:\Users\zhanglulu\.m2\repository\com\caucho\hessian\4.0.38\hessian-4.0.38.jar;C:\Users\zhanglulu\.m2\repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;C:\Users\zhanglulu\.m2\repository\com\thoughtworks\xstream\xstream\1.3.1\xstream-1.3.1.jar;C:\Users\zhanglulu\.m2\repository\xpp3\xpp3_min\1.1.4c\xpp3_min-1.1.4c.jar;C:\Users\zhanglulu\.m2\repository\org\apache\httpcomponents\httpmime\4.3.6\httpmime-4.3.6.jar;C:\Users\zhanglulu\.m2\repository\org\freemarker\freemarker\2.3.28\freemarker-2.3.28.jar;C:\Users\zhanglulu\.m2\repository\org\apache\pdfbox\pdfbox\2.0.15\pdfbox-2.0.15.jar;C:\Users\zhanglulu\.m2\repository\org\apache\pdfbox\fontbox\2.0.15\fontbox-2.0.15.jar
2019-06-12 11:49:24,660 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.library.path=C:\Program Files\Java\jdk1.8.0_101\bin;C:\windows\Sun\Java\bin;C:\windows\system32;C:\windows;C:/Program Files/Java/jre1.8.0_101/bin/server;C:/Program Files/Java/jre1.8.0_101/bin;C:/Program Files/Java/jre1.8.0_101/lib/amd64;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program Files\Intel\Intel(R) Management Engine Components\iCLS\;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\windows\System32\OpenSSH\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;D:\Program Files\Git\cmd;D:\Program Files\TortoiseSVN\bin;D:\apache-maven-3.6.0\bin;C:\Program Files\Java\jdk-11.0.1\bin;D:\apache-ant-1.10.5\bin;D:\安装软件\hadoop-2.6.5\bin;C:\Program Files\erl10.3\bin;C:\Users\zhanglulu\AppData\Local\Programs\Python\Python37\;C:\Users\zhanglulu\AppData\Local\Programs\Python\Python37\Scripts;C:\Users\zhanglulu\AppData\Local\Microsoft\WindowsApps;;C:\绿色软件\eclipse-jee-mars-2-win32-x86_64\eclipse;;.
2019-06-12 11:49:24,660 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.io.tmpdir=C:\Users\ZHANGL~1\AppData\Local\Temp\
2019-06-12 11:49:24,660 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.compiler=<NA>
2019-06-12 11:49:24,660 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:os.name=Windows 10
2019-06-12 11:49:24,660 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:os.arch=amd64
2019-06-12 11:49:24,660 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:os.version=10.0
2019-06-12 11:49:24,660 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:user.name=zhanglulu
2019-06-12 11:49:24,660 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:user.home=C:\Users\zhanglulu
2019-06-12 11:49:24,660 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:user.dir=D:\myfish\工程\workspace\mvnweb
2019-06-12 11:49:24,661 INFO [org.apache.zookeeper.ZooKeeper] - Initiating client connection, connectString=192.168.44.88:2181,192.168.44.88:2182,192.168.44.88:2183 sessionTimeout=30000 watcher=com.lock.zookeeper.ZkDistributeLock2@2a5ca609
2019-06-12 11:49:24,984 INFO [org.apache.zookeeper.ClientCnxn] - Opening socket connection to server /192.168.44.88:2183
2019-06-12 11:49:24,986 INFO [org.apache.zookeeper.ClientCnxn] - Socket connection established to hbase.domain/192.168.44.88:2183, initiating session
2019-06-12 11:49:24,992 INFO [org.apache.zookeeper.ClientCnxn] - Session establishment complete on server hbase.domain/192.168.44.88:2183, sessionid = 0x369d6b2f194001f, negotiated timeout = 30000
goodsNum = 19
goodsNum = 18
goodsNum = 15
goodsNum = 12
goodsNum = 8
goodsNum = 6
goodsNum = 1
商品卖完了----0
商品卖完了----0
商品卖完了----0
商品卖完了----0
商品卖完了----0

客户端3

2019-06-12 11:49:27,269 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:zookeeper.version=3.4.0-1202560, built on 11/16/2011 07:18 GMT
2019-06-12 11:49:27,271 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:host.name=DESKTOP-NV2U84H
2019-06-12 11:49:27,271 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.version=1.8.0_101
2019-06-12 11:49:27,271 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.vendor=Oracle Corporation
2019-06-12 11:49:27,272 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.home=C:\Program Files\Java\jdk1.8.0_101\jre
2019-06-12 11:49:27,272 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.class.path=D:\myfish\工程\workspace\mvnweb\target\classes;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-api-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-common-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-connector-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-core-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-instrument-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\jetty-http-9.2.14.v20151106.jar;D:\myfish\工程\workspace\mvnweb\lib\jetty-io-9.2.14.v20151106.jar;D:\myfish\工程\workspace\mvnweb\lib\jetty-security-9.2.14.v20151106.jar;D:\myfish\工程\workspace\mvnweb\lib\jetty-server-9.2.14.v20151106.jar;D:\myfish\工程\workspace\mvnweb\lib\jetty-servlet-9.2.14.v20151106.jar;D:\myfish\工程\workspace\mvnweb\lib\jetty-util-9.2.14.v20151106.jar;D:\myfish\工程\workspace\mvnweb\lib\jline-0.9.94.jar;D:\myfish\工程\workspace\mvnweb\lib\xmlpull-1.1.3.1.jar;D:\myfish\工程\workspace\mvnweb\lib\xpp3_min-1.1.4c.jar;D:\myfish\工程\workspace\mvnweb\lib\xstream-1.4.7.jar;D:\myfish\工程\workspace\mvnweb\lib\comet4j-tomcat6.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-adapter-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-batch-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-batch-api-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-batch-common-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-batch-task-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-common-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-convert-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-reversal-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-sequences-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-stria-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-business-stria-api-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-cache-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-dal-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-dtp-core-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-dtp-db-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-dx-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-ftp-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-nosql-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-oms-manager-api-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-oms-manager-default-1.5.13.jar;D:\myfish\工程\workspace\mvnweb\lib\galaxy-schedule-1.5.13.jar;C:\Users\zhanglulu\.m2\repository\org\apache\curator\curator-framework\4.0.1\curator-framework-4.0.1.jar;C:\Users\zhanglulu\.m2\repository\org\apache\curator\curator-client\4.0.1\curator-client-4.0.1.jar;C:\Users\zhanglulu\.m2\repository\com\google\guava\guava\20.0\guava-20.0.jar;C:\Users\zhanglulu\.m2\repository\org\apache\curator\curator-recipes\4.0.1\curator-recipes-4.0.1.jar;C:\Users\zhanglulu\.m2\repository\org\redisson\redisson\3.10.7\redisson-3.10.7.jar;C:\Users\zhanglulu\.m2\repository\io\netty\netty-common\4.1.34.Final\netty-common-4.1.34.Final.jar;C:\Users\zhanglulu\.m2\repository\io\netty\netty-codec\4.1.34.Final\netty-codec-4.1.34.Final.jar;C:\Users\zhanglulu\.m2\repository\io\netty\netty-buffer\4.1.34.Final\netty-buffer-4.1.34.Final.jar;C:\Users\zhanglulu\.m2\repository\io\netty\netty-transport\4.1.34.Final\netty-transport-4.1.34.Final.jar;C:\Users\zhanglulu\.m2\repository\io\netty\netty-resolver\4.1.34.Final\netty-resolver-4.1.34.Final.jar;C:\Users\zhanglulu\.m2\repository\io\netty\netty-resolver-dns\4.1.34.Final\netty-resolver-dns-4.1.34.Final.jar;C:\Users\zhanglulu\.m2\repository\io\netty\netty-codec-dns\4.1.34.Final\netty-codec-dns-4.1.34.Final.jar;C:\Users\zhanglulu\.m2\repository\io\netty\netty-handler\4.1.34.Final\netty-handler-4.1.34.Final.jar;C:\Users\zhanglulu\.m2\repository\javax\cache\cache-api\1.0.0\cache-api-1.0.0.jar;C:\Users\zhanglulu\.m2\repository\io\projectreactor\reactor-core\3.2.6.RELEASE\reactor-core-3.2.6.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\reactivestreams\reactive-streams\1.0.2\reactive-streams-1.0.2.jar;C:\Users\zhanglulu\.m2\repository\io\reactivex\rxjava2\rxjava\2.2.7\rxjava-2.2.7.jar;C:\Users\zhanglulu\.m2\repository\de\ruedigermoeller\fst\2.57\fst-2.57.jar;C:\Users\zhanglulu\.m2\repository\org\objenesis\objenesis\2.5.1\objenesis-2.5.1.jar;C:\Users\zhanglulu\.m2\repository\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;C:\Users\zhanglulu\.m2\repository\com\fasterxml\jackson\dataformat\jackson-dataformat-yaml\2.9.8\jackson-dataformat-yaml-2.9.8.jar;C:\Users\zhanglulu\.m2\repository\org\yaml\snakeyaml\1.23\snakeyaml-1.23.jar;C:\Users\zhanglulu\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.9.8\jackson-core-2.9.8.jar;C:\Users\zhanglulu\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.9.8\jackson-databind-2.9.8.jar;C:\Users\zhanglulu\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.9.0\jackson-annotations-2.9.0.jar;C:\Users\zhanglulu\.m2\repository\net\bytebuddy\byte-buddy\1.9.10\byte-buddy-1.9.10.jar;C:\Users\zhanglulu\.m2\repository\org\jodd\jodd-bean\5.0.10\jodd-bean-5.0.10.jar;C:\Users\zhanglulu\.m2\repository\org\jodd\jodd-core\5.0.10\jodd-core-5.0.10.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\plugins\maven-resources-plugin\2.4.3\maven-resources-plugin-2.4.3.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-plugin-api\2.0.6\maven-plugin-api-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-project\2.0.6\maven-project-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-profile\2.0.6\maven-profile-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-artifact-manager\2.0.6\maven-artifact-manager-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-plugin-registry\2.0.6\maven-plugin-registry-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-core\2.0.6\maven-core-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\wagon\wagon-file\1.0-beta-2\wagon-file-1.0-beta-2.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-plugin-parameter-documenter\2.0.6\maven-plugin-parameter-documenter-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\wagon\wagon-http-lightweight\1.0-beta-2\wagon-http-lightweight-1.0-beta-2.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\wagon\wagon-http-shared\1.0-beta-2\wagon-http-shared-1.0-beta-2.jar;C:\Users\zhanglulu\.m2\repository\jtidy\jtidy\4aug2000r7-dev\jtidy-4aug2000r7-dev.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\reporting\maven-reporting-api\2.0.6\maven-reporting-api-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\doxia\doxia-sink-api\1.0-alpha-7\doxia-sink-api-1.0-alpha-7.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\wagon\wagon-provider-api\1.0-beta-2\wagon-provider-api-1.0-beta-2.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-repository-metadata\2.0.6\maven-repository-metadata-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-error-diagnostics\2.0.6\maven-error-diagnostics-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\commons-cli\commons-cli\1.0\commons-cli-1.0.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\wagon\wagon-ssh-external\1.0-beta-2\wagon-ssh-external-1.0-beta-2.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\wagon\wagon-ssh-common\1.0-beta-2\wagon-ssh-common-1.0-beta-2.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-plugin-descriptor\2.0.6\maven-plugin-descriptor-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\codehaus\plexus\plexus-interactivity-api\1.0-alpha-4\plexus-interactivity-api-1.0-alpha-4.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\wagon\wagon-ssh\1.0-beta-2\wagon-ssh-1.0-beta-2.jar;C:\Users\zhanglulu\.m2\repository\com\jcraft\jsch\0.1.27\jsch-0.1.27.jar;C:\Users\zhanglulu\.m2\repository\classworlds\classworlds\1.1\classworlds-1.1.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-artifact\2.0.6\maven-artifact-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-settings\2.0.6\maven-settings-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-model\2.0.6\maven-model-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\maven-monitor\2.0.6\maven-monitor-2.0.6.jar;C:\Users\zhanglulu\.m2\repository\org\codehaus\plexus\plexus-container-default\1.0-alpha-9-stable-1\plexus-container-default-1.0-alpha-9-stable-1.jar;C:\Users\zhanglulu\.m2\repository\org\codehaus\plexus\plexus-utils\2.0.5\plexus-utils-2.0.5.jar;C:\Users\zhanglulu\.m2\repository\org\apache\maven\shared\maven-filtering\1.0-beta-4\maven-filtering-1.0-beta-4.jar;C:\Users\zhanglulu\.m2\repository\org\sonatype\plexus\plexus-build-api\0.0.4\plexus-build-api-0.0.4.jar;C:\Users\zhanglulu\.m2\repository\org\codehaus\plexus\plexus-interpolation\1.13\plexus-interpolation-1.13.jar;C:\Users\zhanglulu\.m2\repository\javax\servlet\servlet-api\2.4\servlet-api-2.4.jar;C:\Users\zhanglulu\.m2\repository\javax\servlet\jsp\jsp-api\2.1\jsp-api-2.1.jar;C:\Users\zhanglulu\.m2\repository\com\alibaba\druid\1.0.6\druid-1.0.6.jar;C:\Users\zhanglulu\.m2\repository\cglib\cglib-nodep\2.1_3\cglib-nodep-2.1_3.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-core\3.1.4.RELEASE\spring-core-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-asm\3.1.4.RELEASE\spring-asm-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-context\3.1.4.RELEASE\spring-context-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-context-support\3.1.4.RELEASE\spring-context-support-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-beans\3.1.4.RELEASE\spring-beans-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-aop\3.1.4.RELEASE\spring-aop-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\aopalliance\aopalliance\1.0\aopalliance-1.0.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-expression\3.1.4.RELEASE\spring-expression-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-webmvc\3.1.4.RELEASE\spring-webmvc-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-jdbc\3.1.4.RELEASE\spring-jdbc-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-tx\3.1.4.RELEASE\spring-tx-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-orm\3.1.4.RELEASE\spring-orm-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-test\3.1.4.RELEASE\spring-test-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-web\3.1.4.RELEASE\spring-web-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\com\sun\jersey\contribs\jersey-spring\1.18.2\jersey-spring-1.18.2.jar;C:\Users\zhanglulu\.m2\repository\com\sun\jersey\jersey-servlet\1.18.2\jersey-servlet-1.18.2.jar;C:\Users\zhanglulu\.m2\repository\com\sun\jersey\jersey-server\1.18.2\jersey-server-1.18.2.jar;C:\Users\zhanglulu\.m2\repository\com\sun\jersey\jersey-core\1.18.2\jersey-core-1.18.2.jar;C:\Users\zhanglulu\.m2\repository\org\aspectj\aspectjweaver\1.6.8\aspectjweaver-1.6.8.jar;C:\Users\zhanglulu\.m2\repository\org\aspectj\aspectjrt\1.7.4\aspectjrt-1.7.4.jar;C:\Users\zhanglulu\.m2\repository\net\spy\spymemcached\2.11.4\spymemcached-2.11.4.jar;C:\Users\zhanglulu\.m2\repository\commons-logging\commons-logging\1.2\commons-logging-1.2.jar;C:\Users\zhanglulu\.m2\repository\commons-lang\commons-lang\2.4\commons-lang-2.4.jar;C:\Users\zhanglulu\.m2\repository\commons-collections\commons-collections\3.1\commons-collections-3.1.jar;C:\Users\zhanglulu\.m2\repository\commons-httpclient\commons-httpclient\3.1\commons-httpclient-3.1.jar;C:\Users\zhanglulu\.m2\repository\commons-codec\commons-codec\1.2\commons-codec-1.2.jar;C:\Users\zhanglulu\.m2\repository\javassist\javassist\3.4.GA\javassist-3.4.GA.jar;C:\Users\zhanglulu\.m2\repository\com\alibaba\dubbo\2.4.9\dubbo-2.4.9.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring\2.5.6.SEC03\spring-2.5.6.SEC03.jar;C:\Users\zhanglulu\.m2\repository\org\javassist\javassist\3.15.0-GA\javassist-3.15.0-GA.jar;C:\Users\zhanglulu\.m2\repository\org\jboss\netty\netty\3.2.5.Final\netty-3.2.5.Final.jar;C:\Users\zhanglulu\.m2\repository\org\apache\zookeeper\zookeeper\3.4.0\zookeeper-3.4.0.jar;C:\Users\zhanglulu\.m2\repository\jline\jline\0.9.94\jline-0.9.94.jar;C:\Users\zhanglulu\.m2\repository\com\github\sgroschupf\zkclient\0.1\zkclient-0.1.jar;C:\Users\zhanglulu\.m2\repository\org\mybatis\mybatis\3.2.8\mybatis-3.2.8.jar;C:\Users\zhanglulu\.m2\repository\org\mybatis\mybatis-spring\1.2.2\mybatis-spring-1.2.2.jar;C:\Users\zhanglulu\.m2\repository\mysql\mysql-connector-java\5.1.31\mysql-connector-java-5.1.31.jar;C:\Users\zhanglulu\.m2\repository\org\apache\httpcomponents\httpclient\4.3.4\httpclient-4.3.4.jar;C:\Users\zhanglulu\.m2\repository\org\eclipse\persistence\javax.persistence\2.1.0\javax.persistence-2.1.0.jar;C:\Users\zhanglulu\.m2\repository\log4j\log4j\1.2.17\log4j-1.2.17.jar;C:\Users\zhanglulu\.m2\repository\org\slf4j\slf4j-log4j12\1.7.5\slf4j-log4j12-1.7.5.jar;C:\Users\zhanglulu\.m2\repository\com\alibaba\fastjson\1.1.35\fastjson-1.1.35.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\data\spring-data-redis\1.0.2.RELEASE\spring-data-redis-1.0.2.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\slf4j\jcl-over-slf4j\1.6.6\jcl-over-slf4j-1.6.6.jar;C:\Users\zhanglulu\.m2\repository\redis\clients\jedis\2.8.0\jedis-2.8.0.jar;C:\Users\zhanglulu\.m2\repository\org\apache\commons\commons-pool2\2.4.2\commons-pool2-2.4.2.jar;C:\Users\zhanglulu\.m2\repository\org\mongodb\mongo-java-driver\2.10.1\mongo-java-driver-2.10.1.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\data\spring-data-mongodb\1.2.1.RELEASE\spring-data-mongodb-1.2.1.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\data\spring-data-commons\1.5.1.RELEASE\spring-data-commons-1.5.1.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\data\spring-data-mongodb-cross-store\1.2.1.RELEASE\spring-data-mongodb-cross-store-1.2.1.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-aspects\3.1.4.RELEASE\spring-aspects-3.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\cglib\cglib\2.2\cglib-2.2.jar;C:\Users\zhanglulu\.m2\repository\asm\asm\3.1\asm-3.1.jar;C:\Users\zhanglulu\.m2\repository\org\hibernate\javax\persistence\hibernate-jpa-2.0-api\1.0.0.Final\hibernate-jpa-2.0-api-1.0.0.Final.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\data\spring-data-mongodb-log4j\1.2.1.RELEASE\spring-data-mongodb-log4j-1.2.1.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\quartz-scheduler\quartz\2.2.1\quartz-2.2.1.jar;C:\Users\zhanglulu\.m2\repository\c3p0\c3p0\0.9.1.1\c3p0-0.9.1.1.jar;C:\Users\zhanglulu\.m2\repository\org\quartz-scheduler\quartz-jobs\2.2.1\quartz-jobs-2.2.1.jar;C:\Users\zhanglulu\.m2\repository\me\chanjar\weixin-java-mp\1.3.3\weixin-java-mp-1.3.3.jar;C:\Users\zhanglulu\.m2\repository\org\apache\httpcomponents\fluent-hc\4.5\fluent-hc-4.5.jar;C:\Users\zhanglulu\.m2\repository\com\google\code\gson\gson\2.2.2\gson-2.2.2.jar;C:\Users\zhanglulu\.m2\repository\commons-io\commons-io\2.4\commons-io-2.4.jar;C:\Users\zhanglulu\.m2\repository\me\chanjar\weixin-java-common\1.3.3\weixin-java-common-1.3.3.jar;C:\Users\zhanglulu\.m2\repository\org\apache\httpcomponents\httpcore\4.4.1\httpcore-4.4.1.jar;C:\Users\zhanglulu\.m2\repository\org\apache\kafka\kafka_2.10\0.8.2.1\kafka_2.10-0.8.2.1.jar;C:\Users\zhanglulu\.m2\repository\com\yammer\metrics\metrics-core\2.2.0\metrics-core-2.2.0.jar;C:\Users\zhanglulu\.m2\repository\org\scala-lang\scala-library\2.10.4\scala-library-2.10.4.jar;C:\Users\zhanglulu\.m2\repository\org\apache\kafka\kafka-clients\0.8.2.1\kafka-clients-0.8.2.1.jar;C:\Users\zhanglulu\.m2\repository\net\jpountz\lz4\lz4\1.2.0\lz4-1.2.0.jar;C:\Users\zhanglulu\.m2\repository\org\xerial\snappy\snappy-java\1.1.1.6\snappy-java-1.1.1.6.jar;C:\Users\zhanglulu\.m2\repository\net\sf\jopt-simple\jopt-simple\3.2\jopt-simple-3.2.jar;C:\Users\zhanglulu\.m2\repository\com\101tec\zkclient\0.3\zkclient-0.3.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\integration\spring-integration-kafka\1.2.0.RELEASE\spring-integration-kafka-1.2.0.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\apache\avro\avro-compiler\1.7.6\avro-compiler-1.7.6.jar;C:\Users\zhanglulu\.m2\repository\org\apache\velocity\velocity\1.7\velocity-1.7.jar;C:\Users\zhanglulu\.m2\repository\org\codehaus\jackson\jackson-core-asl\1.9.13\jackson-core-asl-1.9.13.jar;C:\Users\zhanglulu\.m2\repository\org\codehaus\jackson\jackson-mapper-asl\1.9.13\jackson-mapper-asl-1.9.13.jar;C:\Users\zhanglulu\.m2\repository\org\apache\avro\avro\1.7.6\avro-1.7.6.jar;C:\Users\zhanglulu\.m2\repository\com\thoughtworks\paranamer\paranamer\2.3\paranamer-2.3.jar;C:\Users\zhanglulu\.m2\repository\org\apache\commons\commons-compress\1.4.1\commons-compress-1.4.1.jar;C:\Users\zhanglulu\.m2\repository\org\tukaani\xz\1.0\xz-1.0.jar;C:\Users\zhanglulu\.m2\repository\com\yammer\metrics\metrics-annotation\2.2.0\metrics-annotation-2.2.0.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\integration\spring-integration-core\4.1.5.RELEASE\spring-integration-core-4.1.5.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\projectreactor\reactor-core\1.1.4.RELEASE\reactor-core-1.1.4.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\com\lmax\disruptor\3.2.1\disruptor-3.2.1.jar;C:\Users\zhanglulu\.m2\repository\io\gatling\jsr166e\1.0\jsr166e-1.0.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\spring-messaging\4.1.6.RELEASE\spring-messaging-4.1.6.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\org\springframework\retry\spring-retry\1.1.1.RELEASE\spring-retry-1.1.1.RELEASE.jar;C:\Users\zhanglulu\.m2\repository\com\goldmansachs\gs-collections\5.0.0\gs-collections-5.0.0.jar;C:\Users\zhanglulu\.m2\repository\com\goldmansachs\gs-collections-api\5.0.0\gs-collections-api-5.0.0.jar;C:\Users\zhanglulu\.m2\repository\javax\websocket\javax.websocket-api\1.1\javax.websocket-api-1.1.jar;C:\Users\zhanglulu\.m2\repository\dom4j\dom4j\1.6.1\dom4j-1.6.1.jar;C:\Users\zhanglulu\.m2\repository\xml-apis\xml-apis\1.0.b2\xml-apis-1.0.b2.jar;C:\Users\zhanglulu\.m2\repository\org\apache\poi\poi-ooxml\3.10-FINAL\poi-ooxml-3.10-FINAL.jar;C:\Users\zhanglulu\.m2\repository\org\apache\poi\poi\3.10-FINAL\poi-3.10-FINAL.jar;C:\Users\zhanglulu\.m2\repository\org\apache\poi\poi-ooxml-schemas\3.10-FINAL\poi-ooxml-schemas-3.10-FINAL.jar;C:\Users\zhanglulu\.m2\repository\org\apache\xmlbeans\xmlbeans\2.3.0\xmlbeans-2.3.0.jar;C:\Users\zhanglulu\.m2\repository\stax\stax-api\1.0.1\stax-api-1.0.1.jar;C:\Users\zhanglulu\.m2\repository\com\caucho\hessian\4.0.38\hessian-4.0.38.jar;C:\Users\zhanglulu\.m2\repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;C:\Users\zhanglulu\.m2\repository\com\thoughtworks\xstream\xstream\1.3.1\xstream-1.3.1.jar;C:\Users\zhanglulu\.m2\repository\xpp3\xpp3_min\1.1.4c\xpp3_min-1.1.4c.jar;C:\Users\zhanglulu\.m2\repository\org\apache\httpcomponents\httpmime\4.3.6\httpmime-4.3.6.jar;C:\Users\zhanglulu\.m2\repository\org\freemarker\freemarker\2.3.28\freemarker-2.3.28.jar;C:\Users\zhanglulu\.m2\repository\org\apache\pdfbox\pdfbox\2.0.15\pdfbox-2.0.15.jar;C:\Users\zhanglulu\.m2\repository\org\apache\pdfbox\fontbox\2.0.15\fontbox-2.0.15.jar
2019-06-12 11:49:27,273 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.library.path=C:\Program Files\Java\jdk1.8.0_101\bin;C:\windows\Sun\Java\bin;C:\windows\system32;C:\windows;C:/Program Files/Java/jre1.8.0_101/bin/server;C:/Program Files/Java/jre1.8.0_101/bin;C:/Program Files/Java/jre1.8.0_101/lib/amd64;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program Files\Intel\Intel(R) Management Engine Components\iCLS\;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\windows\System32\OpenSSH\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;D:\Program Files\Git\cmd;D:\Program Files\TortoiseSVN\bin;D:\apache-maven-3.6.0\bin;C:\Program Files\Java\jdk-11.0.1\bin;D:\apache-ant-1.10.5\bin;D:\安装软件\hadoop-2.6.5\bin;C:\Program Files\erl10.3\bin;C:\Users\zhanglulu\AppData\Local\Programs\Python\Python37\;C:\Users\zhanglulu\AppData\Local\Programs\Python\Python37\Scripts;C:\Users\zhanglulu\AppData\Local\Microsoft\WindowsApps;;C:\绿色软件\eclipse-jee-mars-2-win32-x86_64\eclipse;;.
2019-06-12 11:49:27,274 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.io.tmpdir=C:\Users\ZHANGL~1\AppData\Local\Temp\
2019-06-12 11:49:27,274 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:java.compiler=<NA>
2019-06-12 11:49:27,274 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:os.name=Windows 10
2019-06-12 11:49:27,274 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:os.arch=amd64
2019-06-12 11:49:27,274 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:os.version=10.0
2019-06-12 11:49:27,274 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:user.name=zhanglulu
2019-06-12 11:49:27,274 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:user.home=C:\Users\zhanglulu
2019-06-12 11:49:27,274 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:user.dir=D:\myfish\工程\workspace\mvnweb
2019-06-12 11:49:27,275 INFO [org.apache.zookeeper.ZooKeeper] - Initiating client connection, connectString=192.168.44.88:2181,192.168.44.88:2182,192.168.44.88:2183 sessionTimeout=30000 watcher=com.lock.zookeeper.ZkDistributeLock2@2a5ca609
2019-06-12 11:49:27,599 INFO [org.apache.zookeeper.ClientCnxn] - Opening socket connection to server /192.168.44.88:2181
2019-06-12 11:49:27,602 INFO [org.apache.zookeeper.ClientCnxn] - Socket connection established to hbase.domain/192.168.44.88:2181, initiating session
2019-06-12 11:49:27,608 INFO [org.apache.zookeeper.ClientCnxn] - Session establishment complete on server hbase.domain/192.168.44.88:2181, sessionid = 0x169d6b2eeee0013, negotiated timeout = 30000
goodsNum = 16
goodsNum = 14
goodsNum = 11
goodsNum = 9
goodsNum = 5
goodsNum = 3
商品卖完了----0
商品卖完了----0
商品卖完了----0
商品卖完了----0
商品卖完了----0
商品卖完了----0

三个客户端中goodsNum数量是符合和每次扣减之后的库存值的,并且没有超发和重复



版权声明:本文为zll441488958原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。