Java Code Examples for org.apache.curator.framework.CuratorFramework#usingNamespace()
The following examples show how to use
org.apache.curator.framework.CuratorFramework#usingNamespace() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: TestFramework.java From curator with Apache License 2.0 | 6 votes |
@Test public void testCreateContainersUsingNamespace() throws Exception { final String namespace = "container2"; CuratorFrameworkFactory.Builder builder = CuratorFrameworkFactory.builder(); CuratorFramework client = builder.connectString(server.getConnectString()).retryPolicy(new RetryOneTime(1)).build(); try { client.start(); CuratorFramework nsClient = client.usingNamespace(namespace); String path = "/path1/path2"; nsClient.createContainers(path); Assert.assertNotNull(nsClient.checkExists().forPath(path)); Assert.assertNotNull(nsClient.getZookeeperClient().getZooKeeper().exists("/" + namespace + path, false)); } finally { CloseableUtils.closeQuietly(client); } }
Example 2
Source File: TestNamespaceFacade.java From xian with Apache License 2.0 | 6 votes |
@Test public void testGetNamespace() throws Exception { CuratorFramework client = CuratorFrameworkFactory.newClient(server.getConnectString(), new RetryOneTime(1)); CuratorFramework client2 = CuratorFrameworkFactory.builder().namespace("snafu").retryPolicy(new RetryOneTime(1)).connectString("").build(); try { client.start(); CuratorFramework fooClient = client.usingNamespace("foo"); CuratorFramework barClient = client.usingNamespace("bar"); Assert.assertEquals(client.getNamespace(), ""); Assert.assertEquals(client2.getNamespace(), "snafu"); Assert.assertEquals(fooClient.getNamespace(), "foo"); Assert.assertEquals(barClient.getNamespace(), "bar"); } finally { CloseableUtils.closeQuietly(client2); CloseableUtils.closeQuietly(client); } }
Example 3
Source File: TestNamespaceFacade.java From xian with Apache License 2.0 | 6 votes |
@Test public void testSimultaneous() throws Exception { CuratorFramework client = CuratorFrameworkFactory.newClient(server.getConnectString(), new RetryOneTime(1)); try { client.start(); CuratorFramework fooClient = client.usingNamespace("foo"); CuratorFramework barClient = client.usingNamespace("bar"); fooClient.create().forPath("/one"); barClient.create().forPath("/one"); Assert.assertNotNull(client.getZookeeperClient().getZooKeeper().exists("/foo/one", false)); Assert.assertNotNull(client.getZookeeperClient().getZooKeeper().exists("/bar/one", false)); } finally { CloseableUtils.closeQuietly(client); } }
Example 4
Source File: BaragonAgentServiceModule.java From Baragon with Apache License 2.0 | 5 votes |
@Singleton @Provides public CuratorFramework provideCurator(ZooKeeperConfiguration config, BaragonConnectionStateListener connectionStateListener) { CuratorFramework client = CuratorFrameworkFactory.newClient( config.getQuorum(), config.getSessionTimeoutMillis(), config.getConnectTimeoutMillis(), new ExponentialBackoffRetry(config.getRetryBaseSleepTimeMilliseconds(), config.getRetryMaxTries())); client.getConnectionStateListenable().addListener(connectionStateListener); client.start(); return client.usingNamespace(config.getZkNamespace()); }
Example 5
Source File: TestFrameworkEdges.java From curator with Apache License 2.0 | 5 votes |
@Test public void testProtectedCreateNodeDeletion() throws Exception { CuratorFramework client = CuratorFrameworkFactory.newClient(server.getConnectString(), timing.session(), 1, new RetryNTimes(0, 0)); try { client.start(); for ( int i = 0; i < 2; ++i ) { CuratorFramework localClient = (i == 0) ? client : client.usingNamespace("nm"); localClient.create().forPath("/parent"); Assert.assertEquals(localClient.getChildren().forPath("/parent").size(), 0); CreateBuilderImpl createBuilder = (CreateBuilderImpl)localClient.create(); createBuilder.failNextCreateForTesting = true; FindAndDeleteProtectedNodeInBackground.debugInsertError.set(true); try { createBuilder.withProtection().forPath("/parent/test"); Assert.fail("failNextCreateForTesting should have caused a ConnectionLossException"); } catch ( KeeperException.ConnectionLossException e ) { // ignore, correct } timing.sleepABit(); List<String> children = localClient.getChildren().forPath("/parent"); Assert.assertEquals(children.size(), 0, children.toString()); // protected mode should have deleted the node localClient.delete().forPath("/parent"); } } finally { CloseableUtils.closeQuietly(client); } }
Example 6
Source File: CloudConfigSample.java From cloud-config with MIT License | 5 votes |
private static void prepare(TestingServer server) throws Exception { CuratorFramework zkRootClient = null; try { zkRootClient = CuratorFrameworkFactory.builder() .connectString(server.getConnectString()) .retryPolicy(new BoundedExponentialBackoffRetry(10, 100, 7)) .build(); zkRootClient.start(); ZooKeeper zk = zkRootClient.getZookeeperClient().getZooKeeper(); ZKPaths.mkdirs(zk, "/" + CloudConfigCommon.CONFIG_ROOT); ZKPaths.mkdirs(zk, "/"+CloudConfigCommon.PROPERTY_ROOT); CuratorFramework zkConfigClient = zkRootClient.usingNamespace(CloudConfigCommon.CONFIG_ROOT); // CuratorFramework zkPropsClient = zkRootClient.usingNamespace(CloudConfigCommon.PROPERTY_ROOT); String config = "{\n" + " \"driverClassName\" : \"com.mysql.jdbc.Driver\",\n" + " \"userName\" : \"root\",\n" + " \"password\" : \"1111\", \n"+ " \"jdbcUrl\" : \"jdbc:mysql://127.0.0.1:3306/a?characterEncoding=utf8&createDatabaseIfNotExist=true\"\n"+ "}"; zkConfigClient.create().creatingParentsIfNeeded().forPath("/database/mydb", config.getBytes()); } finally { if(zkRootClient!=null) { zkRootClient.close(); } } }
Example 7
Source File: ZKNamespaces.java From emodb with Apache License 2.0 | 5 votes |
public static CuratorFramework usingChildNamespace(CuratorFramework curator, String... children) { String path = curator.getNamespace(); for (String child : children) { path = path.length() > 0 ? ZKPaths.makePath(path, child) : child; } // Curator does not allow namespaces to start with a leading '/' if (path.startsWith("/")) { path = path.substring(1); } return curator.usingNamespace(path); }
Example 8
Source File: TestFrameworkEdges.java From xian with Apache License 2.0 | 5 votes |
@Test public void testProtectedCreateNodeDeletion() throws Exception { CuratorFramework client = CuratorFrameworkFactory.newClient(server.getConnectString(), timing.session(), 1, new RetryNTimes(0, 0)); try { client.start(); for ( int i = 0; i < 2; ++i ) { CuratorFramework localClient = (i == 0) ? client : client.usingNamespace("nm"); localClient.create().forPath("/parent"); Assert.assertEquals(localClient.getChildren().forPath("/parent").size(), 0); CreateBuilderImpl createBuilder = (CreateBuilderImpl)localClient.create(); createBuilder.failNextCreateForTesting = true; FindAndDeleteProtectedNodeInBackground.debugInsertError.set(true); try { createBuilder.withProtection().forPath("/parent/test"); Assert.fail("failNextCreateForTesting should have caused a ConnectionLossException"); } catch ( KeeperException.ConnectionLossException e ) { // ignore, correct } timing.sleepABit(); List<String> children = localClient.getChildren().forPath("/parent"); Assert.assertEquals(children.size(), 0, children.toString()); // protected mode should have deleted the node localClient.delete().forPath("/parent"); } } finally { CloseableUtils.closeQuietly(client); } }
Example 9
Source File: ZooKeeperUtils.java From Flink-CEPplus with Apache License 2.0 | 5 votes |
/** * Creates a {@link ZooKeeperSubmittedJobGraphStore} instance. * * @param client The {@link CuratorFramework} ZooKeeper client to use * @param configuration {@link Configuration} object * @return {@link ZooKeeperSubmittedJobGraphStore} instance * @throws Exception if the submitted job graph store cannot be created */ public static ZooKeeperSubmittedJobGraphStore createSubmittedJobGraphs( CuratorFramework client, Configuration configuration) throws Exception { checkNotNull(configuration, "Configuration"); RetrievableStateStorageHelper<SubmittedJobGraph> stateStorage = createFileSystemStateStorage(configuration, "submittedJobGraph"); // ZooKeeper submitted jobs root dir String zooKeeperSubmittedJobsPath = configuration.getString(HighAvailabilityOptions.HA_ZOOKEEPER_JOBGRAPHS_PATH); // Ensure that the job graphs path exists client.newNamespaceAwareEnsurePath(zooKeeperSubmittedJobsPath) .ensure(client.getZookeeperClient()); // All operations will have the path as root CuratorFramework facade = client.usingNamespace(client.getNamespace() + zooKeeperSubmittedJobsPath); final String zooKeeperFullSubmittedJobsPath = client.getNamespace() + zooKeeperSubmittedJobsPath; final ZooKeeperStateHandleStore<SubmittedJobGraph> zooKeeperStateHandleStore = new ZooKeeperStateHandleStore<>(facade, stateStorage); final PathChildrenCache pathCache = new PathChildrenCache(facade, "/", false); return new ZooKeeperSubmittedJobGraphStore( zooKeeperFullSubmittedJobsPath, zooKeeperStateHandleStore, pathCache); }
Example 10
Source File: TestNamespaceFacade.java From xian with Apache License 2.0 | 5 votes |
/** * Test that ACLs work on a NamespaceFacade. See CURATOR-132 * @throws Exception */ @Test public void testACL() throws Exception { CuratorFramework client = CuratorFrameworkFactory.newClient(server.getConnectString(), new RetryOneTime(1)); client.start(); client.getZookeeperClient().blockUntilConnectedOrTimedOut(); client.create().creatingParentsIfNeeded().forPath("/parent/child", "A string".getBytes()); CuratorFramework client2 = client.usingNamespace("parent"); Assert.assertNotNull(client2.getData().forPath("/child")); client.setACL().withACL(Collections.singletonList( new ACL(ZooDefs.Perms.WRITE, ZooDefs.Ids.ANYONE_ID_UNSAFE))). forPath("/parent/child"); // This will attempt to setACL on /parent/child, Previously this failed because /child // isn't present. Using "child" would case a failure because the path didn't start with // a slash try { List<ACL> acls = client2.getACL().forPath("/child"); Assert.assertNotNull(acls); Assert.assertEquals(acls.size(), 1); Assert.assertEquals(acls.get(0).getId(), ZooDefs.Ids.ANYONE_ID_UNSAFE); Assert.assertEquals(acls.get(0).getPerms(), ZooDefs.Perms.WRITE); client2.setACL().withACL(Collections.singletonList( new ACL(ZooDefs.Perms.DELETE, ZooDefs.Ids.ANYONE_ID_UNSAFE))). forPath("/child"); Assert.fail("Expected auth exception was not thrown"); } catch(NoAuthException e) { //Expected } }
Example 11
Source File: TestNamespaceFacade.java From xian with Apache License 2.0 | 5 votes |
@Test public void testIsStarted() throws Exception { CuratorFramework client = CuratorFrameworkFactory.newClient(server.getConnectString(), new RetryOneTime(1)); client.start(); CuratorFramework namespaced = client.usingNamespace(null); Assert.assertEquals(client.getState(), namespaced.getState(), "Namespaced state did not match true state after call to start."); client.close(); Assert.assertEquals(client.getState(), namespaced.getState(), "Namespaced state did not match true state after call to close."); }
Example 12
Source File: ZooKeeperSubmittedJobGraphsStoreITCase.java From flink with Apache License 2.0 | 5 votes |
@Nonnull private ZooKeeperSubmittedJobGraphStore createZooKeeperSubmittedJobGraphStore(String fullPath) throws Exception { final CuratorFramework client = ZooKeeper.getClient(); // Ensure that the job graphs path exists client.newNamespaceAwareEnsurePath(fullPath).ensure(client.getZookeeperClient()); // All operations will have the path as root CuratorFramework facade = client.usingNamespace(client.getNamespace() + fullPath); return new ZooKeeperSubmittedJobGraphStore( fullPath, new ZooKeeperStateHandleStore<>( facade, localStateStorage), new PathChildrenCache(facade, "/", false)); }
Example 13
Source File: ZooKeeperUtils.java From flink with Apache License 2.0 | 5 votes |
/** * Returns a facade of the client that uses the specified namespace, and ensures that all nodes * in the path exist. * * @param client ZK client * @param path the new namespace * @return ZK Client that uses the new namespace * @throws Exception ZK errors */ public static CuratorFramework useNamespaceAndEnsurePath(final CuratorFramework client, final String path) throws Exception { Preconditions.checkNotNull(client, "client must not be null"); Preconditions.checkNotNull(path, "path must not be null"); // Ensure that the checkpoints path exists client.newNamespaceAwareEnsurePath(path) .ensure(client.getZookeeperClient()); // All operations will have the path as root return client.usingNamespace(generateZookeeperPath(client.getNamespace(), path)); }
Example 14
Source File: ZooKeeperUtils.java From flink with Apache License 2.0 | 5 votes |
/** * Creates a {@link ZooKeeperSubmittedJobGraphStore} instance. * * @param client The {@link CuratorFramework} ZooKeeper client to use * @param configuration {@link Configuration} object * @return {@link ZooKeeperSubmittedJobGraphStore} instance * @throws Exception if the submitted job graph store cannot be created */ public static ZooKeeperSubmittedJobGraphStore createSubmittedJobGraphs( CuratorFramework client, Configuration configuration) throws Exception { checkNotNull(configuration, "Configuration"); RetrievableStateStorageHelper<SubmittedJobGraph> stateStorage = createFileSystemStateStorage(configuration, "submittedJobGraph"); // ZooKeeper submitted jobs root dir String zooKeeperSubmittedJobsPath = configuration.getString(HighAvailabilityOptions.HA_ZOOKEEPER_JOBGRAPHS_PATH); // Ensure that the job graphs path exists client.newNamespaceAwareEnsurePath(zooKeeperSubmittedJobsPath) .ensure(client.getZookeeperClient()); // All operations will have the path as root CuratorFramework facade = client.usingNamespace(client.getNamespace() + zooKeeperSubmittedJobsPath); final String zooKeeperFullSubmittedJobsPath = client.getNamespace() + zooKeeperSubmittedJobsPath; final ZooKeeperStateHandleStore<SubmittedJobGraph> zooKeeperStateHandleStore = new ZooKeeperStateHandleStore<>(facade, stateStorage); final PathChildrenCache pathCache = new PathChildrenCache(facade, "/", false); return new ZooKeeperSubmittedJobGraphStore( zooKeeperFullSubmittedJobsPath, zooKeeperStateHandleStore, pathCache); }
Example 15
Source File: ZooKeeperSubmittedJobGraphsStoreITCase.java From Flink-CEPplus with Apache License 2.0 | 5 votes |
@Nonnull private ZooKeeperSubmittedJobGraphStore createZooKeeperSubmittedJobGraphStore(String fullPath) throws Exception { final CuratorFramework client = ZooKeeper.getClient(); // Ensure that the job graphs path exists client.newNamespaceAwareEnsurePath(fullPath).ensure(client.getZookeeperClient()); // All operations will have the path as root CuratorFramework facade = client.usingNamespace(client.getNamespace() + fullPath); return new ZooKeeperSubmittedJobGraphStore( fullPath, new ZooKeeperStateHandleStore<>( facade, localStateStorage), new PathChildrenCache(facade, "/", false)); }
Example 16
Source File: ZooKeeperUtils.java From Flink-CEPplus with Apache License 2.0 | 5 votes |
/** * Returns a facade of the client that uses the specified namespace, and ensures that all nodes * in the path exist. * * @param client ZK client * @param path the new namespace * @return ZK Client that uses the new namespace * @throws Exception ZK errors */ public static CuratorFramework useNamespaceAndEnsurePath(final CuratorFramework client, final String path) throws Exception { Preconditions.checkNotNull(client, "client must not be null"); Preconditions.checkNotNull(path, "path must not be null"); // Ensure that the checkpoints path exists client.newNamespaceAwareEnsurePath(path) .ensure(client.getZookeeperClient()); // All operations will have the path as root return client.usingNamespace(generateZookeeperPath(client.getNamespace(), path)); }
Example 17
Source File: AbstractRoutingResourceFactoryBean.java From cloud-config with MIT License | 4 votes |
@Required public void setClient(CuratorFramework client) { this.client = client.usingNamespace(CloudConfigCommon.CONFIG_ROOT); }
Example 18
Source File: DispatchableRoutingResolver.java From cloud-config with MIT License | 4 votes |
@Autowired public void setClient(CuratorFramework client) { this.client = client.usingNamespace(CloudConfigCommon.CONFIG_ROOT); }
Example 19
Source File: ZkPropertyPlaceholderConfigurer.java From cloud-config with MIT License | 4 votes |
public void setClient(CuratorFramework client) { this.client = client.usingNamespace(CloudConfigCommon.PROPERTY_ROOT); }
Example 20
Source File: WorkflowManagerBuilder.java From workflow with Apache License 2.0 | 3 votes |
/** * <strong>required</strong><br> * Set the Curator instance to use. In addition * to the Curator instance, specify a namespace for the workflow and a version. The namespace * and version combine to create a unique workflow. All instances using the same namespace and version * are logically part of the same workflow. * * @param curator Curator instance * @param namespace workflow namespace * @param version workflow version * @return this (for chaining) */ public WorkflowManagerBuilder withCurator(CuratorFramework curator, String namespace, String version) { curator = Preconditions.checkNotNull(curator, "curator cannot be null"); namespace = Preconditions.checkNotNull(namespace, "namespace cannot be null"); version = Preconditions.checkNotNull(version, "version cannot be null"); this.curator = curator.usingNamespace(namespace + "-" + version); return this; }