T
- Type of dispatched signalpublic static final class TopicProcessor.Builder<T> extends Object
TopicProcessor
builder that can be used to create new
processors. Instantiate it through the TopicProcessor.builder()
static
method:
TopicProcessor<String> processor = TopicProcessor.<String>builder().build()
Modifier and Type | Method and Description |
---|---|
TopicProcessor.Builder<T> |
autoCancel(boolean autoCancel)
Configures auto-cancel for this builder.
|
TopicProcessor.Builder<T> |
bufferSize(int bufferSize)
Configures buffer size for this builder.
|
TopicProcessor<T> |
build()
Creates a new
TopicProcessor using the properties
of this builder. |
TopicProcessor.Builder<T> |
executor(ExecutorService executor)
Configures an
ExecutorService to execute as many event-loop consuming the
ringbuffer as subscribers. |
TopicProcessor.Builder<T> |
name(String name)
Configures name for this builder.
|
TopicProcessor.Builder<T> |
requestTaskExecutor(ExecutorService requestTaskExecutor)
Configures an additional
ExecutorService that is used internally
on each subscription. |
TopicProcessor.Builder<T> |
share(boolean share)
Configures sharing state for this builder.
|
TopicProcessor.Builder<T> |
signalSupplier(Supplier<T> signalSupplier)
Configures a supplier of dispatched signals to preallocate in the ring buffer
|
TopicProcessor.Builder<T> |
waitStrategy(WaitStrategy waitStrategy)
Configures wait strategy for this builder.
|
public TopicProcessor.Builder<T> name(@Nullable String name)
name
is null.name
- Use a new cached ExecutorService and assign this name to the created threads
if executor(ExecutorService)
is not configured.public TopicProcessor.Builder<T> bufferSize(int bufferSize)
Queues.SMALL_BUFFER_SIZE
.bufferSize
- the internal buffer size to hold signals, must be a power of 2.public TopicProcessor.Builder<T> waitStrategy(@Nullable WaitStrategy waitStrategy)
WaitStrategy.phasedOffLiteLock(long, long, TimeUnit)
.
Wait strategy is set to default if the provided waitStrategy
is null.waitStrategy
- A RingBuffer WaitStrategy to use instead of the default blocking wait strategy.public TopicProcessor.Builder<T> autoCancel(boolean autoCancel)
autoCancel
- automatically cancelpublic TopicProcessor.Builder<T> executor(@Nullable ExecutorService executor)
ExecutorService
to execute as many event-loop consuming the
ringbuffer as subscribers. Name configured using name(String)
will be ignored
if executor is set.executor
- A provided ExecutorService to manage threading infrastructurepublic TopicProcessor.Builder<T> requestTaskExecutor(@Nullable ExecutorService requestTaskExecutor)
ExecutorService
that is used internally
on each subscription.requestTaskExecutor
- internal request executorpublic TopicProcessor.Builder<T> share(boolean share)
share
- true to support concurrent onNext callspublic TopicProcessor.Builder<T> signalSupplier(@Nullable Supplier<T> signalSupplier)
signalSupplier
- A supplier of dispatched signals to preallocatepublic TopicProcessor<T> build()
TopicProcessor
using the properties
of this builder.