The instance of SseEventSink can be only acquired by injection of a resource method parameter:
@GET
@Path("eventStream")
@Produces(MediaType.SERVER_SENT_EVENTS)
public void eventStream(@Context SseEventSink eventSink) {
// ...
}
The injected instance is then considered as a return type, so the resource method doesn't return anything,
similarly as in server-side async processing.
The underlying client connection is kept open and the application code is able to send events. A server-side instance implementing the interface corresponds exactly to a single client HTTP connection.
The injected instance is thread safe.
| Modifier and Type | Method and Description |
|---|---|
| public void | close()
Redeclares java. SseEventSink instance and release all associated resources.
|
| public boolean | |
| public CompletionStage | Returns: completion stage that completes when the event has been sent. If there is a problem during sending of an event, completion stage will be completed exceptionally.event to be written. event)Send an outbound Server-sent event to this sink. |
| close | back to summary |
|---|---|
| public void close() Redeclares java. Close the
Subsequent calls have no effect and are ignored. Once the
| |
| isClosed | back to summary |
|---|---|
| public boolean isClosed() Check if the stream has been closed already.
Please note that the client connection represented by this
| |
| send | back to summary |
|---|---|
| public CompletionStage Send an outbound Server-sent event to this sink. Event will be serialized and sent to the client.
| |