Implementing SSE on the server-side
In this section, we're going to take a look at opening SSE sinks using the text/event-stream media type. We'll be sending simple data and also JSON data events. Finally, we'll be closing and disconnecting the SSE sink which we previously opened.
Let's get started, dive into the code, and open our IDE. As usual, we prepare a small template to get us started. Open the EventsResource.java
file. The first thing we need to do is implement the opening of the event-stream. We can do that by implementing a plain HTTP @GET
method, though the first thing is going to be the parameter, which is where we pass the @Context
of type SseEventSink
.
This is the object that we can use later to send events down to the client. You can also see the @Produces
annotation, which is where we use text/event-stream
as the MediaType
. This is the special media type used to designate SSE:
@GET @Produces(MediaType.SERVER_SENT_EVENTS) public void openEventStream( @Context...