The API's inconsistency problem

On the one hand, the extensive list of competitive libraries, such as RxJava and features of the Java Core library, such as CompletableStage, give us a choice as to the way in which we write code. For example, we may rely on reaching the API of RxJava in order to write a flow of the items being processed. Consequently, to build an uncomplicated asynchronous request-response interaction, it is more than enough to rely on CompletableStage. Alternatively, we may use framework specific classes such as org.springframework.util.concurrent.ListenableFuture to build an asynchronous interaction between components and simplify the work with that framework.

On the other hand, the abundance of choices may easily over-complicate ...

Get Hands-On Reactive Programming in Spring 5 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.