Class IdGenerators.SimpleIncrementingIdGenerator
java.lang.Object
org.springframework.integration.support.IdGenerators.SimpleIncrementingIdGenerator
- All Implemented Interfaces:
IdGenerator
- Enclosing class:
- IdGenerators
public static class IdGenerators.SimpleIncrementingIdGenerator extends Object implements IdGenerator
Based on the two
AtomicLong
s, for topBits
and bottomBits
,
respectively.
Begins with {0, 1}; incremented on each use.
Note: after each 2^63
generations, a duplicate UUID
can be returned in a multi-threaded environment, if a second thread sees the old topBits
before it is incremented by the thread detecting the bottomBits roll over.
The duplicate would be from around the previous rollover and
the chance of such a value still being in the system is exceedingly small.
If your system might be impacted by this situation, you should choose another IdGenerator
.
Also note that there is no persistence, so this generator starts at {0, 1} each time the system
is initialized. Therefore, it is not suitable when persisting messages based on their ID; it should
only be used when the absolute best performance is required and messages are not persisted.
-
Constructor Summary
Constructors Constructor Description SimpleIncrementingIdGenerator()
-
Method Summary
Modifier and Type Method Description UUID
generateId()
-
Constructor Details
-
SimpleIncrementingIdGenerator
public SimpleIncrementingIdGenerator()
-
-
Method Details
-
generateId
- Specified by:
generateId
in interfaceIdGenerator
-