package com.qianwen.core.sequence;
|
|
import com.qianwen.core.sequence.builder.SnowflakeSeqBuilder;
|
import com.qianwen.core.sequence.properties.SequenceSnowflakeProperties;
|
import com.qianwen.core.sequence.sequence.Sequence;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
|
@ConditionalOnMissingBean({Sequence.class})
|
@Configuration
|
|
public class SequenceAutoConfiguration {
|
@ConditionalOnBean({SequenceSnowflakeProperties.class})
|
@Bean
|
public Sequence snowflakeSequence(SequenceSnowflakeProperties properties) {
|
return SnowflakeSeqBuilder.create().datacenterId(properties.getDatacenterId()).workerId(properties.getWorkerId()).build();
|
}
|
}
|