For application facing APIs, we can provide CompletionStage alternatives. For internal usages, we could retain it or phase it out completely.
Comment From: sdeleuze
+1 for phasing it out, that would improve clarity for users to not have too much alternatives, and with CompletionStage
and Mono
I think we are covered.
Comment From: poutsma
This is now complete:
* Deprecation of ListenableFuture
and related types (ListenableFutureCallback
, SettableListenableFuture
, etc.)
* Deprecation of AsyncListenableTaskExecutor
in favor of default methods in AsyncTaskExecutor
(submitCompletable
).
* AsyncHandlerMethodReturnValueHandler
now has toCompletableFuture
instead of toListenableFuture.
* WebSocketClient
now has execute
methods, which do the same as doHandshake
, but return CompletableFutures
(cf. the reactive WebSocketClient
).
All other changes:
* add an overloaded method that takes a CompletableFuture
parameter instead of ListenableFuture
, and/or
* add a method with a 'Async' suffix that returns a CompletableFuture
instead of a ListenableFuture
(connectAsync
, sendAsync
).