Class IndexEventConsumer

  • All Implemented Interfaces:
    Consumer

    public class IndexEventConsumer
    extends Object
    implements Consumer
    Class for updating search indices in discovery from content events.
    Author:
    Kevin Van de Velde (kevin at atmire dot com), Mark Diggory (markd at atmire dot com), Ben Bosman (ben at atmire dot com)
    • Constructor Detail

      • IndexEventConsumer

        public IndexEventConsumer()
    • 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 ctx,
                            Event event)
                     throws Exception
        Consume a content event -- just build the sets of objects to add (new) to the index, update, and delete.
        Specified by:
        consume in interface Consumer
        Parameters:
        ctx - DSpace context
        event - Content event
        Throws:
        Exception - if error
      • end

        public void end​(Context ctx)
                 throws Exception
        Process sets of objects to add, update, and delete in index. Correct for interactions between the sets -- e.g. objects which were deleted do not need to be added or updated, new objects don't also need an update, etc.
        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