Interface ISubscriberManagerBuilder<T extends ISubscriberManagerBuilder<T,​P,​B>,​P,​B extends ISubscriberManager<B>>

  • Type Parameters:
    T - Type of concrete builder, needed for fluent methods.
    P - Type of the payloads processed.
    B - Type of concrete manager (built object), needed for fluent methods.
    All Superinterfaces:
    org.symphonyoss.s2.common.fluent.IBuilder<T,​B>, org.symphonyoss.s2.common.fluent.IFluent<T>
    All Known Subinterfaces:
    IPullSubscriberManagerBuilder<T,​P,​B>
    All Known Implementing Classes:
    AbstractPullSubscriberManager.Builder, AbstractSubscriberManager.Builder

    public interface ISubscriberManagerBuilder<T extends ISubscriberManagerBuilder<T,​P,​B>,​P,​B extends ISubscriberManager<B>>
    extends org.symphonyoss.s2.common.fluent.IBuilder<T,​B>
    A builder for a subscriber manager of payload type P.
    Author:
    Bruce Skingle
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      T withConfig​(org.symphonyoss.s2.fugue.config.IConfiguration config)
      Set the configuration to be used.
      T withCounter​(org.symphonyoss.s2.fugue.counter.ICounter counter)
      Set the metric counter to be used.
      T withNameFactory​(org.symphonyoss.s2.fugue.naming.INameFactory nameFactory)
      Set the name factory to be used.
      T withSubscription​(ISubscription<P> subscription)  
      T withTraceContextTransactionFactory​(org.symphonyoss.s2.fugue.core.trace.ITraceContextTransactionFactory traceFactory)
      Set the trace context transaction factory to be used.
      T withUnprocessableMessageConsumer​(org.symphonyoss.s2.fugue.pipeline.IThreadSafeErrorConsumer<P> unprocessableMessageConsumer)
      Set the consumer for unprocessable messages.
      • Methods inherited from interface org.symphonyoss.s2.common.fluent.IBuilder

        build
      • Methods inherited from interface org.symphonyoss.s2.common.fluent.IFluent

        self
    • Method Detail

      • withNameFactory

        T withNameFactory​(org.symphonyoss.s2.fugue.naming.INameFactory nameFactory)
        Set the name factory to be used.
        Parameters:
        nameFactory - The name factory to be used.
        Returns:
        this (fluent method)
      • withConfig

        T withConfig​(org.symphonyoss.s2.fugue.config.IConfiguration config)
        Set the configuration to be used.
        Parameters:
        config - The configuration to be used.
        Returns:
        this (fluent method)
      • withCounter

        T withCounter​(org.symphonyoss.s2.fugue.counter.ICounter counter)
        Set the metric counter to be used.
        Parameters:
        counter - The metric counter to be used.
        Returns:
        this (fluent method)
      • withTraceContextTransactionFactory

        T withTraceContextTransactionFactory​(org.symphonyoss.s2.fugue.core.trace.ITraceContextTransactionFactory traceFactory)
        Set the trace context transaction factory to be used.
        Parameters:
        traceFactory - The trace context transaction factory to be used.
        Returns:
        this (fluent method)
      • withUnprocessableMessageConsumer

        T withUnprocessableMessageConsumer​(org.symphonyoss.s2.fugue.pipeline.IThreadSafeErrorConsumer<P> unprocessableMessageConsumer)
        Set the consumer for unprocessable messages. Messages will be sent to this consumer immediately of the handler throws a fatal exception and possibly after some number of retries in the case of a retryable exception.
        Parameters:
        unprocessableMessageConsumer - The consumer for unprocessable messages.
        Returns:
        this (fluent method)
      • withSubscription

        T withSubscription​(ISubscription<P> subscription)
        Parameters:
        subscription -
        Returns:
        this (fluent method)