zookeeper分布式锁(十一)
来源:互联网 发布:上海回力鞋淘宝网 编辑:程序博客网 时间:2024/06/05 20:24
ZNodeName:
class ZNodeName implements Comparable<ZNodeName> { private final String name; private String prefix; private int sequence = -1; private static final Logger LOG = LoggerFactory.getLogger(ZNodeName.class); public ZNodeName(String name) { if (name == null) { throw new NullPointerException("id cannot be null"); } this.name = name; this.prefix = name; int idx = name.lastIndexOf('-'); if (idx >= 0) { this.prefix = name.substring(0, idx); try { this.sequence = Integer.parseInt(name.substring(idx + 1)); // If an exception occurred we misdetected a sequence suffix, // so return -1. } catch (NumberFormatException e) { LOG.info("Number format exception for " + idx, e); } catch (ArrayIndexOutOfBoundsException e) { LOG.info("Array out of bounds for " + idx, e); } } } @Override public String toString() { return name.toString(); } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; ZNodeName sequence = (ZNodeName) o; if (!name.equals(sequence.name)) return false; return true; } @Override public int hashCode() { return name.hashCode() + 37; } public int compareTo(ZNodeName that) { int answer = this.prefix.compareTo(that.prefix); if (answer == 0) { int s1 = this.sequence; int s2 = that.sequence; if (s1 == -1 && s2 == -1) { return this.name.compareTo(that.name); } answer = s1 == -1 ? 1 : s2 == -1 ? -1 : s1 - s2; } return answer; } /** * Returns the name of the znode */ public String getName() { return name; } /** * Returns the sequence number */ public int getZNodeName() { return sequence; } /** * Returns the text prefix before the sequence number */ public String getPrefix() { return prefix; }}
0 0
- zookeeper分布式锁(十一)
- zookeeper 分布式锁服务
- ZooKeeper示例 分布式锁
- zookeeper创建分布式锁
- zookeeper分布式锁DEMO
- zookeeper分布式锁
- zookeeper分布式锁(二)
- zookeeper分布式锁(三)
- zookeeper分布式锁(四)
- zookeeper分布式锁(五)
- zookeeper分布式锁(六)
- zookeeper分布式锁(七)
- zookeeper分布式锁(八)
- zookeeper分布式锁(九)
- zookeeper分布式锁(十)
- zookeeper分布式锁(十二)
- Zookeeper 分布式锁
- ZooKeeper使用--分布式锁
- ajax学习——XML的简单总结
- 每日任务!!!
- Akka学习笔记(3)
- 5 Tips for Fighting DDoS Attacks
- zoj 1234 Chopsticks
- zookeeper分布式锁(十一)
- Tomcat系列之服务器的安装与配置以及各组件详解
- -童年趣事-
- VIM回车换行替换
- Java调试的变迁:从System.out.println到log4j
- ZigZag Conversion
- find命令详解及使用示例
- FCoE的基本原理和优势
- -我最喜欢的节日春节-