千家信息网

Curator怎么实现分布式数字

发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,这篇文章主要介绍"Curator怎么实现分布式数字",在日常操作中,相信很多人在Curator怎么实现分布式数字问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Curat
千家信息网最后更新 2025年01月25日Curator怎么实现分布式数字

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

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怎么实现分布式数字"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0