package com.neverwinterdp.vm.tool; import com.neverwinterdp.registry.RegistryException; import com.neverwinterdp.util.FileUtil; import com.neverwinterdp.vm.client.LocalVMClient; import com.neverwinterdp.vm.client.VMClient; import com.neverwinterdp.zk.tool.server.EmbededZKServer; public class VMZKClusterBuilder extends VMClusterBuilder { private String baseDir = "./build/cluster"; protected EmbededZKServer zookeeperServer ; public VMZKClusterBuilder() throws RegistryException { this(new LocalVMClient()); } public VMZKClusterBuilder(VMClient vmClient) throws RegistryException { super(vmClient); } public VMZKClusterBuilder(String baseDir, VMClient vmClient) throws Exception { super(vmClient); this.baseDir = baseDir ; } @Override public void clean() throws Exception { super.clean(); FileUtil.removeIfExist(baseDir, false); } @Override public void start() throws Exception { starZookeeper(); super.start(); } public void starZookeeper() throws Exception { zookeeperServer = new EmbededZKServer(baseDir + "/zookeeper-1", 2181); zookeeperServer.start(); } @Override public void shutdown() throws Exception { super.shutdown(); zookeeperServer.shutdown(); } }