public class CachedUidGenerator extends DefaultUidGenerator implements org.springframework.beans.factory.DisposableBean
UidGenerator extends
from DefaultUidGenerator, 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, workerIdAssigner| 构造器和说明 |
|---|
CachedUidGenerator() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
afterPropertiesSet() |
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.
|
void |
setBoostPower(int boostPower)
Setters for spring property
|
void |
setRejectedPutBufferHandler(RejectedPutBufferHandler rejectedPutBufferHandler) |
void |
setRejectedTakeBufferHandler(RejectedTakeBufferHandler rejectedTakeBufferHandler) |
void |
setScheduleInterval(long scheduleInterval) |
nextId, setEpochStr, setSeqBits, setTimeBits, setWorkerBits, setWorkerIdAssignerpublic void afterPropertiesSet()
throws Exception
afterPropertiesSet 在接口中 org.springframework.beans.factory.InitializingBeanafterPropertiesSet 在类中 DefaultUidGeneratorExceptionpublic long getUID()
UidGeneratorgetUID 在接口中 UidGeneratorgetUID 在类中 DefaultUidGeneratorpublic String parseUID(long uid)
UidGeneratorparseUID 在接口中 UidGeneratorparseUID 在类中 DefaultUidGeneratorpublic void destroy()
throws Exception
destroy 在接口中 org.springframework.beans.factory.DisposableBeanExceptionprotected List<Long> nextIdsForOneSecond(long currentSecond)
currentSecond - BitsAllocator.getMaxSequence() + 1public void setBoostPower(int boostPower)
public void setRejectedPutBufferHandler(RejectedPutBufferHandler rejectedPutBufferHandler)
public void setRejectedTakeBufferHandler(RejectedTakeBufferHandler rejectedTakeBufferHandler)
public void setScheduleInterval(long scheduleInterval)
Copyright © 2020. All rights reserved.