# Snowflake ID Implementation Using littlenb/snowflake [TOC] --- ## Dependency ```xml <dependency> <groupId>com.littlenb</groupId> <artifactId>snowflake</artifactId> <version>1.0.5</version> </dependency> ``` GitHub repository is [here](https://github.com/littlenb/snowflake). ## Code Snippet ```java import com.littlenb.snowflake.sequence.IdGenerator; import com.littlenb.snowflake.support.ElasticIdGeneratorFactory; import com.littlenb.snowflake.worker.SimpleWorkerIdAssigner; /** * Omitted for brevity */ private static final IdGenerator ID_GENERATOR; static { ElasticIdGeneratorFactory idGeneratorFactory = new ElasticIdGeneratorFactory(); idGeneratorFactory.setEpochTimestamp( Long.parseLong( System.getenv("EPOCH_TIMESTAMP") ) ); idGeneratorFactory.setTimeBits(41); idGeneratorFactory.setTimeUnit(TimeUnit.MILLISECONDS); idGeneratorFactory.setWorkerBits(12); idGeneratorFactory.setSeqBits(10); ID_GENERATOR = idGeneratorFactory.create( new SimpleWorkerIdAssigner( Long.parseLong( System.getenv("WORKER_ID") ) ) ); } public static long nextSnowflakeId() { return ID_GENERATOR.nextId(); } ```