Sequence into this aggregate.EventHandlers that get called in sequence for each event.EventHandlers to be called in sequence.EventProcessors of a status change and stay in this status until cleared.EventProcessors waiting at a SequenceBarrier of status changes.RingBuffer
and delegating the available events to an EventHandler.EventProcessor that will automatically track the progress by updating its sequence when
the EventHandler.onEvent(Object, long, boolean) method returns.EventProcessors waiting on a barrier.EventProcessors waiting on a barrier.AlertException if it has.BlockingWaitStrategy.BlockingWaitStrategy.RingBuffer to drain of published events then halt the workers.RingBuffer to pre-populate all the events to fill the RingBuffer.RingBufferEventProcessors used as part of the Disruptor.RingBuffer
An EventProcessor will generally be associated with a Thread for execution.RingBuffer.
When publishing to the RingBuffer, provide an EventTranslator.RingBufferRingBufferRingBufferRingBufferBatchEventProcessorLevel.SEVERE and re-throw it wrapped in a RuntimeExceptionSequenceBarrier used by a specific handler.Sequences.Sequences.RingBuffer used by this Disruptor.Sequence being used by this EventProcessor.Sequences for the passed EventProcessorsSequences representing the progress of the workers.EventProcessor.halt() on all of the event processors created via this disruptor.BatchEventProcessor
then it should throw a RuntimeException.WorkerPool to distribute an event to one of a pool of work handler threads.LifecycleAware.onShutdown()LifecycleAware.onStart()Level.INFOEventHandler to be notified when a thread for the
BatchEventProcessor starts and shuts down.EventProcessor that simply tracks a Sequence.EventProcessor that simply tracks a Sequence object.RingBufferEventProcessors on a barrier.
This strategy can be used when throughput and low-latency are not as important as CPU resource.
Spins, then yields, then blocks on the configured BlockingStrategy.Sequence from this aggregate.EventProcessors.EventProcessors for processing a data structureBatchEventProcessor to set a callback allowing the EventHandler to notify
when it has finished consuming an event if this happens after the EventHandler.onEvent(Object, long, boolean) call.Sequences in the group to a given value.ExceptionHandler for handling exceptions propagated out of the BatchEventProcessorBatchEventProcessor to setup the callback.EventProcessors that the cursor has advanced.EventProcessors are waiting on a barrier.EventProcessors wait on a cursor Sequence.ExceptionHandler to use with the event handler.WorkProcessors that will consume sequences so jobs can be farmed out across a pool of workers.WorkHandlers to consume published sequences.RingBuffer for convenience.RingBuffer.WorkProcessor wraps a single WorkHandler, effectively consuming the sequence
and ensuring appropriate barriers.
Generally, this will be used as part of a WorkerPool.WorkProcessor.EventProcessors waiting on a barrier
after an initially spinning.Copyright © 2011 - 2013 LMAX Ltd. All Rights Reserved.