- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
本文整理了Java中com.alibaba.otter.shared.common.utils.zookeeper.ZkClientx
类的一些代码示例,展示了ZkClientx
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZkClientx
类的具体详情如下:
包路径:com.alibaba.otter.shared.common.utils.zookeeper.ZkClientx
类名称:ZkClientx
[英]使用自定义的ZooKeeperx for zk connection
[中]使用自定义的zk连接用ZooKeeperx
代码示例来源:origin: com.alibaba.otter/shared.common
public ZkClientx apply(String servers) {
return new ZkClientx(servers);
}
});
代码示例来源:origin: com.alibaba.otter/shared.arbitrate
public static void destory() {
for (ZkClientx zkClient : clients.values()) {
zkClient.close();
}
}
代码示例来源:origin: com.alibaba.otter/shared.common
/**
* Create a persistent Sequential node.
*
* @param path
* @param data
* @param createParents if true all parent dirs are created as well and no {@link ZkNodeExistsException} is thrown
* in case the path already exists
* @throws ZkInterruptedException if operation was interrupted, or a required reconnection got interrupted
* @throws IllegalArgumentException if called from anything except the ZooKeeper event thread
* @throws ZkException if any ZooKeeper exception occurred
* @throws RuntimeException if any other exception occurs
*/
public void createPersistent(String path, Object data, boolean createParents) throws ZkInterruptedException,
IllegalArgumentException, ZkException,
RuntimeException {
try {
create(path, data, CreateMode.PERSISTENT);
} catch (ZkNodeExistsException e) {
if (!createParents) {
throw e;
}
} catch (ZkNoNodeException e) {
if (!createParents) {
throw e;
}
String parentDir = path.substring(0, path.lastIndexOf('/'));
createPersistent(parentDir, createParents);
createPersistent(path, data, createParents);
}
}
代码示例来源:origin: com.alibaba.otter/shared.common
@Override
public List<String> call() throws Exception {
exists(path, true);
try {
return getChildren(path, true);
} catch (ZkNoNodeException e) {
// ignore, the "exists" watch will listen for the parent node to appear
}
return null;
}
});
代码示例来源:origin: com.alibaba.otter/shared.common
@SuppressWarnings("unchecked")
public <T extends Object> T readData(String path, Stat stat) {
return (T) readData(path, stat, hasListeners(path));
}
代码示例来源:origin: com.alibaba.otter/shared.common
public boolean exists(final String path) {
return exists(path, hasListeners(path));
}
代码示例来源:origin: com.alibaba.otter/shared.arbitrate
byte[] bytes = zookeeper.readData(mainStemPath, true);
if (bytes == null) {
return;
List<String> currentProcesses = zookeeper.getChildren(path);
size = ArbitrateConfigUtils.getParallelism(getPipelineId()) - currentProcesses.size();
if (size > 0) {// 创建一个节点
nodeData.setNid(ArbitrateConfigUtils.getCurrentNid());
byte[] nodeBytes = JsonUtils.marshalToByte(nodeData);
String processPath = zookeeper.create(path + "/", nodeBytes, CreateMode.PERSISTENT_SEQUENTIAL);
代码示例来源:origin: com.alibaba.otter/shared.common
public boolean deleteRecursive(String path) {
List<String> children;
try {
children = getChildren(path, false);
} catch (ZkNoNodeException e) {
return true;
}
for (String subPath : children) {
if (!deleteRecursive(path + "/" + subPath)) {
return false;
}
}
return delete(path);
}
代码示例来源:origin: com.alibaba.otter/shared.common
public <T extends Object> T readData(String path, boolean returnNullIfPathNotExists) {
T data = null;
try {
data = (T) readData(path, null);
} catch (ZkNoNodeException e) {
if (!returnNullIfPathNotExists) {
throw e;
}
}
return data;
}
代码示例来源:origin: com.alibaba.otter/shared.common
/**
* Create a persistent Sequential node.
*
* @param path
* @param createParents if true all parent dirs are created as well and no {@link ZkNodeExistsException} is thrown
* in case the path already exists
* @throws ZkInterruptedException if operation was interrupted, or a required reconnection got interrupted
* @throws IllegalArgumentException if called from anything except the ZooKeeper event thread
* @throws ZkException if any ZooKeeper exception occurred
* @throws RuntimeException if any other exception occurs
*/
public String createPersistentSequential(String path, boolean createParents) throws ZkInterruptedException,
IllegalArgumentException, ZkException,
RuntimeException {
try {
return create(path, null, CreateMode.PERSISTENT_SEQUENTIAL);
} catch (ZkNoNodeException e) {
if (!createParents) {
throw e;
}
String parentDir = path.substring(0, path.lastIndexOf('/'));
createPersistent(parentDir, createParents);
return createPersistentSequential(path, createParents);
}
}
代码示例来源:origin: com.alibaba.otter/shared.common
/**
* Create an ephemeral node.
*
* @param path
* @throws ZkInterruptedException if operation was interrupted, or a required reconnection got interrupted
* @throws IllegalArgumentException if called from anything except the ZooKeeper event thread
* @throws ZkException if any ZooKeeper exception occurred
* @throws RuntimeException if any other exception occurs
*/
public void createEphemeral(final String path) throws ZkInterruptedException, IllegalArgumentException,
ZkException, RuntimeException {
create(path, null, CreateMode.EPHEMERAL);
}
代码示例来源:origin: com.alibaba.otter/shared.arbitrate
byte[] data = zookeeper.readData(path);
return JsonUtils.unmarshalFromByte(data, EtlEventData.class);// 反序列化并返回
} catch (ZkNoNodeException e) {
zookeeper.delete(path);
return await(pipelineId);// 出现rollback情况,递归调用重新获取一次,当前的processId可丢弃
代码示例来源:origin: com.alibaba.otter/shared.arbitrate
public NodeMonitor(){
childListener = new IZkChildListener() {
public void handleChildChange(String parentPath, List<String> currentChilds) throws Exception {
if (currentChilds != null) {
initNodes(currentChilds);
}
}
};
List<String> childs = zookeeper.subscribeChildChanges(ArbitrateConstants.NODE_NID_ROOT, childListener);
if (childs == null) {//如果为null,代表系统节点为初始化
try {
zookeeper.createPersistent(ArbitrateConstants.NODE_NID_ROOT, true);
} catch (ZkNodeExistsException e) {
//ignore
}
childs = zookeeper.getChildren(ArbitrateConstants.NODE_NID_ROOT);
}
initNodes(childs);
// syncNodes();// 开始监视node节点的变化
MonitorScheduler.register(this);
}
代码示例来源:origin: com.alibaba.otter/shared.arbitrate
/**
* 释放锁对象
*/
public void unlock() throws KeeperException {
if (id != null) {
zookeeper.delete(root + "/" + id);
id = null;
idName = null;
} else {
// do nothing
}
}
代码示例来源:origin: com.alibaba.otter/shared.common
/**
* Counts number of children for the given path.
*
* @param path
* @return number of children or 0 if path does not exist.
*/
public int countChildren(String path) {
try {
return getChildren(path).size();
} catch (ZkNoNodeException e) {
return 0;
}
}
代码示例来源:origin: com.alibaba.otter/shared.common
/**
* Updates data of an existing znode. The current content of the znode is passed to the {@link DataUpdater} that is
* passed into this method, which returns the new content. The new content is only written back to ZooKeeper if
* nobody has modified the given znode in between. If a concurrent change has been detected the new data of the
* znode is passed to the updater once again until the new contents can be successfully written back to ZooKeeper.
*
* @param <T>
* @param path The path of the znode.
* @param updater Updater that creates the new contents.
*/
public <T extends Object> void updateDataSerialized(String path, DataUpdater<T> updater) {
Stat stat = new Stat();
boolean retry;
do {
retry = false;
try {
T oldData = (T) readData(path, stat);
T newData = updater.update(oldData);
writeData(path, newData, stat.getVersion());
} catch (ZkBadVersionException e) {
retry = true;
}
} while (retry);
}
代码示例来源:origin: com.alibaba.otter/shared.common
boolean started = false;
try {
getEventLock().lockInterruptibly();
setShutdownTrigger(false);
_eventThread = new ZkEventThread(_connection.getServers());
_eventThread.start();
if (!waitUntilConnected(maxMsToWaitUntilConnected, TimeUnit.MILLISECONDS)) {
throw new ZkTimeoutException("Unable to connect to zookeeper server within timeout: "
+ maxMsToWaitUntilConnected);
throw new IllegalStateException("Not connected with zookeeper server yet. Current state is " + state);
} finally {
getEventLock().unlock();
close();
代码示例来源:origin: com.alibaba.otter/shared.arbitrate
String prefix = "x-" + sessionId + "-";
String path = zookeeper.create(root + "/" + prefix, data, CreateMode.EPHEMERAL_SEQUENTIAL);
int index = path.lastIndexOf("/");
id = StringUtils.substring(path, index + 1);
List<String> names = zookeeper.getChildren(root);
if (names.isEmpty()) {
logger.warn("lock lost with scene:empty list, id[] and node[]", id, idName);
lastChildId = lastChildName.getName();
IZkConnection connection = zookeeper.getConnection();
代码示例来源:origin: com.alibaba.otter/shared.common
@Override
public void run() throws Exception {
// reinstall watch
exists(path, true);
try {
Object data = readData(path, null, true);
listener.handleDataChange(path, data);
} catch (ZkNoNodeException e) {
listener.handleDataDeleted(path);
}
}
});
代码示例来源:origin: com.alibaba.otter/shared.common
public void writeData(String path, Object object) {
writeData(path, object, -1);
}
我正在对 Share 开发和执行一些自定义。我的 IDE 是 Eclipse Juno,工作区由以下元素组成: 露天网络项目 扩展 Java 项目 分享网站项目 alfresco 和 share we
这是我一直面临的一个非常奇怪的问题。我正在使用 Share.share,它将消息、主题 (ios) 和标题(对于 gmail)作为参数。在android中它工作正常。即主题行是“我是标题”,而消息正文
当在static上下文中未使用而不是时(也就是说,当static关键字不存在并且您不在全局范围内时),shared和__gshared关键字有什么作用? 例子: struct Temp {
我想知道如何从 Surf 中的 Root 对象知道当前主机名。 我正在编写一个服务于 JNLP 的网络脚本,所以我没有页面上下文,并且 ${url.context} 只返回 /share。 我正在寻找
我想知道如何从 Surf 中的 Root 对象知道当前主机名。 我正在编写一个服务于 JNLP 的网络脚本,所以我没有页面上下文,并且 ${url.context} 只返回 /share。 我正在寻找
我需要在 Alfresco Share 上下文中创建一个无需身份验证即可访问的页面。使用页面框架时,它看起来非常简单,因为您可以添加 none到页面定义。 当使用 aikau 时,页面定义消失了,我只
我有执行REST命令并处理结果的python脚本。我希望该脚本可被不同的Jenkins Pipelines使用,我通过Jenkins官方文档发现的一种方式是使用“共享库”,而这些示例(以及我在网上找到
查看此函数(矩阵 vector 积): std::vector times(std::vector > const& A, std::vector const& b, int m, int n) {
我正在尝试弄清楚如何与 Alfresco Share 执行一些 dashlet 间通信。 这是一个简单的用例: 我们确实有 2 个 dashlet,我们称它们为 A 和 B。我希望能够在 A 中填写字
是否可以在 Snowflake 的 FUNCTION 或 PROCEDURE 中发出“Show Shares”函数调用?由于信息架构中没有元数据对象来查询有关共享的信息,因此我们正在寻找一种方法来创建
我对“无共享”分布式系统的理解是集群中的每个节点都有自己的磁盘可以持久化。如果是这种情况,我不确定为什么拥有这样的架构会有好处,因为您不仅需要在应用程序级别进行复制/负载平衡/集群,而且还需要在磁盘上
我对“无共享”分布式系统的理解是集群中的每个节点都有自己的磁盘可以持久化。如果是这种情况,我不确定为什么拥有这样的架构会有好处,因为您不仅需要在应用程序级别进行复制/负载平衡/集群,而且还需要在磁盘上
在 Alfresco 4.0 中,我想扩展 Share Doclib Filter webscript 以添加我自己的自定义过滤器。 有没有一种简单的方法可以在 share-config-custom
假设我要匹配: PREFIXsomething 或: somethingPOSTFIX 但肯定不是: PREFIXsomethingPOSTFIX 其中 something 是某种共享模式,而 PRE
我正在寻找一种使用 JavaScript 在 google drive sdk 上查找用户共享文件列表的方法。 重要提示:我不是在寻找“与我共享”的文件列表。 我目前所拥有的列出了“与我共享”的文件,
最近刚开始使用 swifting,在使用应用程序组在 iOS 设备之间共享数据时遇到了问题。 基本上我已经按照以下步骤设置了项目: [iPhone] 为 iPhone 目标启用应用程序组 初始化数据如
我知道 -Wl,-shared 是 ld 的一个选项。我见过有人这样编译, $ gcc -shared -Wl,-soname,libtest.so -o libtest.so *.o 还有这样的人
我想知道对这句名言最接地气的解释是什么: Don't communicate by sharing memory; share memory by communicating. (R. Pike) 在
我不确定我在这里做错了什么,我认为应该有更多的文档或关于这个Web Share API的更好的错误描述。。我正在尝试共享以下文件。使用。我已经确保该类型是允许的类型,但我一直收到DOMExceptio
我正在研究 RxSwift 和 RxCocoa。官方文档中有这些解释。 分享副作用 分享资源 它们是一样的吗?如果有区别,那有什么区别?光看官方文档的解释,我看不懂。 预先感谢您的回答。 最佳答案 文
我是一名优秀的程序员,十分优秀!