我即将在AWS上创建一个Java分布式计算环境。我将有多个计算节点,并需要生成唯一的UUID(稍后将用作数据库键)。
据我所知,UUID规范仅表示UUID Version 2适用于DCE。
是否有Java中的现有实现?
据我所知,UUID规范仅表示UUID Version 2适用于DCE。
是否有Java中的现有实现?
UUID.randomUUID()
方法。@DynamoDBAutoGeneratedKey
的 @DynamoDBHashKey
字段,它在内部使用上述方法:
如果对于 DynamoDB 起作用,那么对于您来说也很可能会起作用!将分区键或排序键属性标记为自动生成。 DynamoDBMapper 将在保存这些属性时生成一个随机的 UUID。
<dependency>
<groupId>com.fasterxml.uuid</groupId>
<artifactId>java-uuid-generator</artifactId>
<version>3.2.0</version>
</dependency>
示例应用:
import com.fasterxml.uuid.EthernetAddress;
import com.fasterxml.uuid.Generators;
/**
* Java UUID Generator
*
*/
public class UUIDVersionExample {
public static void main(String[] args) {
String uuidType1= Generators.timeBasedGenerator(EthernetAddress.fromInterface()).generate().toString();
System.out.println("UUID=" +uuidType1);
}
}
UUID
类可以表示任何版本的UUID(1、2、3、4和5)值,但只能生成版本4的值。生成其他类型的UUID需要查找库或使用外部资源,例如您的数据库。 - Basil Bourque