Class OrcidQueueConsumer

  • All Implemented Interfaces:
    Consumer

    public class OrcidQueueConsumer
    extends Object
    implements Consumer
    The consumer to fill the ORCID queue. The addition to the queue is made for all archived items that meet one of these conditions:
    • are profiles already linked to orcid that have some modified sections to be synchronized (based on the preferences set by the user)
    • are publications/fundings related to profile items linked to orcid (based on the preferences set by the user)
    Author:
    Luca Giamminonni (luca.giamminonni at 4science.it)
    • Constructor Detail

      • OrcidQueueConsumer

        public OrcidQueueConsumer()
    • Method Detail

      • 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 context,
                            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:
        context - the current DSpace session
        event - the content event
        Throws:
        Exception - if error
      • end

        public void end​(Context context)
                 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:
        context - the execution context object
        Throws:
        Exception - if error
      • finish

        public void finish​(Context context)
                    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:
        context - the execution context object
        Throws:
        Exception - if error