集群环境下uuid的生成

匿名 (未验证) 提交于 2019-12-02 23:47:01

集群环境下uuid的生成

package com.example.demo;  import lombok.extern.slf4j.Slf4j; import java.io.UnsupportedEncodingException; import java.util.UUID; import java.util.concurrent.atomic.AtomicInteger;  @Slf4j public class UUIDUtil {      /* 从运行环境的JAVA_OPTIONS中,获取配置:当前实例名 */     private static final String INSTANCE_NAME = System.getProperty("instance.name");      private static final AtomicInteger COUNT = new AtomicInteger(0);      /**      * 声明private构造方法      */     private UUIDUtil() {     }      /**      * 生成分布式UUID      *      * @return      */     public static String generateConcurrentUUID() {         if (null == INSTANCE_NAME) {             return "The instance.name JVM option is null";         }         String result = null;         StringBuilder builder = new StringBuilder();         builder.append(INSTANCE_NAME);         builder.append(System.currentTimeMillis());         builder.append(COUNT.incrementAndGet());         result = builder.toString();         System.out.println(result);         try {             result = UUID.nameUUIDFromBytes(result.getBytes("UTF-8")).toString().replace("-", "");         } catch (UnsupportedEncodingException e) {             log.error("uuid generate exception", e);         }         return result;     }      public static void main(String[] args){         System.out.println(generateConcurrentUUID());     } }

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!