本文整理汇总了Java中org.apache.curator.ensemble.EnsembleProvider类的典型用法代码示例。如果您正苦于以下问题:Java EnsembleProvider类的具体用法?Java EnsembleProvider怎么用?Java EnsembleProvider使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
EnsembleProvider类属于org.apache.curator.ensemble包,在下文中一共展示了EnsembleProvider类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: initializeCurator
import org.apache.curator.ensemble.EnsembleProvider; //导入依赖的package包/类
private Completable initializeCurator()
{
// Create/start CuratorFramework client
RetryPolicy retryPolicy = new BoundedExponentialBackoffRetry(retryBaseTime, retryMaxTime, retryLimit);
EnsembleProvider ensembleProvider = new FixedEnsembleProvider(connectionString);
curator = CuratorFrameworkFactory.builder()
.ensembleProvider(ensembleProvider)
.retryPolicy(retryPolicy)
.namespace(namespace)
.sessionTimeoutMs(sessionTimeout)
.connectionTimeoutMs(connectionTimeout)
.build();
curator.start();
// Create a NodeCache for each config descriptor
// This creates N node caches at a time on the RxJava IO scheduler thread pool.
return Observable.from(configDescriptors)
.flatMap(desc -> buildNodeCache(desc)
.subscribeOn(Schedulers.io())
.map(nc -> this.configNodeCaches.put(desc, nc)), getConcurrentNodeCacheCreations())
.toCompletable();
}
示例2: instance_BindingOptionalsWithExhibitor_UsesParametersInExhibitorInstance
import org.apache.curator.ensemble.EnsembleProvider; //导入依赖的package包/类
@Test
@SuppressWarnings("unchecked")
public void instance_BindingOptionalsWithExhibitor_UsesParametersInExhibitorInstance() throws Exception {
Injector inj = Guice.createInjector(module, new AbstractModule() {
@Override
protected void configure() {
bindConstant().annotatedWith(Names.named("Cultivar.zookeeper.connectionString")).to("localhost:2181");
bindConstant().annotatedWith(Names.named("Cultivar.zookeeper.exhibitorString")).to("localhost");
bindConstant().annotatedWith(Names.named("Cultivar.properties.exhibitor.pollingTimeMillis")).to(1000);
bindConstant().annotatedWith(Names.named("Cultivar.properties.exhibitor.restPath")).to("/exhibitor");
bindConstant().annotatedWith(Names.named("Cultivar.properties.exhibitor.restPort")).to(8081);
bind(ExhibitorRestClient.class).toInstance(client);
bind(RetryPolicy.class).annotatedWith(Names.named("Cultivar.properties.exhibitor.retryPolicy"))
.toInstance(new RetryNTimes(RETRY_NUMBER, 1));
}
});
ExhibitorEnsembleProvider provider = (ExhibitorEnsembleProvider) inj.getInstance(EnsembleProvider.class);
provider.pollForInitialEnsemble();
verify(client, times(RETRY_NUMBER + 1)).getRaw(eq("localhost"), eq(8081), eq("/exhibitor"), anyString());
verifyNoMoreInteractions(client);
}
示例3: configure
import org.apache.curator.ensemble.EnsembleProvider; //导入依赖的package包/类
@Override
protected void configure() {
if (dependencies != null) {
install(dependencies);
}
requireBinding(Key.get(EnsembleProvider.class, annotation));
requireBinding(Key.get(RetryPolicy.class, annotation));
bind(CuratorFramework.class).annotatedWith(annotation).toProvider(CuratorFrameworkProvider.class)
.in(Singleton.class);
bind(CuratorManagementService.class).annotatedWith(annotation).to(DefaultCuratorManagementService.class)
.in(Singleton.class);
expose(Key.get(CuratorFramework.class, annotation));
expose(Key.get(CuratorManagementService.class, annotation));
}
示例4: configure
import org.apache.curator.ensemble.EnsembleProvider; //导入依赖的package包/类
@Override
@SuppressWarnings("unchecked")
protected void configure() {
bind(
(Key<Optional<String>>) Key.get(Types.newParameterizedType(Optional.class, String.class),
Names.named("Cultivar.private.properties.backupConnections"))).toProvider(
ConnectionProvider.class);
bind(
(Key<Optional<String>>) Key.get(Types.newParameterizedType(Optional.class, String.class),
Names.named("Cultivar.private.properties.exhibitorInstances"))).toProvider(
ExhibitorProvider.class);
bind(EnsembleProvider.class).toProvider(EnsembleProviderProvider.class).in(Singleton.class);
expose(EnsembleProvider.class);
}
示例5: CuratorZookeeperClient
import org.apache.curator.ensemble.EnsembleProvider; //导入依赖的package包/类
/**
* @param zookeeperFactory factory for creating {@link ZooKeeper} instances
* @param ensembleProvider the ensemble provider
* @param sessionTimeoutMs session timeout
* @param connectionTimeoutMs connection timeout
* @param watcher default watcher or null
* @param retryPolicy the retry policy to use
* @param canBeReadOnly if true, allow ZooKeeper client to enter
* read only mode in case of a network partition. See
* {@link ZooKeeper#ZooKeeper(String, int, Watcher, long, byte[], boolean)}
* for details
* @param connectionHandlingPolicy connection handling policy - use one of the pre-defined policies or write your own
* @since 3.0.0
*/
public CuratorZookeeperClient(ZookeeperFactory zookeeperFactory, EnsembleProvider ensembleProvider, int sessionTimeoutMs, int connectionTimeoutMs, Watcher watcher, RetryPolicy retryPolicy, boolean canBeReadOnly, ConnectionHandlingPolicy connectionHandlingPolicy)
{
this.connectionHandlingPolicy = connectionHandlingPolicy;
if ( sessionTimeoutMs < connectionTimeoutMs )
{
log.warn(String.format("session timeout [%d] is less than connection timeout [%d]", sessionTimeoutMs, connectionTimeoutMs));
}
retryPolicy = Preconditions.checkNotNull(retryPolicy, "retryPolicy cannot be null");
ensembleProvider = Preconditions.checkNotNull(ensembleProvider, "ensembleProvider cannot be null");
this.connectionTimeoutMs = connectionTimeoutMs;
state = new ConnectionState(zookeeperFactory, ensembleProvider, sessionTimeoutMs, connectionTimeoutMs, watcher, tracer, canBeReadOnly, connectionHandlingPolicy);
setRetryPolicy(retryPolicy);
}
示例6: instance_BindingOptionalsWithExhibitor_UsesParametersInExhibitorInstance
import org.apache.curator.ensemble.EnsembleProvider; //导入依赖的package包/类
@Test
@SuppressWarnings("unchecked")
public void instance_BindingOptionalsWithExhibitor_UsesParametersInExhibitorInstance() throws Exception {
Injector inj = Guice.createInjector(module, new AbstractModule() {
@Override
protected void configure() {
bindConstant().annotatedWith(Names.named("Cultivar.zookeeper.connectionString")).to("localhost:2181");
bindConstant().annotatedWith(Names.named("Cultivar.zookeeper.exhibitorString")).to("localhost");
bindConstant().annotatedWith(Names.named("Cultivar.properties.exhibitor.pollingTimeMillis")).to(1000);
bindConstant().annotatedWith(Names.named("Cultivar.properties.exhibitor.restPath")).to("/exhibitor");
bindConstant().annotatedWith(Names.named("Cultivar.properties.exhibitor.restPort")).to(8081);
bind(ExhibitorRestClient.class).toInstance(client);
bind(RetryPolicy.class).annotatedWith(Names.named("Cultivar.properties.exhibitor.retryPolicy"))
.toInstance(new RetryNTimes(RETRY_NUMBER, 1));
}
});
ExhibitorEnsembleProvider provider = (ExhibitorEnsembleProvider) inj.getInstance(Key.get(
EnsembleProvider.class, Curator.class));
provider.pollForInitialEnsemble();
verify(client, times(RETRY_NUMBER + 1)).getRaw(eq("localhost"), eq(8081), eq("/exhibitor"), anyString());
verifyNoMoreInteractions(client);
}
示例7: setUp
import org.apache.curator.ensemble.EnsembleProvider; //导入依赖的package包/类
@Before
public void setUp() throws Exception {
Injector inj = Guice.createInjector(
Stage.PRODUCTION,
new CuratorModule(new AbstractModule() {
@Override
protected void configure() {
bindConstant().annotatedWith(Names.named("Cultivar.Curator.baseNamespace")).to("dev/test");
bind(EnsembleProvider.class).annotatedWith(Curator.class).toInstance(
new FixedEnsembleProvider(testingCluster.getConnectString()));
bind(RetryPolicy.class).annotatedWith(Curator.class).toInstance(
new ExponentialBackoffRetry(10, 10));
}
}), NamespaceModuleBuilder.create().newNamespace(null).targetAnnotation(Cultivar.class).build(),
NamespaceModuleBuilder.create().newNamespace("foo").targetAnnotation(Names.named("foo")).build());
manager = inj.getInstance(CultivarStartStopManager.class);
namespacedNullFramework = inj.getInstance(Key.get(CuratorFramework.class, Cultivar.class));
namespacedFooFramework = inj.getInstance(Key.get(CuratorFramework.class, Names.named("foo")));
manager.startAsync().awaitRunning();
}
示例8: configure
import org.apache.curator.ensemble.EnsembleProvider; //导入依赖的package包/类
@Override
@SuppressWarnings("unchecked")
protected void configure() {
bind(
(Key<Optional<String>>) Key.get(Types.newParameterizedType(Optional.class, String.class),
Names.named("Cultivar.private.properties.backupConnections"))).toProvider(
ConnectionProvider.class);
bind(
(Key<Optional<String>>) Key.get(Types.newParameterizedType(Optional.class, String.class),
Names.named("Cultivar.private.properties.exhibitorInstances"))).toProvider(
ExhibitorProvider.class);
bind(EnsembleProvider.class).annotatedWith(Curator.class).toProvider(EnsembleProviderProvider.class)
.in(Singleton.class);
expose(EnsembleProvider.class).annotatedWith(Curator.class);
}
示例9: setUp
import org.apache.curator.ensemble.EnsembleProvider; //导入依赖的package包/类
@Before
public void setUp() throws Exception {
inj = Guice.createInjector(
new CuratorModule(new AbstractModule() {
@Override
protected void configure() {
bind(EnsembleProvider.class).annotatedWith(Curator.class).toInstance(
new FixedEnsembleProvider(testingCluster.getConnectString()));
bind(RetryPolicy.class).annotatedWith(Curator.class).toInstance(
new ExponentialBackoffRetry(1000, 3));
}
}),
ServiceDiscoveryModuleBuilder.create().annotation(Curator.class).basePath("/discovery").build(),
ServiceProviderModuleBuilder.create(Void.class).name("service").discovery(Curator.class)
.annotation(Cultivar.class).build());
discovery = inj.getInstance(Key.get(new TypeLiteral<ServiceDiscovery<Void>>() {
}, Curator.class));
service1 = ServiceInstance.<Void> builder().name("service").build();
service2 = ServiceInstance.<Void> builder().name("service").build();
provider = inj.getInstance(Key.get(new TypeLiteral<ServiceProvider<Void>>() {
}, Cultivar.class));
manager = inj.getInstance(CultivarStartStopManager.class);
}
示例10: setUp
import org.apache.curator.ensemble.EnsembleProvider; //导入依赖的package包/类
@Before
public void setUp() throws Exception {
inj = Guice.createInjector(new CuratorModule(new AbstractModule() {
@Override
protected void configure() {
bind(EnsembleProvider.class).annotatedWith(Curator.class).toInstance(
new FixedEnsembleProvider(testingCluster.getConnectString()));
bind(RetryPolicy.class).annotatedWith(Curator.class).toInstance(new ExponentialBackoffRetry(1000, 3));
}
}));
}
示例11: instance_ConnectionProviderPropertyAndOverrideBound_SetsConnectionStringToOverride
import org.apache.curator.ensemble.EnsembleProvider; //导入依赖的package包/类
@Test
public void instance_ConnectionProviderPropertyAndOverrideBound_SetsConnectionStringToOverride() {
Injector inj = Guice.createInjector(module, new AbstractModule() {
@Override
protected void configure() {
bindConstant().annotatedWith(Names.named("Cultivar.zookeeper.connectionString")).to("localhost:2181");
}
});
assertEquals("localhost:2181", inj.getInstance(EnsembleProvider.class).getConnectionString());
}
示例12: setUp
import org.apache.curator.ensemble.EnsembleProvider; //导入依赖的package包/类
@Before
public void setUp() throws Exception {
Injector inj = Guice.createInjector(new CuratorModule(new AbstractModule() {
@Override
protected void configure() {
bind(EnsembleProvider.class).annotatedWith(Curator.class).toInstance(
new FixedEnsembleProvider(testingCluster.getConnectString()));
bind(RetryPolicy.class).annotatedWith(Curator.class).toInstance(new ExponentialBackoffRetry(1000, 3));
}
}));
manager = inj.getInstance(CultivarStartStopManager.class);
CuratorManagementService managementService = inj.getInstance(Key.get(CuratorManagementService.class,
Curator.class));
managementService.addConnectionListener(new ConnectionStateListener() {
@Override
public void stateChanged(final CuratorFramework client, final ConnectionState newState) {
if (ConnectionState.CONNECTED.equals(newState)) {
connectionLatch.countDown();
}
}
});
state = inj.getInstance(LastKnownState.class);
manager.startAsync().awaitRunning();
}
示例13: setUp
import org.apache.curator.ensemble.EnsembleProvider; //导入依赖的package包/类
@Before
public void setUp() throws Exception {
Injector inj1 = Guice.createInjector(Stage.PRODUCTION, new CuratorModule(new AbstractModule() {
@Override
protected void configure() {
bind(EnsembleProvider.class).annotatedWith(Curator.class).toInstance(
new FixedEnsembleProvider(testingCluster.getConnectString()));
bind(RetryPolicy.class).annotatedWith(Curator.class).toInstance(new RetryNTimes(10, 100));
}
}));
Injector inj2 = Guice.createInjector(Stage.PRODUCTION, new CuratorModule(new AbstractModule() {
@Override
protected void configure() {
bind(EnsembleProvider.class).annotatedWith(Curator.class).toInstance(
new FixedEnsembleProvider(testingCluster.getConnectString()));
bind(RetryPolicy.class).annotatedWith(Curator.class).toInstance(new RetryNTimes(10, 100));
}
}));
manager1 = inj1.getInstance(CultivarStartStopManager.class);
manager2 = inj2.getInstance(CultivarStartStopManager.class);
manager1.startAsync();
manager2.startAsync();
manager1.awaitRunning();
manager2.awaitRunning();
DistributedBarrierFactory factory1 = inj1.getInstance(DistributedBarrierFactory.class);
DistributedBarrierFactory factory2 = inj2.getInstance(DistributedBarrierFactory.class);
barrierA1 = factory1.create("/test");
barrierA2 = factory2.create("/test");
}
示例14: setUp
import org.apache.curator.ensemble.EnsembleProvider; //导入依赖的package包/类
@Before
public void setUp() throws Exception {
LOG.info("*** SERVERS *** {}", testingCluster.getConnectString());
Injector inj1 = Guice.createInjector(Stage.PRODUCTION, new CuratorModule(new AbstractModule() {
@Override
protected void configure() {
bind(EnsembleProvider.class).annotatedWith(Curator.class).toInstance(
new FixedEnsembleProvider(testingCluster.getConnectString()));
bind(RetryPolicy.class).annotatedWith(Curator.class).toInstance(new RetryNTimes(10, 10));
}
}));
Injector inj2 = Guice.createInjector(Stage.PRODUCTION, new CuratorModule(new AbstractModule() {
@Override
protected void configure() {
bind(EnsembleProvider.class).annotatedWith(Curator.class).toInstance(
new FixedEnsembleProvider(testingCluster.getConnectString()));
bind(RetryPolicy.class).annotatedWith(Curator.class).toInstance(new RetryNTimes(10, 10));
}
}));
manager1 = inj1.getInstance(CultivarStartStopManager.class);
manager2 = inj2.getInstance(CultivarStartStopManager.class);
manager1.startAsync();
manager2.startAsync();
manager1.awaitRunning();
manager2.awaitRunning();
DistributedDoubleBarrierFactory factory1 = inj1.getInstance(DistributedDoubleBarrierFactory.class);
DistributedDoubleBarrierFactory factory2 = inj2.getInstance(DistributedDoubleBarrierFactory.class);
barrierA1 = factory1.create("/test", 2);
barrierA2 = factory2.create("/test", 2);
}
示例15: get
import org.apache.curator.ensemble.EnsembleProvider; //导入依赖的package包/类
@Override
public EnsembleProvider get() {
if (exhibitorInstances.isPresent()) {
return exhibitorEnsembleProvider();
}
return new FixedEnsembleProvider(backupConnections.get());
}