I did not say nothing else exists and I will not forget it. I said, it is not an industry standard (in the sense of a norm; and possibly by good reason) but just a hyped product (which simply is a fact), and it is doubtful whether it will survive once Java 10 finally comes up with an industry standard, so I would propose not to add complexity _now_ if in some months we might learn that the same plugability might be not needed anymore due to that.
Also I have no problem with supporting plugability, but I would love that have a one-time configuraton for that in the sense of an SPI, instead of writing down the same decision again and again for each and every invocation of the API.
Anyways, I think we both made clear our different view and so now is time for others to share theirs.
-Markus
From: Sergey Beryozkin [mailto:sberyozkin_at_talend.com]
Sent: Freitag, 13. Januar 2017 18:44
To: jsr370-experts_at_jax-rs-spec.java.net
Subject: Re: [jax-rs-spec users] JAX-RS 2.1 - work schedule
Which is what we will do, and the standard which will let users plug-in and not to be 'silly' in asserting that nothing but CompletableStage exists (in case of Rx) will be a good standard for JAXRS users
On 13/01/17 17:38, Markus KARG wrote:
Maybe you forgot that we are an expert group with the charter to define an international standard, and nothing else?
People not interested in standards hence implicitly are out of scope of any discussion in _this_ mailing list, as they can simply use any native product-specific API already.
Hence we particularly should not lean from _any_ product, but should concentrate on our actual charter.
-Markus
From: Sergey Beryozkin [mailto:sberyozkin_at_talend.com]
Sent: Donnerstag, 12. Januar 2017 20:06
To: jsr370-experts_at_jax-rs-spec.java.net
Subject: Re: [jax-rs-spec users] JAX-RS 2.1 - work schedule
Standards, standards. You keep forgetting that today many users do not care about standards but about being able to use the good, proven to work technologies in their work.
We should learn from Spring WS/REST.
> In the end, what we decide, is frozen for decades. I mean, that's a difference between breeding an international standard and simply providing a good API _for now_.
The standard which noone will use ? rx() will not force people to use what you do not consider a proper standard
On 12/01/17 18:53, Markus KARG wrote:
RxJava is not a JCP standard, and popularity can change easily. So it is doubtful whether non-standards have to be taken core of by standards. I cannot see any other JCP standard that enforces a detour in the API just for the sake of supporting non-standards. Correct me if I am wrong. A better way would be defining an SPI, or configuration, too statically choose in the bootstrat. I doubt that applications will mix differen RX implementations at runtime, so there is no need to say "I want RxJava" with every single call of the API.
Yes, Java 10. I heared that it might provide an official RX standard for Java SE. So JAX-RS "3+" might be facing a situation whethere it has to support an official standard. We have to take care that decisions for JAX-RS today must not stand in the way of usefulness and conciseness of JAX-RS in the future. I hardly think that in two or three years people like the idea that they have to write "rx(Classname)" always if possibly Java 10's reactive API took over and nobody talks about CompletableStage and RxJava anymore.
In the end, what we decide, is frozen for decades. I mean, that's a difference between breeding an international standard and simply providing a good API _for now_.
Markus
From: Sergey Beryozkin [mailto:sberyozkin_at_talend.com]
Sent: Donnerstag, 12. Januar 2017 18:56
To: jsr370-experts_at_jax-rs-spec.java.net
Subject: Re: [jax-rs-spec users] JAX-RS 2.1 - work schedule
Java 10 ? JAX-RS 2.1 is Java 8 based, and RxJava is highly popular so voluntarily restricting 2.1. to CompletableStage only would be a mistake...
Sergey
On 12/01/17 17:10, Markus KARG wrote:
The question is whether we actually want the ability to support other reactive implementations, or whether we decide to stick with CompletableStage? The rx intermediate method makes the API more complex for anybody. On the other hand, Java 10 possibly will provide a "real" reactive API for everyone, and we cannot natively support it, but enforce people to use rx() still, which is tedious. I cannot remember that the EG actually agreed upon a final answer of this dilemma.
From: Santiago Pericasgeertsen [mailto:santiago.pericasgeertsen_at_oracle.com]
Sent: Donnerstag, 12. Januar 2017 16:00
To: jsr370-experts_at_jax-rs-spec.java.net
Subject: Re: [jax-rs-spec users] JAX-RS 2.1 - work schedule
On Jan 11, 2017, at 4:17 PM, Pavel Bucek <pavel.bucek_at_oracle.com> wrote:
So what's going to happen next? We are currently working in PoC implementation of Reactive client API which is currently in the JAX-RS source repository master branch - it is almost ready for review. We identified small improvement needed there and I'm going to take care of that, finish the PoC implementation and document the API on the wiki. Once this is done, I'll send a request for review to this mailing list.
Just a quick reminder that the crux of the RX work is the addition of new rx() methods to Invocation, with default support for CompletionStage and an extension point to plug in other reactive implementations via the RxInvoker type [1].
— Santiago
[1]
https://java.net/projects/jax-rs-spec/sources/api/content/jaxrs-api/src/main/java/javax/ws/rs/client/Invocation.java