org.apache.flume.source
Class AbstractPollableSource

java.lang.Object
  extended by org.apache.flume.source.BasicSourceSemantics
      extended by org.apache.flume.source.AbstractPollableSource
All Implemented Interfaces:
Configurable, LifecycleAware, NamedComponent, PollableSource, Source
Direct Known Subclasses:
JMSSource

@InterfaceAudience.Public
@InterfaceStability.Evolving
public abstract class AbstractPollableSource
extends BasicSourceSemantics
implements PollableSource

Base class which ensures sub-classes will inherit all the properties of BasicSourceSemantics in addition to:

  1. Ensuring when configure/start throw an exception process will not be called
  2. Ensure that process will not be called unless configure and start have successfully been called


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.apache.flume.PollableSource
PollableSource.Status
 
Constructor Summary
AbstractPollableSource()
           
 
Method Summary
protected abstract  PollableSource.Status doProcess()
           
 PollableSource.Status process()
           Attempt to pull an item from the source, sending it to the channel.
 
Methods inherited from class org.apache.flume.source.BasicSourceSemantics
configure, doConfigure, doStart, doStop, getChannelProcessor, getLifecycleState, getName, getStartException, isStarted, setChannelProcessor, setLifecycleState, setName, start, stop, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.flume.Source
getChannelProcessor, setChannelProcessor
 
Methods inherited from interface org.apache.flume.lifecycle.LifecycleAware
getLifecycleState, start, stop
 
Methods inherited from interface org.apache.flume.NamedComponent
getName, setName
 

Constructor Detail

AbstractPollableSource

public AbstractPollableSource()
Method Detail

process

public PollableSource.Status process()
                              throws EventDeliveryException
Description copied from interface: PollableSource

Attempt to pull an item from the source, sending it to the channel.

When driven by an EventDrivenSourceRunner process is guaranteed to be called only by a single thread at a time, with no concurrency. Any other mechanism driving a pollable source must follow the same semantics.

Specified by:
process in interface PollableSource
Returns:
READY if one or more events were created from the source. BACKOFF if no events could be created from the source.
Throws:
EventDeliveryException - If there was a failure in delivering to the attached channel, or if a failure occurred in acquiring data from the source.

doProcess

protected abstract PollableSource.Status doProcess()
                                            throws EventDeliveryException
Throws:
EventDeliveryException


Copyright © 2009-2015 Apache Software Foundation. All Rights Reserved.