Browse Source

auto commit

tags/v1.0.0
yitter 3 years ago
parent
commit
c08ddab813
5 changed files with 11 additions and 12 deletions
  1. +5
    -4
      Java/README.md
  2. +1
    -1
      Java/source/pom.xml
  3. +1
    -1
      Java/source/src/main/java/com/github/yitter/contract/IdGeneratorOptions.java
  4. +1
    -1
      Java/source/src/main/java/com/github/yitter/core/SnowWorkerM1.java
  5. +3
    -5
      Java/source/src/main/java/com/github/yitter/idgen/DefaultIdGenerator.java

+ 5
- 4
Java/README.md View File

@@ -8,22 +8,23 @@ JDK 1.8+
<dependency> <dependency>
<groupId>com.github.yitter</groupId> <groupId>com.github.yitter</groupId>
<artifactId>yitter-idgenerator</artifactId> <artifactId>yitter-idgenerator</artifactId>
<version>1.0.2</version>
<version>1.0.3</version>
</dependency> </dependency>
``` ```
## 调用示例 ## 调用示例
``` ```
// 全局初始化设置WorkerId,默认最大2^16-1。(初始化过程全局只需一次,且必须最先设置)
// 全局初始化设置WorkerId,默认最大2^16-1,可通过调整 WorkerIdBitLength 增加最大值
IdGeneratorOptions options = new IdGeneratorOptions(); IdGeneratorOptions options = new IdGeneratorOptions();
options.WorkerId = 1; options.WorkerId = 1;
YitIdHelper.setIdGenerator(options); YitIdHelper.setIdGenerator(options);
// 以上初始化过程全局只需一次,且必须最先设置
// 初始化以后,就可以在需要的地方调用方法生成ID
// 初始化以后,即可在需要生成ID的地方,调用以下方法
long newId = YitIdHelper.nextId(); long newId = YitIdHelper.nextId();
``` ```
如果基于DI框架集成,可以参考 YitIdHelper 去管理 IdGenerator 对象,须使用**单例**模式。
如果基于DI框架集成,可以参考 YitIdHelper 去管理 IdGenerator 对象,须使用**单例**模式。
## options 默认值及说明 ## options 默认值及说明


+ 1
- 1
Java/source/pom.xml View File

@@ -6,7 +6,7 @@


<groupId>com.github.yitter</groupId> <groupId>com.github.yitter</groupId>
<artifactId>yitter-idgenerator</artifactId> <artifactId>yitter-idgenerator</artifactId>
<version>1.0.3-SNAPSHOT</version>
<version>1.0.4-SNAPSHOT</version>
<packaging>jar</packaging> <packaging>jar</packaging>


<name>yitter-idgenerator</name> <name>yitter-idgenerator</name>


+ 1
- 1
Java/source/src/main/java/com/github/yitter/contract/IdGeneratorOptions.java View File

@@ -51,7 +51,7 @@ public class IdGeneratorOptions {
/** /**
* 最小序列数(含) * 最小序列数(含)
* 默认5,不小于1,不大于MaxSeqNumber
* 默认5,不小于5,不大于MaxSeqNumber
*/ */
public short MinSeqNumber = 5; public short MinSeqNumber = 5;


+ 1
- 1
Java/source/src/main/java/com/github/yitter/core/SnowWorkerM1.java View File

@@ -63,7 +63,7 @@ public class SnowWorkerM1 implements ISnowWorker {
WorkerId = options.WorkerId; WorkerId = options.WorkerId;
WorkerIdBitLength = options.WorkerIdBitLength == 0 ? 6 : options.WorkerIdBitLength; WorkerIdBitLength = options.WorkerIdBitLength == 0 ? 6 : options.WorkerIdBitLength;
SeqBitLength = options.SeqBitLength == 0 ? 6 : options.SeqBitLength; SeqBitLength = options.SeqBitLength == 0 ? 6 : options.SeqBitLength;
MaxSeqNumber = options.MaxSeqNumber > 0 ? options.MaxSeqNumber : (int) Math.pow(2, SeqBitLength) - 1;
MaxSeqNumber = options.MaxSeqNumber > 0 ? options.MaxSeqNumber : (1 << SeqBitLength) - 1;
MinSeqNumber = options.MinSeqNumber; MinSeqNumber = options.MinSeqNumber;
TopOverCostCount = options.TopOverCostCount; TopOverCostCount = options.TopOverCostCount;
BaseTime = options.BaseTime != 0 ? options.BaseTime : 1582136402000L; BaseTime = options.BaseTime != 0 ? options.BaseTime : 1582136402000L;


+ 3
- 5
Java/source/src/main/java/com/github/yitter/idgen/DefaultIdGenerator.java View File

@@ -47,17 +47,15 @@ public class DefaultIdGenerator implements IIdGenerator {
} }
int maxValue = maxSeqNumber; int maxValue = maxSeqNumber;
if (options.MinSeqNumber < 1 || options.MinSeqNumber > maxValue) {
throw new IdGeneratorException("MinSeqNumber error. (range:[1, " + maxValue + "]");
if (options.MinSeqNumber < 5 || options.MinSeqNumber > maxValue) {
throw new IdGeneratorException("MinSeqNumber error. (range:[5, " + maxValue + "]");
} }
switch (options.Method) { switch (options.Method) {
case 1:
_SnowWorker = new SnowWorkerM1(options);
break;
case 2: case 2:
_SnowWorker = new SnowWorkerM2(options); _SnowWorker = new SnowWorkerM2(options);
break; break;
case 1:
default: default:
_SnowWorker = new SnowWorkerM1(options); _SnowWorker = new SnowWorkerM1(options);
break; break;


Loading…
Cancel
Save