в Java 8, параметр mayInterruptIfRunning
метода CompletableFuture#cancel(mayInterruptIfRunning)
не вступает в силу, что, я думаю, нарушает контракт, определенный в java.util.concurrent.Future
.
Это вызовет проблему при переносе кода с Future
на CompletableFuture
, не замечая этого изменения договора.
Также, похоже, нарушает принцип подстановки Лискова.
статья по теме: https://www.nurkiewicz.com/2015/03/completablefuture-cant-be-interrupted.html