- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
本文整理了Java中com.liveramp.hank.zookeeper.ZooKeeperPlus
类的一些代码示例,展示了ZooKeeperPlus
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZooKeeperPlus
类的具体详情如下:
包路径:com.liveramp.hank.zookeeper.ZooKeeperPlus
类名称:ZooKeeperPlus
暂无
代码示例来源:origin: LiveRamp/hank
private int getNextDomainId() throws KeeperException, InterruptedException {
final String domainIdCounterPath = ZkPath.append(domainsRoot, KEY_DOMAIN_ID_COUNTER);
if (zk.exists(domainIdCounterPath, false) == null) {
zk.create(domainIdCounterPath, Integer.toString(1).getBytes());
return 1;
}
while (true) {
final Stat stat = new Stat();
final byte[] data = zk.getData(domainIdCounterPath, false, stat);
int lastVersionNumber = Integer.parseInt(new String(data));
try {
lastVersionNumber++;
zk.setData(domainIdCounterPath, Integer.toString(lastVersionNumber).getBytes(), stat.getVersion());
return lastVersionNumber;
} catch (KeeperException.BadVersionException e) {
if (LOG.isDebugEnabled()) {
LOG.debug("Tried to set the domain id counter to " + lastVersionNumber + " but was preempted by another writer. Retrying.");
}
}
}
}
代码示例来源:origin: LiveRamp/hank
public void deleteIfExists(String path) throws KeeperException, InterruptedException {
if (exists(path, false) != null) {
delete(path, -1);
}
}
代码示例来源:origin: LiveRamp/hank
public void ensureCreated(String path, byte[] value, CreateMode createMode) throws InterruptedException, KeeperException {
if (!path.isEmpty() && exists(path, false) == null) {
ensureCreated(new File(path).getParent(), null, createMode);
create(path, value, DEFAULT_ACL, createMode);
NodeCreationBarrier.block(ZooKeeperPlus.this, path);
}
}
代码示例来源:origin: LiveRamp/hank
public void shutdownZk() throws Exception {
if (zk != null && zk.getState() == States.CONNECTED) {
zk.close();
}
zk = null;
}
代码示例来源:origin: LiveRamp/hank
public void setOrCreate(String path, String value, CreateMode createMode) throws KeeperException, InterruptedException {
if (exists(path, false) == null) {
create(path, value.getBytes(), DEFAULT_ACL, createMode);
} else {
setData(path, value.getBytes(), -1);
}
}
代码示例来源:origin: LiveRamp/hank
public void create(String path, byte[] data, CreateMode createMode) throws KeeperException, InterruptedException {
create(path, data, DEFAULT_ACL, createMode);
}
代码示例来源:origin: LiveRamp/hank
@Override
public boolean isRingGroupConductorOnline() throws IOException {
try {
return zk.exists(ringGroupConductorOnlinePath, false) != null;
} catch (Exception e) {
throw new IOException(e);
}
}
代码示例来源:origin: LiveRamp/hank
public static ZkPartitionProperties create(ZooKeeperPlus zk, String partsRoot, int partNum, long numBytes, long numRecords) throws KeeperException, InterruptedException {
String partPath = ZkPath.append(partsRoot, nodeName(partNum));
// if the node already exists, then don't try to create a new one
if (zk.exists(partPath, false) == null) {
zk.create(partPath, null);
zk.createLong(ZkPath.append(partPath, "num_bytes"), numBytes);
zk.createLong(ZkPath.append(partPath, "num_records"), numRecords);
zk.create(ZkPath.append(partPath, DotComplete.NODE_NAME), null);
}
return new ZkPartitionProperties(zk, partPath);
}
代码示例来源:origin: LiveRamp/hank
String value = args[3];
System.out.println("Removing node value to: " + value + ", node: " + argument);
zkCli.zk.setString(argument, value);
} else if (command.equals("rmr")) {
System.out.println("Removing recursively node: " + argument);
zkCli.zk.deleteNodeRecursively(argument);
} else if (command.equals("null")) {
System.out.println("Setting node to null: " + argument);
zkCli.zk.setData(argument, null, -1);
} else if (command.equals("count")) {
System.out.println("Counting the number of descendants in: " + argument);
System.out.println("Result: " + count);
} else if (command.equals("ls")) {
List<String> children = zkCli.zk.getChildren(argument, false);
for (String child : children) {
System.out.println(ZkPath.append(argument, child));
代码示例来源:origin: LiveRamp/hank
final AtomicBoolean connected = new AtomicBoolean(false);
zk = new ZooKeeperPlus("127.0.0.1:" + zkClientPort, 1000000, new Watcher() {
@Override
public void process(WatchedEvent event) {
fail("timed out waiting for the zk client connection to come online!");
LOG.debug("session timeout: " + zk.getSessionTimeout());
zk.deleteNodeRecursively(zkRoot);
WaitUntil.orDie(() -> {
try {
return zk.exists(zkRoot, false) == null;
} catch (KeeperException | InterruptedException e) {
throw new RuntimeException(e);
代码示例来源:origin: LiveRamp/hank
protected void createNodeRecursively(String path)
throws Exception {
String[] toks = path.split("/");
String newPath = "/";
for (int i = 0; i < toks.length; i++) {
newPath += toks[i];
if (zk.exists(newPath, false) == null) {
zk.create(newPath, null, Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
}
if (i != 0) {
newPath += "/";
}
}
}
代码示例来源:origin: LiveRamp/hank
@Test
public void testIt() throws Exception {
final ZooKeeperPlus zk = getZk();
final String nodePath = ZkPath.append(getRoot(), "watchedNode");
zk.create(nodePath, "1".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
final WatchedLong wl = new WatchedLong(zk, nodePath);
assertEquals(Long.valueOf(1), wl.get());
zk.setData(nodePath, "55".getBytes(), -1);
WaitUntil.orDie(() -> Long.valueOf(55).equals(wl.get()));
assertEquals(Long.valueOf(55), wl.get());
zk.setData(nodePath, null, -1);
WaitUntil.orDie(() -> wl.get() == null);
assertNull(wl.get());
final WatchedLong wl2 = new WatchedLong(zk, nodePath);
WaitUntil.orDie(() -> null == wl2.get());
assertNull(wl2.get());
wl2.set(22L);
WaitUntil.orDie(() -> Long.valueOf(22).equals(wl2.get()) && Long.valueOf(22).equals(wl.get()));
assertEquals(Long.valueOf(22), wl2.get());
assertEquals(Long.valueOf(22), wl.get());
}
}
代码示例来源:origin: LiveRamp/hank
public String getString(String path) throws KeeperException, InterruptedException {
try {
byte[] data = getData(path, false, null);
if (data == null) {
return null;
}
return new String(data, "UTF-8");
} catch (UnsupportedEncodingException e) {
throw new RuntimeException(e);
}
}
代码示例来源:origin: LiveRamp/hank
public void deleteNodeRecursively(String path) throws InterruptedException, KeeperException {
try {
delete(path, -1);
} catch (KeeperException.NotEmptyException e) {
List<String> children = getChildren(path, null);
for (String child : children) {
deleteNodeRecursively(ZkPath.append(path, child));
}
delete(path, -1);
} catch (KeeperException.NoNodeException e) {
// Silently return if the node has already been deleted.
return;
}
}
代码示例来源:origin: LiveRamp/hank
public Long getLongOrNull(String path) throws KeeperException, InterruptedException {
if (exists(path, false) == null) {
return null;
} else {
return Long.parseLong(new String(getData(path, false, new Stat())));
}
}
代码示例来源:origin: LiveRamp/hank
@Override
public HostCommand nextCommand() throws IOException {
try {
// get the queue and sort so we have correct ordering
List<String> children = zk.getChildren(ZkPath.append(path, COMMAND_QUEUE_PATH), false);
Collections.sort(children);
// if there are no children, the queue is empty.
if (children.size() == 0) {
currentCommand.set(null);
return null;
}
// parse out the actual command
String headOfQueuePath = ZkPath.append(path, COMMAND_QUEUE_PATH, children.get(0));
HostCommand nextCommand = HostCommand.valueOf(zk.getString(headOfQueuePath));
// set the current command first (modifying the queue will call the queue listeners)
currentCommand.set(nextCommand);
// delete the head of the queue
zk.delete(headOfQueuePath, -1);
return nextCommand;
} catch (Exception e) {
throw new IOException(e);
}
}
代码示例来源:origin: LiveRamp/hank
public void ensureCreated(String path, byte[] value) throws InterruptedException, KeeperException {
ensureCreated(path, value, DEFAULT_CREATE_MODE);
}
代码示例来源:origin: LiveRamp/hank
@Test
public void testIt() throws Exception {
final ZooKeeperPlus zk = getZk();
zk.ensureCreated("/", null, CreateMode.PERSISTENT);
assertExists("/", zk);
zk.ensureCreated("/simple", "1".getBytes(), CreateMode.PERSISTENT);
assertExists("/simple", zk);
zk.ensureCreated("/simple", "2".getBytes(), CreateMode.PERSISTENT);
assertExists("/simple", zk);
assertTrue(Arrays.equals(zk.getData("/simple", false, null), "1".getBytes()));
zk.ensureCreated("/deeper/file", null, CreateMode.PERSISTENT);
assertExists("/deeper/file", zk);
assertExists("/deeper", zk);
zk.ensureCreated("/simple/even/deeper", "3".getBytes(), CreateMode.PERSISTENT);
assertTrue(Arrays.equals(zk.getData("/simple", false, null), "1".getBytes()));
}
代码示例来源:origin: LiveRamp/hank
@Test
public void testIt() throws Exception {
final ZooKeeperPlus zk = getZk();
final String colRoot = ZkPath.append(getRoot(), "collection");
zk.create(colRoot, null, Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
final ElementLoader<String> elementLoader = (zk1, basePath, relPath) -> {
try {
return new String(zk1.getData(ZkPath.append(basePath, relPath), false, new Stat()));
} catch (Exception e) {
throw new RuntimeException(e);
}
};
final WatchedMap<String> c1 = new WatchedMap<>(zk, colRoot, elementLoader);
dumpZk();
WaitUntil.orDie(() -> 0 == c1.size());
assertEquals(0, c1.size());
zk.create(ZkPath.append(colRoot, "first"), "data".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
WaitUntil.orDie(() -> 1 == c1.size());
assertEquals(1, c1.size());
}
代码示例来源:origin: LiveRamp/hank
@Test
public void testDeletion() throws Exception {
getZk().create(ZkPath.append(getRoot(), "map"), null, Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
getZk().create(ZkPath.append(getRoot(), "map/1"), "2".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
final WatchedMap<String> m = new WatchedMap<>(getZk(), ZkPath.append(getRoot(), "map"), new StringElementLoader());
assertEquals(new HashMap<String, String>() {{
put("1", "2");
}}, m);
getZk().delete(ZkPath.append(getRoot(), "map/1"), 0);
WaitUntil.orDie(() -> Collections.EMPTY_MAP.equals(m));
assertEquals(Collections.EMPTY_MAP, m);
}
}
我在网上搜索但没有找到任何合适的文章解释如何使用 javascript 使用 WCF 服务,尤其是 WebScriptEndpoint。 任何人都可以对此给出任何指导吗? 谢谢 最佳答案 这是一篇关于
我正在编写一个将运行 Linux 命令的 C 程序,例如: cat/etc/passwd | grep 列表 |剪切-c 1-5 我没有任何结果 *这里 parent 等待第一个 child (chi
所以我正在尝试处理文件上传,然后将该文件作为二进制文件存储到数据库中。在我存储它之后,我尝试在给定的 URL 上提供文件。我似乎找不到适合这里的方法。我需要使用数据库,因为我使用 Google 应用引
我正在尝试制作一个宏,将下面的公式添加到单元格中,然后将其拖到整个列中并在 H 列中复制相同的公式 我想在 F 和 H 列中输入公式的数据 Range("F1").formula = "=IF(ISE
问题类似于this one ,但我想使用 OperatorPrecedenceParser 解析带有函数应用程序的表达式在 FParsec . 这是我的 AST: type Expression =
我想通过使用 sequelize 和 node.js 将这个查询更改为代码取决于在哪里 select COUNT(gender) as genderCount from customers where
我正在使用GNU bash,版本5.0.3(1)-发行版(x86_64-pc-linux-gnu),我想知道为什么简单的赋值语句会出现语法错误: #/bin/bash var1=/tmp
这里,为什么我的代码在 IE 中不起作用。我的代码适用于所有浏览器。没有问题。但是当我在 IE 上运行我的项目时,它发现错误。 而且我的 jquery 类和 insertadjacentHTMl 也不
我正在尝试更改标签的innerHTML。我无权访问该表单,因此无法编辑 HTML。标签具有的唯一标识符是“for”属性。 这是输入和标签的结构:
我有一个页面,我可以在其中返回用户帖子,可以使用一些 jquery 代码对这些帖子进行即时评论,在发布新评论后,我在帖子下插入新评论以及删除 按钮。问题是 Delete 按钮在新插入的元素上不起作用,
我有一个大约有 20 列的“管道分隔”文件。我只想使用 sha1sum 散列第一列,它是一个数字,如帐号,并按原样返回其余列。 使用 awk 或 sed 执行此操作的最佳方法是什么? Accounti
我需要将以下内容插入到我的表中...我的用户表有五列 id、用户名、密码、名称、条目。 (我还没有提交任何东西到条目中,我稍后会使用 php 来做)但由于某种原因我不断收到这个错误:#1054 - U
所以我试图有一个输入字段,我可以在其中输入任何字符,但然后将输入的值小写,删除任何非字母数字字符,留下“。”而不是空格。 例如,如果我输入: 地球的 70% 是水,-!*#$^^ & 30% 土地 输
我正在尝试做一些我认为非常简单的事情,但出于某种原因我没有得到想要的结果?我是 javascript 的新手,但对 java 有经验,所以我相信我没有使用某种正确的规则。 这是一个获取输入值、检查选择
我想使用 angularjs 从 mysql 数据库加载数据。 这就是应用程序的工作原理;用户登录,他们的用户名存储在 cookie 中。该用户名显示在主页上 我想获取这个值并通过 angularjs
我正在使用 autoLayout,我想在 UITableViewCell 上放置一个 UIlabel,它应该始终位于单元格的右侧和右侧的中心。 这就是我想要实现的目标 所以在这里你可以看到我正在谈论的
我需要与 MySql 等效的 elasticsearch 查询。我的 sql 查询: SELECT DISTINCT t.product_id AS id FROM tbl_sup_price t
我正在实现代码以使用 JSON。 func setup() { if let flickrURL = NSURL(string: "https://api.flickr.com/
我尝试使用for循环声明变量,然后测试cols和rols是否相同。如果是,它将运行递归函数。但是,我在 javascript 中执行 do 时遇到问题。有人可以帮忙吗? 现在,在比较 col.1 和
我举了一个我正在处理的问题的简短示例。 HTML代码: 1 2 3 CSS 代码: .BB a:hover{ color: #000; } .BB > li:after {
我是一名优秀的程序员,十分优秀!