protected boolean exists(final String path, final boolean watch) { return retryUntilConnected(new Callable<Boolean>() { @Override public Boolean call() throws Exception { return _connection.exists(path, watch); } }); }
public void watchForData(final String path) { retryUntilConnected(new Callable<Object>() { @Override public Object call() throws Exception { _connection.exists(path, true); return null; } }); }
protected List<String> getChildren(final String path, final boolean watch) { return retryUntilConnected(new Callable<List<String>>() { @Override public List<String> call() throws Exception { return _connection.getChildren(path, watch); } }); }
protected List<String> getChildren(final String path, final boolean watch) { return retryUntilConnected(new Callable<List<String>>() { @Override public List<String> call() throws Exception { return _connection.getChildren(path, watch); } }); }
public boolean delete(final String path, final int version) { try { retryUntilConnected(new Callable<Object>() { @Override public Object call() throws Exception { _connection.delete(path, version); return null; } }); return true; } catch (ZkNoNodeException e) { return false; } }
protected boolean exists(final String path, final boolean watch) { return retryUntilConnected(new Callable<Boolean>() { @Override public Boolean call() throws Exception { return _connection.exists(path, watch); } }); }
public void watchForData(final String path) { retryUntilConnected(new Callable<Object>() { @Override public Object call() throws Exception { _connection.exists(path, true); return null; } }); }
public boolean delete(final String path) { try { retryUntilConnected(new Callable<Object>() { @Override public Object call() throws Exception { _connection.delete(path); return null; } }); return true; } catch (ZkNoNodeException e) { return false; } }
/** * Add authentication information to the connection. This will be used to identify the user and check access to * nodes protected by ACLs * * @param scheme * @param auth */ public void addAuthInfo(final String scheme, final byte[] auth) { retryUntilConnected(new Callable<Object>() { @Override public Object call() throws Exception { _connection.addAuthInfo(scheme, auth); return null; } }); }
public List<OpResult> multi(final Iterable<Op> ops) throws ZkException { if (ops == null) { throw new NullPointerException("ops must not be null."); } return retryUntilConnected(new Callable<List<OpResult>>() { @Override public List<OpResult> call() throws Exception { return _connection.multi(ops); } }); } }
/** * Installs a child watch for the given path. * * @param path * @return the current children of the path or null if the zk node with the given path doesn't exist. */ public List<String> watchForChilds(final String path) { if (_zookeeperEventThread != null && Thread.currentThread() == _zookeeperEventThread) { throw new IllegalArgumentException("Must not be done in the zookeeper event thread."); } return retryUntilConnected(new Callable<List<String>>() { @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; } }); }
@SuppressWarnings("unchecked") protected <T extends Object> T readData(final String path, final Stat stat, final boolean watch) { byte[] data = retryUntilConnected(new Callable<byte[]>() { @Override public byte[] call() throws Exception { return _connection.readData(path, stat, watch); } }); return (T) derializable(data); }
/** * Installs a child watch for the given path. * * @param path * @return the current children of the path or null if the zk node with the given path doesn't exist. */ public List<String> watchForChilds(final String path) { if (_zookeeperEventThread != null && Thread.currentThread() == _zookeeperEventThread) { throw new IllegalArgumentException("Must not be done in the zookeeper event thread."); } return retryUntilConnected(new Callable<List<String>>() { @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; } }); }
public Stat writeDataReturnStat(final String path, Object datat, final int expectedVersion) { final byte[] data = serialize(datat); return (Stat) retryUntilConnected(new Callable<Object>() { @Override public Object call() throws Exception { Stat stat = _connection.writeDataReturnStat(path, data, expectedVersion); return stat; } }); }
public void writeData(final String path, Object datat, final int expectedVersion) { final byte[] data = serialize(datat); retryUntilConnected(new Callable<Object>() { @Override public Object call() throws Exception { _connection.writeData(path, data, expectedVersion); return null; } }); }
@SuppressWarnings("unchecked") protected <T extends Object> T readData(final String path, final Stat stat, final boolean watch) { byte[] data = retryUntilConnected(new Callable<byte[]>() { @Override public byte[] call() throws Exception { return _connection.readData(path, stat, watch); } }); return (T) derializable(data); }
/** * Gets the acl on path * * @param path * @return an entry instance with key = list of acls on node and value = stats. * @throws ZkException * if any ZooKeeper exception occurred * @throws RuntimeException * if any other exception occurs */ public Map.Entry<List<ACL>, Stat> getAcl(final String path) throws ZkException { if (path == null) { throw new NullPointerException("Missing value for path"); } if (!exists(path)) { throw new RuntimeException("trying to get acls on non existing node " + path); } return retryUntilConnected(new Callable<Map.Entry<List<ACL>, Stat>>() { @Override public Map.Entry<List<ACL>, Stat> call() throws Exception { return _connection.getAcl(path); } }); }
/** * Create a node. * * @param path * @param data * @param mode * @return create node's 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 String create(final String path, Object data, final CreateMode mode) throws ZkInterruptedException, IllegalArgumentException, ZkException, RuntimeException { if (path == null) { throw new NullPointerException("path must not be null."); } final byte[] bytes = data == null ? null : serialize(data); return retryUntilConnected(new Callable<String>() { @Override public String call() throws Exception { return _connection.create(path, bytes, mode); } }); }
return retryUntilConnected(new Callable<String>() { @Override public String call() throws Exception {
retryUntilConnected(new Callable<Void>() { @Override public Void call() throws Exception {