【发布时间】:2020-08-11 13:33:45
【问题描述】:
我正在执行一个异步操作,它在循环中返回一个未来对象(比如 10 条消息)。 据我了解,回调方法会在 Future 完成其任务时自动触发并执行。
假设我的第 7 个未来处于未决阶段。我该如何异常完成这个未来?
以及处理这种情况的最佳方法是什么。
List<ListenableFuture<SendResult<String, String>>> cf = new ArrayList<ListenableFuture<SendResult<String, String>>>();
future = kafkaTemplate.send(topicName, message);
cf.add(future);
i++;
future.addCallback(new ListenableFutureCallback<SendResult<String, String>>() {
@Override
public void onSuccess(SendResult<String, String> result) {
syso("sent success");
}
@Override
public void onFailure(Throwable ex) {
System.out.println(" sending failed");
}
});
【问题讨论】:
标签: java apache-kafka future spring-kafka kafka-producer-api