Package cn.lm.mybatis.mapper.incrementer
Class Sequence
java.lang.Object
cn.lm.mybatis.mapper.incrementer.Sequence
分布式高效有序 ID 生产黑科技(sequence)
优化开源项目:https://gitee.com/yu120/sequence
- Since:
- 2016-08-18
- Author:
- hubin
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic long自动寻找网卡时,默认启动最大时间间隔,超过这个初始化时间打印warn日志 -
Constructor Summary
ConstructorsConstructorDescriptionSequence(long workerId, long datacenterId) 有参构造器Sequence(InetAddress inetAddress) -
Method Summary
Modifier and TypeMethodDescriptionprotected longgetDatacenterId(long maxDatacenterId) 数据标识id部分protected longgetMaxWorkerId(long datacenterId, long maxWorkerId) 获取 maxWorkerIdlongnextId()获取下一个 IDstatic longparseIdTimestamp(long id) 反解id的时间戳部分protected longtilNextMillis(long lastTimestamp) protected longtimeGen()
-
Field Details
-
MAX_START_INTERVAL_TIME
public static long MAX_START_INTERVAL_TIME自动寻找网卡时,默认启动最大时间间隔,超过这个初始化时间打印warn日志- Since:
- 3.5.6
-
-
Constructor Details
-
Sequence
-
Sequence
public Sequence(long workerId, long datacenterId) 有参构造器- Parameters:
workerId- 工作机器 IDdatacenterId- 序列号
-
-
Method Details
-
getMaxWorkerId
protected long getMaxWorkerId(long datacenterId, long maxWorkerId) 获取 maxWorkerId -
getDatacenterId
protected long getDatacenterId(long maxDatacenterId) 数据标识id部分 -
nextId
public long nextId()获取下一个 ID- Returns:
- 下一个 ID
-
tilNextMillis
protected long tilNextMillis(long lastTimestamp) -
timeGen
protected long timeGen() -
parseIdTimestamp
public static long parseIdTimestamp(long id) 反解id的时间戳部分
-