Class RingBufferLogEventHandler

java.lang.Object
org.apache.logging.log4j.core.async.RingBufferLogEventHandler
All Implemented Interfaces:
com.lmax.disruptor.EventHandler<RingBufferLogEvent>, com.lmax.disruptor.LifecycleAware, com.lmax.disruptor.SequenceReportingEventHandler<RingBufferLogEvent>

public class RingBufferLogEventHandler extends Object implements com.lmax.disruptor.SequenceReportingEventHandler<RingBufferLogEvent>, com.lmax.disruptor.LifecycleAware
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.
  • 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

    • RingBufferLogEventHandler

      public RingBufferLogEventHandler()
  • Method Details

    • setSequenceCallback

      public void setSequenceCallback(com.lmax.disruptor.Sequence sequenceCallback)
      Specified by:
      setSequenceCallback in interface com.lmax.disruptor.SequenceReportingEventHandler<RingBufferLogEvent>
    • 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()
      Specified by:
      onStart in interface com.lmax.disruptor.LifecycleAware
    • onShutdown

      public void onShutdown()
      Specified by:
      onShutdown in interface com.lmax.disruptor.LifecycleAware