Hi Santiago,
Sure, just put them on Github:
https://github.com/sdaschner/jsr-370-examples/tree/master/src/main/java/com/sebastian_daschner/jsr_370_examples/sse
At the time I wrote the article I tested them with a snapshot version of
Jersey that I've matched to the snapshot API state back then. So please
don't expect stuff to work here now -- currently compiles with the
snapshot version of the jaxrs-api repo.
Cheers,
Sebastian
On 01/30/2017 04:39 PM, Santiago Pericasgeertsen wrote:
> Hi Sebastian,
>
> Are your re-written examples publicly available? If so, could you
> share them with the group?
>
> Thanks.
>
> — Santiago
>
>> On Jan 28, 2017, at 5:49 AM, Sebastian Daschner
>> <java_at_sebastian-daschner.de <mailto:java_at_sebastian-daschner.de>> wrote:
>>
>> Hi Pavel,
>>
>> some feedback -- after rewriting my examples I did for the Java
>> Magazine article last year:
>>
>> I like the change on the SseBroadcaster, it makes the code leaner.
>>
>> The new Subscriber model on the client side is IMO more cumbersome to
>> use. The examples declare their own AbstractSubscriber, even if
>> they're just interested in #onNext. Visible when you look at the
>> changes of SseClient in b2b8f3f. IMO we should a least provide
>> shortcuts to the client.
>>
>> Cheers,
>> Sebastian
>>
>>
>>
>> On 01/24/2017 08:54 PM, Pavel Bucek wrote:
>>>
>>> Dear experts,
>>>
>>> please allow me to bring up another addition planned to be included
>>> in JAX-RS 2.1: Support for Server Sent Events.
>>>
>>> The API was introduced a while back [1], but we did incorporate some
>>> changes, mostly alignments with Java SE 8 and another one, slightly
>>> more controversial - alignment with Java SE 9 Flow API.
>>>
>>> Why we should use Flow API? We want to make the transition to Java 9
>>> as smooth as possible. Please note that today, the JAX-RS sources do
>>> contain Flow class (1:1 copy from Java SE 9), but that is NOT a
>>> final state. We want to work with it as much as possible, but we
>>> will minimize and clean up the code before final release. How?
>>> Consider following example:
>>>
>>> public interface SseBroadcaster extends AutoCloseable, Flow.Publisher<OutboundSseEvent> {
>>> //...
>>> }
>>>
>>> could be modified to
>>>
>>> public interface SseBroadcaster extends AutoCloseable {
>>> //...
>>> void subscribe(SseSubscriber<? super OutboundSseEvent> subscriber);
>>> }
>>>
>>> I hope you will like the attempt to be "forward-compatible", but I
>>> assume that this proposal alone will bring some opinions - please
>>> share them! Last note: currently, the Flow API is used only in SSE.
>>> We plan to use it heavily in Non-blocking I/O. If you think there
>>> are other areas where we can take advantage of Subscriber/Publisher
>>> methods, please let us know.
>>>
>>> Let me get back to the SSE API.
>>>
>>> Very brief description of the API is on the wiki [2], I will expand
>>> that once we'll have some feedback.
>>>
>>> The proposal contains support for server and client side. All
>>> classes are in the package javax.ws.rs.sse [3]. There is no added
>>> class from the last proposal, but there are some changes:
>>>
>>> - [server] SseBroadcaster extends Publisher<OutboundSseEvent>
>>> - [server] replaced SseBroadcaster.Listener by
>>> SseBroadcaster#onException and SseBroadcaster#onClose
>>> - [server] SseEventOutput extends Subscriber<OutboundSseEvent>
>>> - [client] SseEventSource extends Publisher<InboundSseEvent>
>>>
>>> Corresponding commit [4] looks like a bigger one, but most of it is
>>> renaming based on introduced interfaces, the core of the change is
>>> relatively small.
>>>
>>> I look forward to your comments and suggestions.
>>>
>>> I don't want to prolong this already too long email - please let me
>>> know if there are some areas which I should describe in more detail.
>>>
>>> Thanks and regards,
>>> Pavel & Santiago
>>>
>>> [1]
>>> https://java.net/projects/jax-rs-spec/lists/jsr370-experts/archive/2015-10/message/28
>>> [2] https://java.net/projects/jax-rs-spec/pages/ServerSentEvents
>>> [3]
>>> https://github.com/jax-rs/api/tree/master/jaxrs-api/src/main/java/javax/ws/rs/sse
>>> [4]
>>> https://github.com/jax-rs/api/commit/b2b8f3f4f20696558a3ff52b0de17fb04c343d02
>>>
>>
>