十三、curator recipes之SharedCounter
生活随笔
收集整理的這篇文章主要介紹了
十三、curator recipes之SharedCounter
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
簡(jiǎn)介
我們可以通過curator實(shí)現(xiàn)對(duì)一個(gè)分布式環(huán)境下共享變量的訪問,zookeeper將共享變量維護(hù)在同一個(gè)路徑下。
官方文檔:http://curator.apache.org/curator-recipes/shared-counter.html
javaDoc:http://curator.apache.org/apidocs/org/apache/curator/framework/recipes/shared/SharedCount.html
代碼示例
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 {
private static CuratorFramework client = CuratorFrameworkFactory.newClient("localhost:2181", new ExponentialBackoffRetry(3000, 2));
private static String path = "/shared/counter/0001";
private static SharedCount count = new SharedCount(client, path, 0);
static {
client.start();
} public static void main(String[] args) throws Exception {
count.start();
count.addListener(new SharedCountListener() {
@Override
public void countHasChanged(SharedCountReader sharedCountReader, int i) throws Exception {
System.out.println("count changed value is " + i);
} @Override
public void stateChanged(CuratorFramework curatorFramework, ConnectionState connectionState) {
System.out.println("stateChanged isConnected: " + connectionState.isConnected());
}
});
count.setCount(10);
System.out.println("count: " + count.getCount());
Thread.sleep(50000);
client.close();
}
}
總結(jié)
以上是生活随笔為你收集整理的十三、curator recipes之SharedCounter的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: XJOI网上同步训练DAY1 T2
- 下一篇: 反射简化switch语句