`
mmBlue
  • 浏览: 165142 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Curator Barrier

阅读更多

分布式Barrier,直接看代码好了:

package curator.barrier;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

import org.apache.curator.RetryPolicy;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
import org.apache.curator.framework.recipes.barriers.DistributedBarrier;
import org.apache.curator.retry.ExponentialBackoffRetry;

public class BarrierDemo {

	public static void main(String[] args) throws Exception {
		final List<DistributedBarrier> barriers = new ArrayList<DistributedBarrier>(3);
		ExecutorService service = Executors.newCachedThreadPool();

		for (int i = 0; i < 3; i++) {
			Runnable run = new Runnable() {
				public void run() {
					try {
						RetryPolicy retryPolicy = new ExponentialBackoffRetry(
								1000, 3);
						final CuratorFramework client = CuratorFrameworkFactory
								.builder().connectString("127.0.0.1:2181")
								.sessionTimeoutMs(5000)
								.connectionTimeoutMs(10000)
								.retryPolicy(retryPolicy).namespace("text")
								.build();
						client.start();

						DistributedBarrier barrier = new DistributedBarrier(client, "/barrier");
						barriers.add(barrier);
						barrier.setBarrier(); // 设置barrier
						System.out.println(" : setBarrier...");
						barrier.waitOnBarrier();// 等待其他进程移除barrier,此后所有的waitOnBarrier进程都将解除阻塞.
						System.err.println(" : run ing...");
					} catch (Exception e) {
					}
				}
			};
			service.execute(run);
		}
		Thread.currentThread().sleep(5000);
		for (DistributedBarrier b : barriers) {
			b.removeBarrier();
		}
		System.in.read();
	}

}

 

分享到:
评论

相关推荐

    curator-client-4.3.0-API文档-中英对照版.zip

    赠送jar包:curator-client-4.3.0.jar; 赠送原API文档:curator-client-4.3.0-javadoc.jar; 赠送源代码:curator-client-4.3.0-sources.jar; 赠送Maven依赖信息文件:curator-client-4.3.0.pom; 包含翻译后的API...

    curator-framework-2.6.0-API文档-中文版.zip

    赠送jar包:curator-framework-2.6.0.jar; 赠送原API文档:curator-framework-2.6.0-javadoc.jar; 赠送源代码:curator-framework-2.6.0-sources.jar; 赠送Maven依赖信息文件:curator-framework-2.6.0.pom; ...

    curator-client-2.7.1-API文档-中文版.zip

    赠送jar包:curator-client-2.7.1.jar; 赠送原API文档:curator-client-2.7.1-javadoc.jar; 赠送源代码:curator-client-2.7.1-sources.jar; 赠送Maven依赖信息文件:curator-client-2.7.1.pom; 包含翻译后的API...

    curator-framework-4.0.1-API文档-中英对照版.zip

    赠送jar包:curator-framework-4.0.1.jar; 赠送原API文档:curator-framework-4.0.1-javadoc.jar; 赠送源代码:curator-framework-4.0.1-sources.jar; 赠送Maven依赖信息文件:curator-framework-4.0.1.pom; ...

    curator-recipes-2.6.0-API文档-中文版.zip

    赠送jar包:curator-recipes-2.6.0.jar; 赠送原API文档:curator-recipes-2.6.0-javadoc.jar; 赠送源代码:curator-recipes-2.6.0-sources.jar; 赠送Maven依赖信息文件:curator-recipes-2.6.0.pom; 包含翻译后...

    zk客户端curator2.11

    客户端是Curator Framework,是Apache的项目,它主要的功能是为ZK的客户端使用提供了高可用的封装。在Curator Framework基础上封装的curator-recipes,实现了很多经典场景。比如:集群管理(Leader选举)、共享锁、...

    Curator的JAR包

    Curator的JAR包,应用于Zookeeper集群协调组件开发

    zookeeper客户端curator操作示例

    zookeeper客户端curator操作示例

    curator-client-4.0.1-API文档-中英对照版.zip

    赠送jar包:curator-client-4.0.1.jar; 赠送原API文档:curator-client-4.0.1-javadoc.jar; 赠送源代码:curator-client-4.0.1-sources.jar; 赠送Maven依赖信息文件:curator-client-4.0.1.pom; 包含翻译后的API...

    curator-client-2.7.1-API文档-中英对照版.zip

    赠送jar包:curator-client-2.7.1.jar; 赠送原API文档:curator-client-2.7.1-javadoc.jar; 赠送源代码:curator-client-2.7.1-sources.jar; 赠送Maven依赖信息文件:curator-client-2.7.1.pom; 包含翻译后的API...

    curator-client-2.6.0-API文档-中文版.zip

    赠送jar包:curator-client-2.6.0.jar; 赠送原API文档:curator-client-2.6.0-javadoc.jar; 赠送源代码:curator-client-2.6.0-sources.jar; 赠送Maven依赖信息文件:curator-client-2.6.0.pom; 包含翻译后的API...

    curator zookeeper 3.4.6 2.9.1

    curator zookeeper 3.4.6 2.9.1

    curator-framework-4.3.0-API文档-中英对照版.zip

    赠送jar包:curator-framework-4.3.0.jar; 赠送原API文档:curator-framework-4.3.0-javadoc.jar; 赠送源代码:curator-framework-4.3.0-sources.jar; 赠送Maven依赖信息文件:curator-framework-4.3.0.pom; ...

    apache-curator-3.2.0

    zookeeper 客户端 curator 源文件

    curator zookeeper

    curator zookeeper 3.4.6 2.9.1

    curator-framework-2.6.0-API文档-中英对照版.zip

    赠送jar包:curator-framework-2.6.0.jar; 赠送原API文档:curator-framework-2.6.0-javadoc.jar; 赠送源代码:curator-framework-2.6.0-sources.jar; 赠送Maven依赖信息文件:curator-framework-2.6.0.pom; ...

    elasticsearch-curator

    Curator 是elasticsearch 官方的一个索引管理工具,可以删除、创建、关闭、段合并等等功能

    curator-test单元测试zookeeper

    使用apache curator-test单元测试zookeeper

    zookeeper开源客户端Curator

    Curator是Netflix公司开源的一套ZooKeeper客户端框架,Curator解决了很多ZooKeeper客户端非常底层的细节开发工作,包括连接重连、反复注册Watcher和NodeExistsException异常等,实现了Fluent风格的API接口,目前已经...

Global site tag (gtag.js) - Google Analytics