文档章节

Curator lock

蘑菇头老大
 蘑菇头老大
发布于 2014/08/01 13:13
字数 107
阅读 85
收藏 0

 Curator 提供的分布式锁用法,很简单:

 

package curator.lock;

import org.apache.curator.RetryPolicy;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
import org.apache.curator.framework.recipes.locks.InterProcessMutex;
import org.apache.curator.retry.ExponentialBackoffRetry;

public class InterProcessMutexDemo {

	public static void main(String[] args) {
		RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 3);
		final CuratorFramework client = CuratorFrameworkFactory.builder().connectString("127.0.0.1:2181").sessionTimeoutMs(5000).connectionTimeoutMs(10000).retryPolicy(retryPolicy).namespace("text").build();
		client.start();
		
		InterProcessMutex lock = new InterProcessMutex(client,"/lock");
		try {
			lock.acquire();
			System.err.println("生成订单号");
			Thread.currentThread().sleep(5000L);
		} catch (Exception e) {
		} finally {
			try {
				lock.release();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		
		try {
			lock.acquire();
			System.err.println("生成订单号");
			Thread.currentThread().sleep(Long.MAX_VALUE);
		} catch (Exception e) {
		} finally {
			try {
				lock.release();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}		
	}
}

 

© 著作权归作者所有

蘑菇头老大
粉丝 2
博文 20
码字总数 7628
作品 0
杭州
私信 提问
使用Curator实现的zookeeper分布式锁出现的Unimplemented for {root.path}

问题描述 Curator使用 ZooKeeper 作为分布式锁,启动时发生该异常。 Curator 客户端版本:curator-recipes-2.10.0 ZooKeeper 服务器版本:3.4.13 异常日志 以及 问题分析 UnimplementedExcep...

loubobooo
2019/02/27
160
0
Apache Curator Zookeeper客户端

Curator是Netflix公司开源的一个Zookeeper客户端,与Zookeeper提供的原生客户端相比,Curator的抽象层次更高,简化了Zookeeper客户端的开发量。 1.Zookeeper安装部署 Zookeeper的部署很简单,...

laigous
2017/03/02
146
0
Apache Curator 2.10.0 和 3.1.0 发布

Apache Curator 今天发布两个新版本,分别是 2.10.0 和 3.1.0 。 其中 2.10.0 改进内容: Bug [CURATOR-208] - InterProcessSemaphoreV2 swallows InterruptedException [CURATOR-209] - Ba......

红薯
2016/02/15
3.9K
0
分布式利器Zookeeper(三)

前言 《分布式利器Zookeeper(一)》 《分布式利器Zookeeper(二):分布式锁》 本篇博客是分布式利器Zookeeper系列的最后一篇,涉及的话题是:Zookeeper分布式锁的代码实现、zkclient的使用、...

zfz_linux_boy
2018/07/01
0
0
ZooKeeper学习笔记六 ZooKeeper开源客户端Curator

本文学习资源来自《从Paxos到ZooKeeper分布式一致性原理与实践》 Curator Curator是Netflix公司开源的一套ZooKeeper客户端框架,作者是Jordan Zimmerman。 和ZkClient一样,Curator解决了很多...

xundh
2018/04/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

IMX6开发板虚拟机加载Ubuntu12.04.2镜像

基于迅为IMX6开发板 安装好虚拟机之后,用户就可以加载 Ubuntu12.04.2 镜像。用户可以在网盘中下载“编 译好的镜像”,该镜像已经安装好了编译 Android4.4.2 所需要的大部分软件。用户加载镜...

书白
18分钟前
5
0
linux入门系列8--shell编程入门

本文将结合前面介绍的Linux命令、管道符等知识,通过VI编辑器编写Shell脚本,实现能自动化工作的脚本文件。 在讲解Linux常用命令“linux入门系列5--新手必会的linux命令”一文中已提到,She...

黑马腾云
19分钟前
8
0
后台通过返回数据流的方式让你下载文件,怎么搞?

后台可以通过提供下载链接的方式让前端完成下载功能,这个多简单多粗暴多招人喜欢,只要location.href=`${url}`或者window.open(`${url}`)就结束了。 但是后台也会通过另一种方式提供下载,即...

学霸猫
21分钟前
5
0
条件表达式的合并使用

上一节我们已经学习了if条件语句,和if分支条件语句的使用。本节我们来看一下如果将多个表达式合并使用,就是我们之前学习布尔类型这节中,讲到的逻辑表达式,分别有and、or、not。那我们本节...

彩色泡泡糖
23分钟前
6
0
经典的EDA设计软件Protel99SE

Protel99SE是应用于Windows9X/2000/NT操作系统下的EDA设计软件,采用设计库管理模式,可以进行联网设计,具有很强的数据交换能力和开放性及3D模拟功能,是一个32位的设计软件,可以完成电路原...

demyar
25分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部