jsr339-experts@jax-rs-spec.java.net

[jsr339-experts] Re: A proposal to make the JAX-RS API "lambda ready".

From: Sergey Beryozkin <sberyozkin_at_talend.com>
Date: Tue, 30 Oct 2012 14:01:19 +0000

On 30/10/12 13:25, Marek Potociar wrote:
>
> On Oct 30, 2012, at 11:23 AM, Sergey Beryozkin<sberyozkin_at_talend.com> wrote:
>
>> On 29/10/12 19:06, Markus KARG wrote:
>>> I think it is a very good idea to support lambda expressions, as it
>>> makes the readability of anonymous callbacks much simple to read (and
>>> write). On the other hand, AFAIK lambdas will enforce JRE 8, while our
>>> API must be able to run on JRE 7.
>>
>> Actually, it runs on JRE6.
>
> Yes (because you insisted) :) Btw. do you still insist? Note that Java EE 7 requires Java SE 7. (Sorry for side-tracking the discussion here - just thought it's good time to check again...)
>
I guess the issue id really about getting newer Java API available in
Java SE 7+ explicitly used in JSR 339 API.

Making it possible to run JAX-RS 2.0 applications on Java SE 6.0 does
not prevent it in itself having them run in Java SE 7.

Unfortunately, it is not possible right now for CXF trunk to stop
supporting SE 6 builds. I do not want to have CXF 'block' the progress
of the API, but IMHO, having newer Java SE API visible at the JAX-RS 2.0
level is not critical at the moment

Cheers, Sergey


> Marek
>
>>
>>> How can this gap be bridged?
>>
>> It is about making it ready, it does not have to bridged now
>>
>> Sergey
>>
>>>
>>> *From:*Marek Potociar [mailto:marek.potociar_at_oracle.com]
>>> *Sent:* Montag, 29. Oktober 2012 12:07
>>> *To:* jsr339-experts_at_jax-rs-spec.java.net
>>> *Subject:* [jsr339-experts] A proposal to make the JAX-RS API "lambda
>>> ready".
>>>
>>> Hello experts,
>>>
>>> A month ago at JavaOne, making APIs ready for closure support that is
>>> coming in Java SE 8, was one of the hot topics. The main idea behind
>>> making an API ready for "lambdas" (or closures), is to expose
>>> single-method interfaces whenever one expects a future use of lambdas.
>>> In JAX-RS 2.0, such places include definition of async response
>>> callbacks as well as client-side invocation callback.
>>>
>>> With that I took a stab on it and tried to come up with a proposal that
>>> would make our new APIs more lambda-ready. Please review the proposal here:
>>>
>>> https://github.com/mpotociar/jax-rs/compare/lambda
>>>
>>> In summary, I have updated the client.InvocationCallback to have only a
>>> single method and since I anticipate that many users would still prefer
>>> the old 2-method style, I'm adding an AbstractInvocationCallback
>>> convenience class. On the side of async response container callbacks,
>>> I've similarly updated the CompletionCallback and ResumeCallback APIs to
>>> adopt a single-method pattern. In my last commit I've also decided
>>> (based on numerous Sergey's requests) to propose removal of
>>> ResumeCallback (for now).
>>>
>>> I'm looking forward to your review comments.
>>>
>>> Marek
>>>
>>
>>
>> --
>> Sergey Beryozkin
>>
>> Talend Community Coders
>> http://coders.talend.com/
>>
>> Blog: http://sberyozkin.blogspot.com
>