Class RingBufferLogEventHandler4

java.lang.Object
org.apache.logging.log4j.core.async.RingBufferLogEventHandler4
All Implemented Interfaces:
com.lmax.disruptor.EventHandler<RingBufferLogEvent>
Direct Known Subclasses:
RingBufferLogEventHandler

class RingBufferLogEventHandler4 extends Object implements com.lmax.disruptor.EventHandler<RingBufferLogEvent>
This event handler gets passed messages from the RingBuffer as they become available. Processing of these messages is done in a separate thread, controlled by the Executor passed to the Disruptor constructor. *

* Warning: this class only works with Disruptor 4.x. *

  • Field Details

    • NOTIFY_PROGRESS_THRESHOLD

      private static final int NOTIFY_PROGRESS_THRESHOLD
      See Also:
    • sequenceCallback

      private com.lmax.disruptor.Sequence sequenceCallback
    • counter

      private int counter
    • threadId

      private long threadId
  • Constructor Details

    • RingBufferLogEventHandler4

      RingBufferLogEventHandler4()
  • Method Details

    • setSequenceCallback

      public void setSequenceCallback(com.lmax.disruptor.Sequence sequenceCallback)
    • onEvent

      public void onEvent(RingBufferLogEvent event, long sequence, boolean endOfBatch) throws Exception
      Specified by:
      onEvent in interface com.lmax.disruptor.EventHandler<RingBufferLogEvent>
      Throws:
      Exception
    • notifyCallback

      private void notifyCallback(long sequence)
    • getThreadId

      public long getThreadId()
      Returns the thread ID of the background consumer thread, or -1 if the background thread has not started yet.
      Returns:
      the thread ID of the background consumer thread, or -1
    • onStart

      public void onStart()
    • onShutdown

      public void onShutdown()