Class StatisticsLoggingConsumer

java.lang.Object
org.dspace.statistics.StatisticsLoggingConsumer
All Implemented Interfaces:
Consumer

public class StatisticsLoggingConsumer extends Object implements Consumer
StatisticsLogging Consumer for SolrLogger which captures Create, Update and Delete Events on DSpace Objects. All usage-events will be updated to capture changes to e.g. the owning collection
Author:
kevinvandevelde at atmire.com, ben at atmrie.com
  • Field Details

  • Constructor Details

    • StatisticsLoggingConsumer

      public StatisticsLoggingConsumer()
  • Method Details

    • initialize

      public void initialize() throws Exception
      Description copied from interface: Consumer
      Allocate any resources required to operate. This may include initializing any pooled JMS resources. Called ONCE when created by the dispatcher pool. This should be used to set up expensive resources that will remain for the lifetime of the consumer.
      Specified by:
      initialize in interface Consumer
      Throws:
      Exception - if error
    • consume

      public void consume(Context ctx, Event event) throws Exception
      Description copied from interface: Consumer
      Consume an event. Events may be filtered by a dispatcher, hiding them from the consumer. This behavior is based on the dispatcher/consumer configuration. Should include logic to initialize any resources required for a batch of events.

      This method must not commit the context. Committing causes re-dispatch of the event queue, which can result in infinite recursion leading to memory exhaustion as seen in {@link https://github.com/DSpace/DSpace/pull/8756}.

      Specified by:
      consume in interface Consumer
      Parameters:
      ctx - the current DSpace session
      event - the content event
      Throws:
      Exception - if error
    • end

      public void end(Context ctx) throws Exception
      Description copied from interface: Consumer
      Signal that there are no more events queued in this event stream and event processing for the preceding consume calls should be finished up.
      Specified by:
      end in interface Consumer
      Parameters:
      ctx - the execution context object
      Throws:
      Exception - if error
    • finish

      public void finish(Context ctx) throws Exception
      Description copied from interface: Consumer
      Finish - free any allocated resources. Called when consumer (via it's parent dispatcher) is going to be destroyed by the dispatcher pool.
      Specified by:
      finish in interface Consumer
      Parameters:
      ctx - the execution context object
      Throws:
      Exception - if error