Skip to content

Commit c00314d

Browse files
committed
updated POM to use JDK 21
1 parent 98d4eef commit c00314d

File tree

3 files changed

+51
-15
lines changed

3 files changed

+51
-15
lines changed

javav2/example_code/firehose/src/main/java/com/example/firehose/CreateDeliveryStream.java

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,9 @@
77
// snippet-start:[firehose.java2.create_stream.import]
88
import software.amazon.awssdk.regions.Region;
99
import software.amazon.awssdk.services.firehose.FirehoseClient;
10-
import software.amazon.awssdk.services.firehose.model.FirehoseException;
11-
import software.amazon.awssdk.services.firehose.model.CreateDeliveryStreamRequest;
12-
import software.amazon.awssdk.services.firehose.model.ExtendedS3DestinationConfiguration;
13-
import software.amazon.awssdk.services.firehose.model.CreateDeliveryStreamResponse;
10+
import software.amazon.awssdk.services.firehose.model.*;
11+
12+
import java.util.concurrent.TimeUnit;
1413
// snippet-end:[firehose.java2.create_stream.import]
1514

1615
/**
@@ -72,5 +71,36 @@ public static void createStream(FirehoseClient firehoseClient, String bucketARN,
7271
System.out.println(e.getLocalizedMessage());
7372
}
7473
}
74+
75+
public static void waitForStreamToBecomeActive(FirehoseClient firehoseClient, String streamName) {
76+
System.out.println("Waiting for the stream to become ACTIVE...");
77+
int maxAttempts = 60; // 10 minutes (60 * 10 seconds)
78+
int attempt = 0;
79+
while (attempt < maxAttempts) {
80+
try {
81+
DescribeDeliveryStreamRequest describeRequest = DescribeDeliveryStreamRequest.builder()
82+
.deliveryStreamName(streamName)
83+
.build();
84+
DescribeDeliveryStreamResponse describeResponse = firehoseClient.describeDeliveryStream(describeRequest);
85+
String status = describeResponse.deliveryStreamDescription().deliveryStreamStatusAsString();
86+
87+
System.out.println("Current status: " + status);
88+
if (status.equals("ACTIVE")) {
89+
System.out.println("Stream is now ACTIVE.");
90+
return;
91+
}
92+
93+
TimeUnit.SECONDS.sleep(10);
94+
attempt++;
95+
} catch (InterruptedException e) {
96+
Thread.currentThread().interrupt();
97+
throw new RuntimeException("Polling interrupted", e);
98+
} catch (FirehoseException e) {
99+
System.err.println("Error while checking stream status: " + e.getMessage());
100+
}
101+
}
102+
System.err.println("Timed out waiting for the stream to become ACTIVE.");
103+
System.exit(1);
104+
}
75105
}
76106
// snippet-end:[firehose.java2.create_stream.main]

javav2/example_code/firehose/src/main/java/com/example/firehose/scenario/FirehoseScenario.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import com.fasterxml.jackson.core.type.TypeReference;
77
import com.fasterxml.jackson.databind.ObjectMapper;
88
import software.amazon.awssdk.core.SdkBytes;
9+
import software.amazon.awssdk.regions.Region;
910
import software.amazon.awssdk.services.cloudwatch.CloudWatchClient;
1011
import software.amazon.awssdk.services.cloudwatch.model.*;
1112
import software.amazon.awssdk.services.firehose.FirehoseClient;
@@ -38,11 +39,11 @@ public static void main(String[] args) {
3839
deliveryStreamName - The Firehose delivery stream name.
3940
""";
4041

41-
if (args.length != 1) {
42-
System.out.println(usage);
43-
return;
44-
}
45-
String deliveryStreamName = args[0];
42+
// if (args.length != 1) {
43+
// System.out.println(usage);
44+
// return;
45+
// }
46+
String deliveryStreamName = "scottstocks" ; //args[0];
4647

4748
try {
4849
// Read and parse sample data.
@@ -77,14 +78,18 @@ public static void main(String[] args) {
7778

7879
private static FirehoseClient getFirehoseClient() {
7980
if (firehoseClient == null) {
80-
firehoseClient = FirehoseClient.create();
81+
firehoseClient = FirehoseClient.builder()
82+
.region(Region.US_EAST_1)
83+
.build();
8184
}
8285
return firehoseClient;
8386
}
8487

8588
private static CloudWatchClient getCloudWatchClient() {
8689
if (cloudWatchClient == null) {
87-
cloudWatchClient = CloudWatchClient.create();
90+
cloudWatchClient = CloudWatchClient.builder()
91+
.region(Region.US_EAST_1)
92+
.build();
8893
}
8994
return cloudWatchClient;
9095
}

javav2/example_code/firehose/src/test/java/FirehoseTest.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public class FirehoseTest {
3737
@BeforeAll
3838
public static void setUp() throws IOException {
3939
firehoseClient = FirehoseClient.builder()
40-
.region(Region.US_WEST_2)
40+
.region(Region.US_EAST_1)
4141
.build();
4242

4343
// Get the values to run these tests from AWS Secrets Manager.
@@ -55,16 +55,17 @@ public static void setUp() throws IOException {
5555
@Tag("IntegrationTest")
5656
@Order(1)
5757
public void CreateDeliveryStream() {
58-
assertDoesNotThrow(() -> CreateDeliveryStream.createStream(firehoseClient, bucketARN, roleARN, newStream));
58+
assertDoesNotThrow(() -> {
59+
CreateDeliveryStream.createStream(firehoseClient, bucketARN, roleARN, newStream);
60+
CreateDeliveryStream.waitForStreamToBecomeActive(firehoseClient, newStream);
61+
});
5962
System.out.println("Test 1 passed");
6063
}
6164

6265
@Test
6366
@Tag("IntegrationTest")
6467
@Order(2)
6568
public void PutRecord() throws IOException, InterruptedException {
66-
System.out.println("Wait 10 mins for resource to become available.");
67-
TimeUnit.MINUTES.sleep(10);
6869
String jsonContent = FirehoseScenario.readJsonFile("sample_records.json");
6970
ObjectMapper objectMapper = new ObjectMapper();
7071
List<Map<String, Object>> sampleData = objectMapper.readValue(jsonContent, new TypeReference<>() {});

0 commit comments

Comments
 (0)