Why shouldn't it? SSE is *no* special case in JAX-RS if I understood the Oracle proposal correctly: All the work (keeping the session open) is done *explicitly* by the application programmer. There simply seems to be *no* magic at all.
From: Sergey Beryozkin [mailto:sberyozkin_at_talend.com]
Sent: Donnerstag, 12. November 2015 22:57
To: jsr370-experts_at_jax-rs-spec.java.net
Subject: Re: How is an SSE method selected
Really ? So if no Accept is set by a browser client then a JAX-RS method that does not initiate an SSE output channel can be selected ?
Sergey
On 12/11/15 18:22, Markus KARG wrote:
As it is no special case at all, it simply is selected in case it is the best matching method.
From: Sergey Beryozkin [mailto:sberyozkin_at_talend.com]
Sent: Donnerstag, 12. November 2015 13:12
To: jsr370-experts_at_jax-rs-spec.java.net
Subject: How is an SSE method selected
Hi All
It is somewhat related to the earlier discussion.
From SSE [1]:
http://www.w3.org/TR/2009/WD-eventsource-20091029/#processing-model
"For HTTP connections, the Accept header may be included; if included, it must contain only formats of event framing that are supported by the user agent (one of which must be text/event-stream <
http://www.w3.org/TR/2009/WD-eventsource-20091029/#text-event-stream> , as described below)."
So, if Accept: text/event-stream is included, I can see how having @Produces(text/event-stream) can indeed help in relying on the existing JAX-RS mechanism to ensure that the relevant method is selected.
However, the language above implies that it is optional to have Accept for initiating an SSE channel. What happens if Accept is omitted - how will the method be selected in that case ?
Thanks, Sergey