public static void waitForQldbStreamCompletion()

in src/main/java/software/amazon/qldb/tutorial/streams/StreamJournal.java [339:361]


    public static void waitForQldbStreamCompletion() {
        DescribeJournalKinesisStreamRequest describeStreamRequest = new DescribeJournalKinesisStreamRequest()
                .withStreamId(streamId)
                .withLedgerName(ledgerName);

        int retries = 0;
        while (retries < MAX_RETRIES) {
            DescribeJournalKinesisStreamResult describeStreamResponse = qldb.describeJournalKinesisStream(describeStreamRequest);
            String streamStatus = describeStreamResponse.getStream().getStatus();
            log.info("Waiting for Stream Completion. Current streamStatus: {}.", streamStatus);
            if (streamStatus.equals("COMPLETED")) {
                break;
            }
            try {
                Thread.sleep(1000);
            } catch (Exception ignore) {
            }
            retries++;
        }
        if (retries >= MAX_RETRIES) {
            throw new RuntimeException("Kinesis Stream with name " + kdsName + " never went completed.");
        }
    }