public class IdGenerator
extends java.lang.Object
Generate unique ID in a cluster
Modifier and Type | Class and Description |
---|---|
static interface |
IdGenerator.LongEncoder |
static interface |
IdGenerator.NodeIdProvider |
static class |
IdGenerator.SafeLongEncoder |
static interface |
IdGenerator.SequenceProvider
SequenceProvider shall generate unique ID within one JVM per each call |
static interface |
IdGenerator.StartIdProvider
Implementation of
StartIdProvider shall return a unique id per each system start |
static class |
IdGenerator.UnsafeLongEncoder |
Modifier and Type | Field and Description |
---|---|
static IdGenerator.LongEncoder |
SAFE_ENCODER |
static IdGenerator.LongEncoder |
UNSAFE_ENCODER |
Constructor and Description |
---|
IdGenerator()
Create a default IdGenerator with following configuration: Node ID provider: four byte IP address Start ID provider: stored in
.act.id-global file Sequence ID provider: Atomic Long sequence Long Encoder: IdGenerator.SafeLongEncoder |
IdGenerator(boolean useUnsafeLongEncoder)
Create a default IdGenerator with following configuration: Node ID provider: four byte IP address Start ID provider: stored in
.act.id-global file Sequence ID provider: Atomic Long sequence Long Encoder: IdGenerator.UnsafeLongEncoder when useUnsafeLongEncoder is set to true or IdGenerator.SafeLongEncoder otherwise |
IdGenerator(IdGenerator.NodeIdProvider nodeIdProvider,
IdGenerator.StartIdProvider startIdProvider,
IdGenerator.SequenceProvider sequenceProvider,
IdGenerator.LongEncoder longEncoder)
Create a default IdGenerator with specified node id provider, start id provider and sequence provider:
|
IdGenerator(int effectiveIpBytes)
Create a default IdGenerator with following configuration: Node ID provider: N byte IP address, where N is specified by effectiveIpBytes argument Start ID provider: stored in
.act.id-global file Sequnce ID provider: Atomic Long sequence |
IdGenerator(int effectiveIpBytes,
java.lang.String startIdFile)
Create a default IdGenerator with following configuration: Node ID provider: N byte IP address, where N is specified by effectiveIpBytes argument Start ID provider: use start ID file specified by startIdFile argument Sequnce ID provider: Atomic Long sequence
|
IdGenerator(java.lang.String startIdFile)
Create a default IdGenerator with following configuration: Node ID provider: 4 byte IP address Start ID provider: use start ID file specified by startIdFile argument Sequnce ID provider: Atomic Long sequence
|
Modifier and Type | Method and Description |
---|---|
java.lang.String |
genId()
Generate a unique ID across the cluster
|
public static final IdGenerator.LongEncoder SAFE_ENCODER
public static final IdGenerator.LongEncoder UNSAFE_ENCODER
public IdGenerator()
Create a default IdGenerator with following configuration:
.act.id-global
fileIdGenerator.SafeLongEncoder
public IdGenerator(boolean useUnsafeLongEncoder)
Create a default IdGenerator with following configuration:
.act.id-global
fileIdGenerator.UnsafeLongEncoder
when useUnsafeLongEncoder
is set to true
or IdGenerator.SafeLongEncoder
otherwise useUnsafeLongEncoder
- indicate use safe or unsafe long encoderpublic IdGenerator(IdGenerator.NodeIdProvider nodeIdProvider, IdGenerator.StartIdProvider startIdProvider, IdGenerator.SequenceProvider sequenceProvider, IdGenerator.LongEncoder longEncoder)
Create a default IdGenerator with specified node id provider, start id provider and sequence provider:
public IdGenerator(int effectiveIpBytes)
Create a default IdGenerator with following configuration:
.act.id-global
filepublic IdGenerator(int effectiveIpBytes, java.lang.String startIdFile)
Create a default IdGenerator with following configuration:
public IdGenerator(java.lang.String startIdFile)
Create a default IdGenerator with following configuration:
Copyright © 2014–2017 ActFramework. All rights reserved.