/**
* Start embed zookeeper server in a daemon thread.
*/
public static int startEmbedZooKeeper() throws IOException {
String zooKeeperWorkingDir = getZooKeeperWorkingDir();
boolean isSuccessful = createFolder(zooKeeperWorkingDir);
if(!isSuccessful) {
zooKeeperWorkingDir = getZooKeeperWorkingDir("zookeeper_" + System.currentTimeMillis());
createFolder(zooKeeperWorkingDir);
}
final String confName = zooKeeperWorkingDir + File.separator + "zoo.cfg";
int validZkPort = getValidZooKeeperPort();
prepZooKeeperConf(zooKeeperWorkingDir, confName, validZkPort + "");
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
QuorumPeerMain.main(new String[] { confName });
}
}, "Embed ZooKeeper");
thread.setDaemon(true);
thread.start();
final String cleanZkFolder = zooKeeperWorkingDir;
// used local data should be cleaned.
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
@Override
public void run() {
try {
FileUtils.deleteDirectory(new File(cleanZkFolder));
} catch (IOException ignore) {
}
}
}));
return validZkPort;
}
ZooKeeperUtils.java 文件源码
java
阅读 32
收藏 0
点赞 0
评论 0
项目:guagua
作者:
评论列表
文章目录