本文整理汇总了Java中org.apache.zookeeper.KeeperException.ConnectionLossException类的典型用法代码示例。如果您正苦于以下问题:Java ConnectionLossException类的具体用法?Java ConnectionLossException怎么用?Java ConnectionLossException使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
ConnectionLossException类属于org.apache.zookeeper.KeeperException包,在下文中一共展示了ConnectionLossException类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: reconfigureInstance
import org.apache.zookeeper.KeeperException.ConnectionLossException; //导入依赖的package包/类
public void reconfigureInstance(String name, String params) throws NoAssignmentException, InterruptedException, KeeperException {
if (LOG.isDebugEnabled()) {
LOG.debug("Reconfiguring " + name + " with " + params);
}
Assigned assigned = instanceToAssignment.get(name);
if (assigned == null) {
throw new NoAssignmentException();
}
KeeperException lastException = null;
for(int i = 0; i < maxTries; i++) {
try {
zk.setData(assignmentsNode + '/' + assigned.container + '/' + name, ("update " + params).getBytes(), -1);
break;
} catch (ConnectionLossException e) {
lastException = e;
}
}
if (lastException != null) {
throw lastException;
}
}
示例2: checkClientConnected
import org.apache.zookeeper.KeeperException.ConnectionLossException; //导入依赖的package包/类
/**
* Ensure the client is able to talk to the server.
*
* @param idx the idx of the server the client is talking to
*/
private void checkClientConnected(int idx) throws Exception {
ZooKeeper zk = getClient(idx);
if (zk == null) {
return;
}
try {
assertNull(zk.exists("/foofoofoo-connected", false));
} catch (ConnectionLossException e) {
// second chance...
// in some cases, leader change in particular, the timing is
// very tricky to get right in order to assure that the client has
// disconnected and reconnected. In some cases the client will
// disconnect, then attempt to reconnect before the server is
// back, in which case we'll see another connloss on the operation
// in the try, this catches that case and waits for the server
// to come back
PeerStruct peer = qu.getPeer(idx);
Assert.assertTrue("Waiting for server down", ClientBase.waitForServerUp(
"127.0.0.1:" + peer.clientPort, ClientBase.CONNECTION_TIMEOUT));
assertNull(zk.exists("/foofoofoo-connected", false));
}
}
示例3: createNodes
import org.apache.zookeeper.KeeperException.ConnectionLossException; //导入依赖的package包/类
/**
* Create the znodes, this may fail if the lower 32 roll over, if so
* wait for the clients to be re-connected after the re-election
*/
private int createNodes(ZooKeeper zk, int start, int count) throws Exception {
LOG.info("Creating nodes " + start + " thru " + (start + count));
int j = 0;
try {
for (int i = start; i < start + count; i++) {
zk.create("/foo" + i, new byte[0], Ids.READ_ACL_UNSAFE,
CreateMode.EPHEMERAL);
j++;
}
} catch (ConnectionLossException e) {
// this is ok - the leader has dropped leadership
waitForClientsConnected();
}
return j;
}
示例4: checkClientConnected
import org.apache.zookeeper.KeeperException.ConnectionLossException; //导入依赖的package包/类
/**
* Ensure the client is able to talk to the server.
*
* @param idx the idx of the server the client is talking to
*/
private void checkClientConnected(int idx) throws Exception {
ZooKeeper zk = getClient(idx);
if (zk == null) {
return;
}
try {
Assert.assertNull(zk.exists("/foofoofoo-connected", false));
} catch (ConnectionLossException e) {
// second chance...
// in some cases, leader change in particular, the timing is
// very tricky to get right in order to assure that the client has
// disconnected and reconnected. In some cases the client will
// disconnect, then attempt to reconnect before the server is
// back, in which case we'll see another connloss on the operation
// in the try, this catches that case and waits for the server
// to come back
PeerStruct peer = qu.getPeer(idx);
Assert.assertTrue("Waiting for server down", ClientBase.waitForServerUp(
"127.0.0.1:" + peer.clientPort, ClientBase.CONNECTION_TIMEOUT));
Assert.assertNull(zk.exists("/foofoofoo-connected", false));
}
}
示例5: createNodes
import org.apache.zookeeper.KeeperException.ConnectionLossException; //导入依赖的package包/类
/**
* Create the znodes, this may fail if the lower 32 roll over, if so
* wait for the clients to be re-connected after the re-election
*/
private int createNodes(ZooKeeper zk, int start, int count) throws Exception {
LOG.info("Creating nodes {} thru {}", start, (start + count));
int j = 0;
try {
for (int i = start; i < start + count; i++) {
zk.create("/foo" + i, new byte[0], Ids.READ_ACL_UNSAFE,
CreateMode.EPHEMERAL);
j++;
}
} catch (ConnectionLossException e) {
// this is ok - the leader has dropped leadership
waitForClientsConnected();
}
return j;
}
示例6: start
import org.apache.zookeeper.KeeperException.ConnectionLossException; //导入依赖的package包/类
public void start() {
Preconditions.checkNotNull(nameSpace, "nameSpace can not be null");
Preconditions.checkNotNull(zkurl, "zkurl can not be null");
zkClient = RegisterHolder.getClient(zkurl);
pathChildrenCache = new PathChildrenCache(zkClient, "/" + nameSpace, true);
pathChildrenCache.getListenable().addListener(this);
try {
pathChildrenCache.start();
initDataFromZk();
} catch (Exception e) {
// zookeeper cluster 不可用时,load the conf from localfile
if (e instanceof ConnectionLossException) {
logger.error(" ConnectionLossException has happen ,start to laod the local confFile to mem");
}
}
}
示例7: createNodes
import org.apache.zookeeper.KeeperException.ConnectionLossException; //导入依赖的package包/类
/**
* Create the znodes, this may fail if the lower 32 roll over, if so
* wait for the clients to be re-connected after the re-election
*/
private int createNodes(ZooKeeper zk, int start, int count) throws Exception {
LOG.info("Creating nodes " + start + " thru " + (start + count));
int j = 0;
try {
for (int i = start; i < start + count; i++) {
zk.create("/foo" + i, new byte[0], Ids.READ_ACL_UNSAFE,
CreateMode.EPHEMERAL);
j++;
}
} catch (ConnectionLossException e) {
// this is ok - the leader has dropped leadership
waitForClients();
}
return j;
}