Time based uuid generator in java (JUG library / example)

  • Generate time based uuid in java using JUG (Java Uuid Generator) library.
  • JUG library provides couple of generator viz TimeBasedGenerator & RandomBasedGenerator.
  • In current post, we will demonstrate TimeBasedGenerator of JUG library.
    1. Generate time based UUID using TimeBasedGenerator
    2. Get the timestamp of generated UUID.
    3. Generate custom UUID using network interface.

Maven dependency of JUG library


<dependency>
 <groupId>com.fasterxml.uuid</groupId>
 <artifactId>java-uuid-generator</artifactId>
 <version>3.1.3</version>
</dependency>

Program: time based uuid generator in java (using JUG library)

package org.learn.uuid;

import com.fasterxml.uuid.EthernetAddress;
import com.fasterxml.uuid.Generators;
import com.fasterxml.uuid.NoArgGenerator;
import java.util.UUID;

public class TimeBasedUUID {
    public static void main(String[] args) {

        NoArgGenerator timeBasedGenerator = Generators.timeBasedGenerator();

        //Generate time based UUID
        UUID firstUUID = timeBasedGenerator.generate();
        System.out.printf("1. First UUID is : %s ", firstUUID.toString());
        System.out.printf("\n2. Timestamp of UUID is : %d ", firstUUID.timestamp());

        UUID secondUUID = timeBasedGenerator.generate();
        System.out.printf("\n3. Second UUID is :%s ", secondUUID.toString());
        System.out.printf("\n4. Timestamp of UUID is : %d ", secondUUID.timestamp());

        //Generate custom UUID from network interface
        timeBasedGenerator = Generators.timeBasedGenerator(EthernetAddress.fromInterface());
        UUID customUUID = timeBasedGenerator.generate();
        UUID anotherCustomUUID = timeBasedGenerator.generate();

        System.out.printf("\n5. Custom UUID is :%s ", customUUID.toString());
        System.out.printf("\n6. Another custom UUID : %s ", anotherCustomUUID.toString());
    }
}

Output: time based uuid generator in java (JUG library)

1. First UUID is : c81d4e2e-bcf2-11e6-869b-7df92533d2db 
2. Timestamp of UUID is : 137004589606850094 
3. Second UUID is :c81eadbf-bcf2-11e6-869b-7df92533d2db 
4. Timestamp of UUID is : 137004589606940095 
5. Custom UUID is :c83458a0-bcf2-11e6-869b-e4a7a078fa06 
6. Another custom UUID : c83458a1-bcf2-11e6-869b-e4a7a078fa06
Scroll to Top