等待Kafka Send API返回的ListenAbleFuture列表

问题描述 投票:0回答:1

我有ListenAbleFuture列表。我要等待此列表如果尚未完成,则ListenableFuture<SendResult<Integer, String>>最多15分钟。我该如何实现。

当前我正在执行此操作,但是我不希望每个ListenAbleFuture等待15分钟。

 for (ListenableFuture<SendResult<Integer, String>> m : myFutureList) {

                    m.get(15, TimeUnit.MINUTES) ;
    }

ListenableFuture<SendResult<Integer, String>> is from import org.springframework.util.concurrent.ListenableFuture;

我经历过Waiting on a list of Future,但此解决方案仅适用于未来的发展

java future spring-kafka kafka-producer-api
1个回答
0
投票

创建CountDownLatch,例如new CountDownLatch(50),在每个可监听的未来中添加一个监听器,并在每个监听器中向下计数。您可以对所有期货使用相同的侦听器,而不是每次都创建一个新的侦听器。

© www.soinside.com 2019 - 2024. All rights reserved.