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.