这篇文章主要介绍“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)); AtomicValuerc = atomicInteger.add(8); System.out.println("success:" + rc.succeeded() + ";before:" + rc.preValue() + ";after:" + rc.postValue()); System.in.read(); } }
到此,关于“Curator怎么实现分布式数字”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!