org.glassfish.jersey.media.sse
Class EventSource.Builder

java.lang.Object
  extended by org.glassfish.jersey.media.sse.EventSource.Builder
Enclosing class:
EventSource

public static class EventSource.Builder
extends Object

Jersey EventSource builder class. Event source builder provides methods that let you conveniently configure and subsequently build a new EventSource instance. You can obtain a new event source builder instance using a static EventSource.target(endpoint) factory method.

For example:

 EventSource es = EventSource.target(endpoint).named("my source")
                             .reconnectingEvery(5, SECONDS)
                             .open();
 

Since:
2.3

Method Summary
 EventSource build()
          Build new SSE event source pointing at a SSE streaming web target.
 EventSource.Builder named(String name)
          Set a custom name for the event source.
 EventSource open()
          Build new SSE event source pointing at a SSE streaming web target.
 EventSource.Builder reconnectingEvery(long delay, TimeUnit unit)
          Set the initial reconnect delay to be used by the event source.
 EventSource.Builder usePersistentConnections()
          Instruct event source to use persistent HTTP connections when connecting (or reconnecting) to the SSE endpoint, provided the mechanism is supported by the underlying client Connector.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

named

public EventSource.Builder named(String name)
Set a custom name for the event source.

At present, custom event source name is mainly useful to be able to distinguish different event source event processing threads from one another. If not set, a default name will be generated using the SSE endpoint URI.

Parameters:
name - custom event source name.
Returns:
updated event source builder instance.

usePersistentConnections

public EventSource.Builder usePersistentConnections()
Instruct event source to use persistent HTTP connections when connecting (or reconnecting) to the SSE endpoint, provided the mechanism is supported by the underlying client Connector.

By default, the persistent HTTP connections are disabled for the reasons discussed in the EventSource javadoc.

Returns:
updated event source builder instance.

reconnectingEvery

public EventSource.Builder reconnectingEvery(long delay,
                                             TimeUnit unit)
Set the initial reconnect delay to be used by the event source.

Note that this value may be later overridden by the SSE endpoint using either a retry SSE event field or HTTP 503 + "Retry-After" mechanism as described in the EventSource javadoc.

Parameters:
delay - the default time to wait before attempting to recover from a connection loss.
unit - time unit of the reconnect delay parameter.
Returns:
updated event source builder instance.

build

public EventSource build()
Build new SSE event source pointing at a SSE streaming web target.

The returned event source is ready, but not connected to the SSE endpoint. It is expected that you will manually invoke its open() method once you are ready to start receiving SSE events. In case you want to build an event source instance that is already connected to the SSE endpoint, use the event source builder open() method instead.

Once the event source is open, the incoming events are processed by the event source in an asynchronous task that runs in an internal single-threaded scheduled executor service.

Returns:
new event source instance, ready to be connected to the SSE endpoint.
See Also:
open()

open

public EventSource open()
Build new SSE event source pointing at a SSE streaming web target.

The returned event source is already connected to the SSE endpoint and is processing any new incoming events. In case you want to build an event source instance that is already ready, but not automatically connected to the SSE endpoint, use the event source builder build() method instead.

The incoming events are processed by the event source in an asynchronous task that runs in an internal single-threaded scheduled executor service.

Returns:
new event source instance, already connected to the SSE endpoint.
See Also:
build()


Copyright © 2007-2014, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.