org.dspace.event
Interface Consumer

All Known Implementing Classes:
BrowseConsumer, CheckerConsumer, EPersonConsumer, HarvestConsumer, SearchConsumer, TestConsumer

public interface Consumer

Interface for content event consumers. Note that the consumer cannot tell if it is invoked synchronously or asynchronously; the consumer interface and sequence of calls is the same for both. Asynchronous consumers may see more consume() calls between the start and end of the event stream, if they are invoked asynchronously, once in a long time period, rather than synchronously after every Context.commit().

Version:
$Revision: 3762 $

Method Summary
 void consume(Context ctx, Event event)
          Consume an event; events may get filtered at the dispatcher level, hiding it from the consumer.
 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()
          Initialize - allocate any resources required to operate.
 

Method Detail

initialize

void initialize()
                throws Exception
Initialize - 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

consume

void consume(Context ctx,
             Event event)
             throws Exception
Consume an event; events may get filtered at the dispatcher level, hiding it 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.

Parameters:
ctx - the execution context object
event - the content event
Throws:
Exception

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.

Throws:
Exception

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.

Throws:
Exception


Copyright © 2010 DuraSpace. All Rights Reserved.