Cancela recursivamente un todo de Futuro Completable
Si tengo
CompletableFuture<Something> future1 = service.request(param1);
CompletableFuture<Something> future2 = service.request(param2);
CompletableFuture<Void> many = CompletableFuture.allOf(future1, future2);
que pasará cuando lo hagamany.cancel()
? Seráfuture1
yfuture2
ser cancelado también? Si no, ¿cuál sería la forma más limpia de lograr esto? Soy reacio a aferrarme afuture1
yfuture2
, solo para poder cancelarlos cuando quiero cancelarmany
.
Algunos antecedentes sobre por qué quiero esto: cuando recibo un dato, necesito solicitar datos coincidentes, potencialmente futuros, para realizar un cálculo. Si llega un dato más nuevo, quiero cancelar la finalización del cómputo anterior, porque el resultado será inmediatamente reemplazado por el nuevo cómputo.