1
0
mirror of synced 2026-02-23 05:17:55 +08:00

优化参数判断逻辑

This commit is contained in:
yitter
2021-04-03 13:02:43 +08:00
parent c918675a5a
commit 046880ca8f
13 changed files with 231 additions and 126 deletions

View File

@@ -1,34 +1,34 @@
## <EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><EFBFBD><EFBFBD>
## 运行环境
JDK 1.8+
## <EFBFBD><EFBFBD><EFBFBD><EFBFBD> maven <EFBFBD><EFBFBD>
## 引用 maven
```
<dependency>
<groupId>com.github.yitter</groupId>
<artifactId>yitter-idgenerator</artifactId>
<version>1.0.3</version>
<version>1.0.5</version>
</dependency>
```
## <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>
## 调用示例
```
// ȫ<EFBFBD>ֳ<EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WorkerId<EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2^16-1<><31><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WorkerIdBitLength <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
// 全局初始化设置WorkerId默认最大2^16-1可通过调整 WorkerIdBitLength 增加最大值
IdGeneratorOptions options = new IdGeneratorOptions();
options.WorkerId = 1;
YitIdHelper.setIdGenerator(options);
// <EFBFBD><EFBFBD><EFBFBD>ϳ<EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD>һ<EFBFBD>Σ<EFBFBD><EFBFBD>ұ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 以上初始化过程全局只需一次,且必须最先设置
// <EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>Ժ󣬼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID<EFBFBD>ĵط<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 初始化以后即可在需要生成ID的地方调用以下方法。
long newId = YitIdHelper.nextId();
```
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DI<EFBFBD><EFBFBD><EFBFBD>ܼ<EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բο<EFBFBD> YitIdHelper ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> IdGenerator <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>**<2A><><EFBFBD><EFBFBD>**ģʽ<C4A3><CABD>
如果基于DI框架集成可以参考 YitIdHelper 去管理 IdGenerator 对象,须使用**单例**模式。
## options Ĭ<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD>
## options 默认值及说明
<EFBFBD>ο<EFBFBD>Դ<EFBFBD>/contract/IdGeneratorOptions.java
参考源码:/contract/IdGeneratorOptions.java