Interface Consumer

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void consume​(Context ctx, Event event)
      Consume an event.
      void end​(Context ctx)
      Signal that there are no more events queued in this event stream and event processing for the preceding consume calls should be finished up.
      void finish​(Context ctx)
      Finish - free any allocated resources.
      void initialize()
      Allocate any resources required to operate.
    • Method Detail

      • initialize

        void initialize()
                 throws Exception
        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.
        Throws:
        Exception - if error
      • consume

        void consume​(Context ctx,
                     Event event)
              throws Exception
        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}.

        Parameters:
        ctx - the current DSpace session
        event - the content event
        Throws:
        Exception - if error
      • end

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

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