[jax-rs-spec users] Re: [PLEASE REVIEW] JAX-RS Client Reactive API -- updated

From: Markus KARG <>
Date: Fri, 20 Jan 2017 17:49:56 +0100



thank you for considering the critics and proposals discussed this week! It is great that you picked up the ideas.


As ugly as the API finally looks, I do not see an way to make it even better. :-( So for me, this new proposal is acceptable, given the fact that the majority in this EG apparently wants to support multiple RX implementations.


But there is only one thing I would really ask for: Can we rename "CompletionStageRxInvokerProvider" to e. g. "Java8" or something nice like that (so it could be similar to other providers named like "RxJava")? I mean, that name is certainly technically correct, but totally ugly to write and understand for beginners! :-)






From: Pavel Bucek []
Sent: Freitag, 20. Januar 2017 15:12
Subject: [PLEASE REVIEW] JAX-RS Client Reactive API -- updated


Dear experts,

thanks for your feedback!

Last suggestion by Santiago (doing lookup by the RxInvoker subclass) is implementable and I believe it is the best one we do have.

Code example (extensibility support):

Client rxClient = client.register(CompletionStageRxInvokerProvider.class, RxInvokerProvider.class);
CompletionStage<List<String>> cs ="remote/forecast/{destination}")
                .resolveTemplate("destination", "mars")
                .header("Rx-User", "Java8")
                .get(new GenericType<List<String>>() {

Corresponding pull request:
Please review the pull request and provide your comments and suggestions.

Thanks and have a nice weekend,

On 19/01/2017 16:54, Santiago Pericasgeertsen wrote:

Hi Pavel,


 Just catching up with this issue. I guess the two levels of indirection has led us into a generic wall :)



Client rxClient = client.register(CompletionStageRxInvokerProvider.class);

CompletionStage<UserPojo> cs = <> "")

 So what if we reduce indirection and write:




 as before, still keeping the provider for it? Less ideal of course.


— Santiago