У меня есть требование, при котором мне необходимо получить статус сканера AWS Glue, который является асинхронным запросом, и в зависимости от того, когда задания будут выполнены, я вызову определенные события.Подвох в том, что я не хочу использовать опрос.Если посмотреть дальше, документы AWS предлагают использовать объект CompletableFuture
для обработки асинхронных запросов в AWS.Но когда я пытаюсь использовать, я не могу сформировать CompletableFuture
объект, так как он дает мне несоответствие типов.У меня есть этот код:
GetCrawlerMetricsRequest metricsRequest =
new GetCrawlerMetricsRequest().withCrawlerNameList(Arrays.asList("myJavaCrawler"));
GetCrawlerMetricsResult jsonOb = awsglueClient.getCrawlerMetrics(metricsRequest);
CompletableFuture<GetCrawlerMetricsResult> futureResponse = CompletableFuture<GetCrawlerMetricsResult>awsglueClient.getCrawlerMetricsAsync(metricsRequest);
Но futureResponse
объект показывает ошибку с указанием FutureTask cannot be casted to CompletableFuture
.
Я следую подходу, данному здесь
Я не уверен, как я могу заставить это работать.Основываясь на этом futureResponse
объекте, я могу затем использовать функцию .whenApply
, чтобы вызвать определенное задание, которое я хочу выполнить, например, отправить вышеуказанный ответ в очередь Кафки.Есть идеи?