创建一个随机UUID,并在两种不同的Java方法中使用它



我试图创建一个随机UUID(转换为字符串(,并在两个不同的Java方法中使用它们,但我不知道如何保存创建的UUID并将它们传递给方法。我现在正在插入一个硬编码字符串。

创建方法-

public void createLocationStream() {
UUID stream = UUID.randomUUID(); <---- UUID CREATION
BasicAWSCredentials awsCredentials = new BasicAWSCredentials(awsAccessKey, awsSecretKey);
AmazonKinesis kinesisClient = AmazonKinesisClient.builder()
.withCredentials(new AWSStaticCredentialsProvider(awsCredentials))
.withRegion(awsRegion)
.build();
CreateStreamRequest createStreamRequest = new CreateStreamRequest();
createStreamRequest.setStreamName(String.valueOf(stream));
createStreamRequest.setShardCount(1);
kinesisClient.createStream(createStreamRequest);
}

要传递到的方法

方法1中的使用-

public void addDataToStream() {
PutRecordsRequest putRecordsRequest  = new PutRecordsRequest();
putRecordsRequest.setStreamName("location-stream");   <--- HARDCODED STRING
List <PutRecordsRequestEntry> putRecordsRequestEntryList  = new ArrayList<>();
PutRecordsRequestEntry putRecordsRequestEntry  = new PutRecordsRequestEntry();
putRecordsRequestEntry.setData(ByteBuffer.wrap((formData).toString().getBytes()));
putRecordsRequestEntry.setPartitionKey("partitionKey-%d");
putRecordsRequestEntryList.add(putRecordsRequestEntry);
}

在方法2中的使用-

public void createShards() {
GetShardIteratorRequest readShardsRequest = new GetShardIteratorRequest();
readShardsRequest.setStreamName("location-stream");   <--- HARDCODED STRING
readShardsRequest.setShardIteratorType(ShardIteratorType.LATEST);
readShardsRequest.setShardId("000000000000");
}

您表示不确定如何从应用程序与MySQL RDS实例进行交互。这里有一个AWS教程,它将帮助您启动和运行并执行所需的任务,如设置MySQL SQL实例和使用入站规则。这个例子是一个Spring BOOT应用程序,它跟踪典型状态报告用例的工作项。

参见:

创建亚马逊关系数据库服务项目跟踪器

在这个AWS教程中有很多逻辑,包括设置Java连接。

至于时间问题,您需要编写自己的测试等,以确定从RDS数据库表查询GUID值需要多长时间。

最新更新