public class CachedUIdWorker extends DefaultUIdWorker
UIdWorker
extends
from DefaultUIdWorker
, based on a lock free RingBuffer
The spring properties you can specified as below:
(BitsAllocator#getMaxSequence()
+ 1) <<
boostPower
, Default as
RingBuffer.DEFAULT_PADDING_PERCENT
Sample: paddingFactor=20, bufferSize=1000 -> threshold=1000 * 20 /100, padding buffer will be triggered when tail-cursorbitsAllocator, epochSeconds, epochStr, lastSecond, seqBits, sequence, timeBits, workerBits, workerId
构造器和说明 |
---|
CachedUIdWorker(int timeBits,
int workerBits,
int seqBits,
String epochStr,
long workerId,
int boostPower,
int paddingFactor,
Long scheduleInterval,
RejectedPutBufferHandler rejectedPutBufferHandler,
RejectedTakeBufferHandler rejectedTakeBufferHandler) |
限定符和类型 | 方法和说明 |
---|---|
void |
destroy() |
long |
getUID()
Get a unique ID
|
protected List<Long> |
nextIdsForOneSecond(long currentSecond)
Get the UIDs in the same specified second under the max sequence
|
String |
parseUID(long uid)
Parse the UID into elements which are used to generate the UID.
|
nextId
public CachedUIdWorker(int timeBits, int workerBits, int seqBits, String epochStr, long workerId, int boostPower, int paddingFactor, Long scheduleInterval, RejectedPutBufferHandler rejectedPutBufferHandler, RejectedTakeBufferHandler rejectedTakeBufferHandler)
public long getUID()
UIdWorker
getUID
在接口中 UIdWorker
getUID
在类中 DefaultUIdWorker
public String parseUID(long uid)
UIdWorker
parseUID
在接口中 UIdWorker
parseUID
在类中 DefaultUIdWorker
@PreDestroy public void destroy()