Interface Subscriber.Option<V,U>

Type Parameters:
V - the type of the value on the topic
U - the type of the value returned to the subscriber
All Known Implementing Classes:
Subscriber.ChannelOwnershipListeners, Subscriber.CompleteOnEmpty, Subscriber.Convert, Subscriber.Filtered, Subscriber.Name
Enclosing interface:
Subscriber<V>

public static interface Subscriber.Option<V,U>
A marker interface to indicate that a class is a valid Subscriber.Option for a Subscriber.

Options to use with NamedTopic.createSubscriber(Subscriber.Option...)
Subscriber Option Description
Subscriber.Name.of(String) Specify subscriber group name.
For each value delivered to a subscriber group, only one member of the group receives the value.
Subscriber.Filtered.by(Filter) Only Subscriber.receive() values matching this Filter.
Only one Filter per subscription group.
Subscriber.Convert.using(ValueExtractor) Convert topic value using provided ValueExtractor prior to Subscriber.receive().
Only one Converter per subscription group.
Subscriber.CompleteOnEmpty.enabled() When no values left to Subscriber.receive(), returned CompletableFuture.get() returns null Element.
By default, returned CompletableFuture.get() blocks until next topic value is available to return.

All members of subscriber group share at most a single Filter and single Converter. The last Subscriber joining the group and specifying these option(s) are the ones used by all subscriber group members. Note that when both a Subscriber.Filtered.by(Filter) and Subscriber.Convert.using(ValueExtractor) are specified, the Filter is applied first and only NamedTopic values matching the filter are converted before being received by the Subscriber(s).

  • Field Details

  • Method Details

    • nullOption

      static <V, U> Subscriber.Option<V,U> nullOption()
      A null implementation of an Subscriber.Option.
      Type Parameters:
      V - the type of the value on the topic
      U - the type of the value returned to the subscriber
      Returns:
      a null implementation of an Subscriber.Option.