Пример #1
0
        internal String fixForNamespace(String path, bool isSequential)
        {
            if (ensurePathNeeded.get())
            {
                try
                {
                    CuratorZookeeperClient zookeeperClient = client.getZookeeperClient();
                    RetryLoop.callWithRetry
                    (
                        zookeeperClient,
                        CallableUtils.FromFunc <object>(() =>
                    {
                        ZKPaths.mkdirs(zookeeperClient.getZooKeeper(),
                                       ZKPaths.makePath("/", @namespace),
                                       true,
                                       client.getAclProvider(),
                                       true);
                        return(null);
                    })
                    );
                    ensurePathNeeded.set(false);
                }
                catch (Exception e)
                {
                    ThreadUtils.checkInterrupted(e);
                    client.logError("Ensure path threw exception", e);
                }
            }

            return(ZKPaths.fixForNamespace(@namespace, path, isSequential));
        }
Пример #2
0
 internal String unfixForNamespace(String path)
 {
     if ((@namespace != null) && (path != null))
     {
         String namespacePath = ZKPaths.makePath(@namespace, null);
         if (path.StartsWith(namespacePath))
         {
             path = (path.Length > namespacePath.Length) ? path.Substring(namespacePath.Length) : "/";
         }
     }
     return(path);
 }
Пример #3
0
 public void createContainers(String path)
 {
     checkExists().creatingParentContainersIfNeeded().forPath(ZKPaths.makePath(path, "foo"));
 }