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

[jsr339-experts] Re: [jax-rs-spec users] Re: Is ResumeCallback needed

From: Sergey Beryozkin <sberyozkin_at_talend.com>
Date: Mon, 22 Oct 2012 11:24:06 +0100

I wonder, should AsyncResponse user object be introduced (as opposed to
the the actual object returned in the end) .
For example, when we have ResumeCallback.onResume(AsyncResponse,
Response), there's no easy way to figure out what state needs to be
released and such given the current AsyncResponse instance only. As I
said earlier, I guess the users would do whatever the cleanup is needed
before resuming AsyncResponse, but in cases when ResumeCallback may
indeed prove useful, an extra hint may be needed

Cheers, Sergey

On 04/10/12 00:13, Marek Potociar wrote:
> Well, it is a generic extension point that lets you plug in any custom processing aspect. You may want to e.g. start measuring performace of how long it took to process filters in the response filter chain, remove the suspended response from some processing queue of yours, notify a transaction manager about a transactional context that has to be resumed, etc...
>
> Marek
>
> On Oct 2, 2012, at 2:00 AM, Sergey Beryozkin<sberyozkin_at_talend.com> wrote:
>
>> So from another thread I'm getting a hint, using ResumeCallback is to do with the orthogonal (presumably to the use of AsyncResponse) use case.
>>
>> Would like to hear more about it please
>>
>> Sergey
>>
>> On 01/10/12 12:55, Sergey Beryozkin wrote:
>>> Hi
>>>
>>> I wonder if
>>>
>>> http://jax-rs-spec.java.net/nonav/2.0-SNAPSHOT/apidocs/javax/ws/rs/container/ResumeCallback.html
>>>
>>>
>>> is needed ?
>>>
>>> It does not harm, to have it, but it is really an extra check/execution
>>> call as far as I can see. ResumeCallback can log the message, but what
>>> else can it do, in addition to what the application code that either
>>> resumes or cancels the invocation can and which has much more info about
>>> why the response is resumed or cancelled ?
>>>
>>> It is only when a timeout occurs with no TimeoutHandler available when
>>> ResumeCallback can report something that the application code does not
>>> know about - in this case may be CompletionCallback can be extended with
>>> 'onTimeout()',
>>> so CompletionCallback will cover: the completion, the escaped exception
>>> case, the timeout
>>>
>>> Sergey
>>
>>
>