- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
本文整理了Java中com.spotify.helios.servicescommon.coordination.ZooKeeperClient.ensurePath()
方法的一些代码示例,展示了ZooKeeperClient.ensurePath()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZooKeeperClient.ensurePath()
方法的具体详情如下:
包路径:com.spotify.helios.servicescommon.coordination.ZooKeeperClient
类名称:ZooKeeperClient
方法名:ensurePath
[英]Ensure a path exists. Any node in the path that does not exist will be created. If the base of the path does not exist it will be created with the supplied data.
[中]确保路径存在。将创建路径中不存在的任何节点。如果路径的基础不存在,将使用提供的数据创建它。
代码示例来源:origin: spotify/helios
@Override
public void ensurePath(String path) throws KeeperException {
reporter.time(tag, "ensurePath", () -> {
client.ensurePath(path);
return null;
});
}
代码示例来源:origin: spotify/helios
@Override
public void ensurePath(String path, boolean excludingLast) throws KeeperException {
reporter.time(tag, "ensurePath", () -> {
client.ensurePath(path, excludingLast);
return null;
});
}
代码示例来源:origin: spotify/helios
public static void registerHost(final ZooKeeperClient client, final String idPath,
final String hostname, final String hostId)
throws KeeperException {
log.info("registering host: {}", hostname);
// This would've been nice to do in a transaction but PathChildrenCache ensures paths
// so we can't know what paths already exist so assembling a suitable transaction is too
// painful.
client.ensurePath(Paths.configHost(hostname));
client.ensurePath(Paths.configHostJobs(hostname));
client.ensurePath(Paths.configHostPorts(hostname));
client.ensurePath(Paths.statusHost(hostname));
client.ensurePath(Paths.statusHostJobs(hostname));
// Finish registration by creating the id node last
client.createAndSetData(idPath, hostId.getBytes(UTF_8));
}
代码示例来源:origin: spotify/helios
@Override
public boolean tryToRegister(final ZooKeeperClient client) throws KeeperException {
client.ensurePath(Paths.configHosts());
client.ensurePath(Paths.configJobs());
client.ensurePath(Paths.configJobRefs());
client.ensurePath(Paths.statusHosts());
client.ensurePath(Paths.statusMasters());
client.ensurePath(Paths.historyJobs());
client.ensurePath(Paths.configDeploymentGroups());
client.ensurePath(Paths.statusDeploymentGroups());
if (upNode == null) {
final String upPath = Paths.statusMasterUp(name);
client.ensurePath(upPath, true);
upNode = client.persistentEphemeralNode(upPath, Mode.EPHEMERAL, new byte[]{});
upNode.start();
}
log.info("ZooKeeper registration complete");
return true;
}
}
代码示例来源:origin: spotify/helios
final String upPath = Paths.statusHostUp(name);
log.debug("Creating up node: {}", upPath);
client.ensurePath(upPath, true);
upNode = client.persistentEphemeralNode(upPath, EPHEMERAL, EMPTY_BYTES);
upNode.start();
代码示例来源:origin: spotify/helios
final ZooKeeperClient client = provider.get("removeDeploymentGroup");
try {
client.ensurePath(Paths.configDeploymentGroups());
client.ensurePath(Paths.statusDeploymentGroups());
client.ensurePath(Paths.statusDeploymentGroupTasks());
代码示例来源:origin: spotify/helios
@Test
public void testZooKeeperClient() throws Exception {
// Create the cluster ID node
zk().curatorWithSuperAuth().newNamespaceAwareEnsurePath(Paths.configId(zkClusterId))
.ensure(zk().curatorWithSuperAuth().getZookeeperClient());
// We need to create a new curator because ZooKeeperClient will try to start it,
// and zk().curator() has already been started.
final ExponentialBackoffRetry retryPolicy = new ExponentialBackoffRetry(1000, 3);
final CuratorFramework curator = CuratorFrameworkFactory.builder()
.retryPolicy(retryPolicy)
.connectString(zk().connectString())
.build();
final ZooKeeperClient client = new DefaultZooKeeperClient(curator, zkClusterId);
client.start();
// This should work since the cluster ID exists
client.create("/test");
// Now let's remove the cluster ID
client.delete(Paths.configId(zkClusterId));
// Sleep so the watcher thread in ZooKeeperClient has a chance to update state
Thread.sleep(500);
// Try the same operation again, and it should fail this time
try {
client.ensurePath(Paths.configJobs());
fail("ZooKeeper operation should have failed because cluster ID was removed");
} catch (IllegalStateException ignore) {
// ignored
}
}
代码示例来源:origin: spotify/helios
client.ensurePath(Paths.statusDeploymentGroupTasks());
代码示例来源:origin: spotify/helios
public RollingUpdateOp start(final DeploymentGroup deploymentGroup,
final ZooKeeperClient client) throws KeeperException {
client.ensurePath(Paths.statusDeploymentGroupTasks());
代码示例来源:origin: spotify/helios
item.getTimestamp());
client.ensurePath(historyPath, true);
client.createAndSetData(historyPath, item.getStatus().toJsonBytes());
代码示例来源:origin: spotify/helios
client.ensurePath(Paths.configDeploymentGroups());
client.ensurePath(Paths.statusDeploymentGroups());
client.transaction(
create(Paths.configDeploymentGroup(deploymentGroup.getName()), deploymentGroup),
代码示例来源:origin: spotify/helios
try {
try {
client.ensurePath(Paths.historyJob(id));
client.transaction(create(Paths.configJob(id), job),
create(Paths.configJobRefShort(id), id),
代码示例来源:origin: at.molindo/helios-services
@Override
public void ensurePath(String path) throws KeeperException {
try {
client.ensurePath(path);
} catch (KeeperException e) {
reporter.checkException(e, tag, "ensurePath");
throw e;
}
}
代码示例来源:origin: at.molindo/helios-services
@Override
public void ensurePath(String path, boolean excludingLast) throws KeeperException {
try {
client.ensurePath(path, excludingLast);
} catch (KeeperException e) {
reporter.checkException(e, tag, "ensurePath");
throw e;
}
}
代码示例来源:origin: at.molindo/helios-services
@Override
public void tryToRegister(final ZooKeeperClient client) throws KeeperException {
client.ensurePath(Paths.configHosts());
client.ensurePath(Paths.configJobs());
client.ensurePath(Paths.configJobRefs());
client.ensurePath(Paths.statusHosts());
client.ensurePath(Paths.statusMasters());
client.ensurePath(Paths.historyJobs());
client.ensurePath(Paths.configDeploymentGroups());
client.ensurePath(Paths.statusDeploymentGroups());
if (upNode == null) {
final String upPath = Paths.statusMasterUp(name);
upNode = client.persistentEphemeralNode(upPath, Mode.EPHEMERAL, new byte[]{});
upNode.start();
}
log.info("ZooKeeper registration complete");
}
}
代码示例来源:origin: at.molindo/helios-services
/**
* Registers a host into ZooKeeper. The {@code id} is initially generated randomly by the Agent
* and persisted on disk. This way, in the event that you have two agents attempting to register
* with the same value of @{code host}, the first one will win.
*/
@Override
public void registerHost(final String host, final String id) {
log.info("registering host: {}", host);
final ZooKeeperClient client = provider.get("registerHost");
try {
// TODO (dano): this code is replicated in AgentZooKeeperRegistrar
// This would've been nice to do in a transaction but PathChildrenCache ensures paths
// so we can't know what paths already exist so assembling a suitable transaction is too
// painful.
client.ensurePath(Paths.configHost(host));
client.ensurePath(Paths.configHostJobs(host));
client.ensurePath(Paths.configHostPorts(host));
client.ensurePath(Paths.statusHost(host));
client.ensurePath(Paths.statusHostJobs(host));
// Finish registration by creating the id node last
client.createAndSetData(Paths.configHostId(host), id.getBytes(UTF_8));
} catch (Exception e) {
throw new HeliosRuntimeException("registering host " + host + " failed", e);
}
}
代码示例来源:origin: at.molindo/helios-services
private boolean tryWriteToZooKeeper(TEvent event) {
final String eventsPath = getZkEventsPath(event);
try {
log.debug("writing queued event to zookeeper {} {}", getKey(event),
getTimestamp(event));
client.ensurePath(eventsPath);
client.createAndSetData(getZkEventPath(eventsPath, getTimestamp(event)), toBytes(event));
// See if too many
final List<String> events = client.getChildren(eventsPath);
if (events.size() > getMaxEventsPerPath()) {
trimStatusEvents(events, eventsPath);
}
} catch (NodeExistsException e) {
// Ahh, the two generals problem... We handle by doing nothing since the thing
// we wanted in, is in.
log.debug("event we wanted in is already there");
} catch (ConnectionLossException e) {
log.warn("Connection lost while putting event into zookeeper, will retry");
return false;
} catch (KeeperException e) {
log.error("Error putting event into zookeeper, will retry", e);
return false;
}
return true;
}
代码示例来源:origin: at.molindo/helios-services
@Override
public void addDeploymentGroup(final DeploymentGroup deploymentGroup)
throws DeploymentGroupExistsException {
log.info("adding deployment-group: {}", deploymentGroup);
final ZooKeeperClient client = provider.get("addDeploymentGroup");
try {
try {
client.ensurePath(Paths.configDeploymentGroups());
client.ensurePath(Paths.statusDeploymentGroups());
client.transaction(
create(Paths.configDeploymentGroup(deploymentGroup.getName()), deploymentGroup),
create(Paths.statusDeploymentGroup(deploymentGroup.getName())),
create(Paths.statusDeploymentGroupHosts(deploymentGroup.getName()))
);
} catch (final NodeExistsException e) {
throw new DeploymentGroupExistsException(deploymentGroup.getName());
}
} catch (final KeeperException e) {
throw new HeliosRuntimeException("adding deployment-group " + deploymentGroup + " failed", e);
}
}
代码示例来源:origin: at.molindo/helios-services
@Override
public void stopDeploymentGroup(final String deploymentGroupName)
throws DeploymentGroupDoesNotExistException {
checkNotNull(deploymentGroupName, "name");
log.info("stop deployment-group: name={}", deploymentGroupName);
final ZooKeeperClient client = provider.get("stopDeploymentGroup");
final DeploymentGroup deploymentGroup = getDeploymentGroup(deploymentGroupName);
final String statusPath = Paths.statusDeploymentGroup(deploymentGroupName);
final DeploymentGroupStatus status = DeploymentGroupStatus.newBuilder()
.setDeploymentGroup(deploymentGroup)
.setState(FAILED)
.setError("Stopped by user")
.build();
try {
client.ensurePath(statusPath);
client.transaction(set(statusPath, status));
} catch (final NoNodeException e) {
throw new DeploymentGroupDoesNotExistException(deploymentGroupName);
} catch (final KeeperException e) {
throw new HeliosRuntimeException(
"stop deployment-group " + deploymentGroupName + " failed", e);
}
}
代码示例来源:origin: at.molindo/helios-services
@Override
public void removeDeploymentGroup(final String name) throws DeploymentGroupDoesNotExistException {
log.info("removing deployment-group: name={}", name);
final ZooKeeperClient client = provider.get("removeDeploymentGroup");
try {
client.ensurePath(Paths.configDeploymentGroups());
client.delete(Paths.configDeploymentGroup(name));
if (client.exists(Paths.statusDeploymentGroupHosts(name)) != null) {
client.delete(Paths.statusDeploymentGroupHosts(name));
}
if (client.exists(Paths.statusDeploymentGroup(name)) != null) {
client.delete(Paths.statusDeploymentGroup(name));
}
} catch (final NoNodeException e) {
throw new DeploymentGroupDoesNotExistException(name);
} catch (final KeeperException e) {
throw new HeliosRuntimeException("removing deployment-group " + name + " failed", e);
}
}
本文整理了Java中kafka.zookeeper.ZooKeeperClient.waitUntilConnected()方法的一些代码示例,展示了ZooKeeperClient.waitUntil
本文整理了Java中kafka.zookeeper.ZooKeeperClient.()方法的一些代码示例,展示了ZooKeeperClient.()的具体用法。这些代码示例主要来源于Github/S
本文整理了Java中com.twitter.common.zookeeper.ZooKeeperClient.()方法的一些代码示例,展示了ZooKeeperClient.()的具体用法。这些代码示例
本文整理了Java中com.twitter.common.zookeeper.ZooKeeperClient.registerExpirationHandler()方法的一些代码示例,展示了ZooKe
本文整理了Java中com.twitter.common.zookeeper.ZooKeeperClient.digestCredentials()方法的一些代码示例,展示了ZooKeeperClie
本文整理了Java中com.twitter.common.zookeeper.ZooKeeperClient.unregister()方法的一些代码示例,展示了ZooKeeperClient.unre
本文整理了Java中com.twitter.common.zookeeper.ZooKeeperClient.get()方法的一些代码示例,展示了ZooKeeperClient.get()的具体用法。
本文整理了Java中com.twitter.common.zookeeper.ZooKeeperClient.close()方法的一些代码示例,展示了ZooKeeperClient.close()的具
本文整理了Java中com.twitter.common.zookeeper.ZooKeeperClient.shouldRetry()方法的一些代码示例,展示了ZooKeeperClient.sho
本文整理了Java中org.apache.bookkeeper.zookeeper.ZooKeeperClient.newBuilder()方法的一些代码示例,展示了ZooKeeperClient.n
本文整理了Java中org.apache.dubbo.remoting.zookeeper.ZookeeperClient.addStateListener()方法的一些代码示例,展示了Zookeep
本文整理了Java中org.apache.dubbo.remoting.zookeeper.ZookeeperClient.getChildren()方法的一些代码示例,展示了ZookeeperCli
本文整理了Java中org.apache.dubbo.remoting.zookeeper.ZookeeperClient.isConnected()方法的一些代码示例,展示了ZookeeperCli
本文整理了Java中org.apache.dubbo.remoting.zookeeper.ZookeeperClient.removeChildListener()方法的一些代码示例,展示了Zook
本文整理了Java中org.apache.dubbo.remoting.zookeeper.ZookeeperClient.addChildListener()方法的一些代码示例,展示了Zookeep
本文整理了Java中org.apache.dubbo.remoting.zookeeper.ZookeeperClient.delete()方法的一些代码示例,展示了ZookeeperClient.d
本文整理了Java中org.apache.dubbo.remoting.zookeeper.ZookeeperClient.create()方法的一些代码示例,展示了ZookeeperClient.c
本文整理了Java中com.spotify.helios.servicescommon.coordination.ZooKeeperClient.getNode()方法的一些代码示例,展示了ZooKe
本文整理了Java中com.spotify.helios.servicescommon.coordination.ZooKeeperClient.close()方法的一些代码示例,展示了ZooKeep
本文整理了Java中com.spotify.helios.servicescommon.coordination.ZooKeeperClient.transaction()方法的一些代码示例,展示了Z
我是一名优秀的程序员,十分优秀!