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

Curator counters

 
阅读更多

这个比较好理解,分布式数字,类似AtomicInteger系列,Curator有2个实现:

第一个:

package curator.counters;

import org.apache.curator.RetryPolicy;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
import org.apache.curator.framework.recipes.shared.SharedCount;
import org.apache.curator.framework.recipes.shared.SharedCountListener;
import org.apache.curator.framework.recipes.shared.SharedCountReader;
import org.apache.curator.framework.state.ConnectionState;
import org.apache.curator.retry.ExponentialBackoffRetry;

public class SharedCounterDemo {

	public static void main(String[] args) throws Exception {
		RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 3);
		final CuratorFramework client = CuratorFrameworkFactory.builder().connectString("127.0.0.1:2181").sessionTimeoutMs(5000).connectionTimeoutMs(10000).retryPolicy(retryPolicy).namespace("test").build();
		client.start();
		
		SharedCount count = new SharedCount(client,"/cut",0);
		count.start();
		
		count.addListener(new SharedCountListener(){

			@Override
			public void stateChanged(CuratorFramework client, ConnectionState newState) {
				
			}

			@Override
			public void countHasChanged(SharedCountReader sharedCount, int newCount) throws Exception {
				System.err.println("sharedCount.getCount : "+sharedCount.getCount());
				System.err.println(newCount);
			}});
		Thread.currentThread().sleep(5000);
		count.setCount(5);
		System.in.read();
	}

}

 

第二个:

package curator.counters;

import org.apache.curator.RetryPolicy;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
import org.apache.curator.framework.recipes.atomic.AtomicValue;
import org.apache.curator.framework.recipes.atomic.DistributedAtomicInteger;
import org.apache.curator.retry.ExponentialBackoffRetry;
import org.apache.curator.retry.RetryNTimes;

public class DistributedAtomicIntegerDemo {

	public static void main(String[] args) throws Exception {
		RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 3);
		final CuratorFramework client = CuratorFrameworkFactory.builder().connectString("127.0.0.1:2181").sessionTimeoutMs(5000).connectionTimeoutMs(10000).retryPolicy(retryPolicy).namespace("test").build();
		client.start();

		DistributedAtomicInteger atomicInteger = new DistributedAtomicInteger(client,"/autlog",new RetryNTimes(32,1000));
		AtomicValue<Integer> rc = atomicInteger.add(8);  
		System.out.println("success:" + rc.succeeded() + ";before:" + rc.preValue() + ";after:" + rc.postValue());
		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-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; ...

    curator zookeeper 3.4.6 2.9.1

    curator zookeeper 3.4.6 2.9.1

    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