Я выполняю асинхронную операцию, которая возвращает будущий объект в al oop (скажем, 10 сообщений). Как я понимаю, метод обратного вызова автоматически запускается и выполняется, когда Future завершает свою задачу.
Предположим, мое седьмое будущее находится на стадии ожидания. Как я могу завершить это будущее исключительно?
И что такое лучший способ справиться с этим сценарием.
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");
}
});