网站建设资讯

NEWS

网站建设资讯

Curator怎么实现分布式数字

这篇文章主要介绍“Curator怎么实现分布式数字”,在日常操作中,相信很多人在Curator怎么实现分布式数字问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Curator怎么实现分布式数字”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

成都创新互联公司于2013年成立,是专业互联网技术服务公司,拥有项目网站建设、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元登封做网站,已为上家服务,为登封各地企业和个人服务,联系电话:028-86922220

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 rc = atomicInteger.add(8);  
		System.out.println("success:" + rc.succeeded() + ";before:" + rc.preValue() + ";after:" + rc.postValue());
		System.in.read();
	}

}

到此,关于“Curator怎么实现分布式数字”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


分享文章:Curator怎么实现分布式数字
本文地址:http://cdweb.net/article/jjgipp.html