Interface SinkProcessor

All Superinterfaces:
Configurable, LifecycleAware
All Known Implementing Classes:
AbstractSinkProcessor, DefaultSinkProcessor, FailoverSinkProcessor, LoadBalancingSinkProcessor

public interface SinkProcessor
extends LifecycleAware, Configurable

Interface for a device that allows abstraction of the behavior of multiple sinks, always assigned to a SinkRunner

A sink processors process() method will only be accessed by a single runner thread. However configuration methods such as Configurable.configure(org.apache.flume.Context) may be concurrently accessed.

See Also:
Sink, SinkRunner, SinkGroup

Method Summary
 Sink.Status process()
          Handle a request to poll the owned sinks.
 void setSinks(List<Sink> sinks)
          Set all sinks to work with.
Methods inherited from interface org.apache.flume.lifecycle.LifecycleAware
getLifecycleState, start, stop
Methods inherited from interface org.apache.flume.conf.Configurable

Method Detail


Sink.Status process()
                    throws EventDeliveryException

Handle a request to poll the owned sinks.

The processor is expected to call Sink.process() on whatever sink(s) appropriate, handling failures as appropriate and throwing EventDeliveryException when there is a failure to deliver any events according to the delivery policy defined by the sink processor implementation. See specific implementations of this interface for delivery behavior and policies.

Returns READY if events were successfully consumed, or BACKOFF if no events were available in the channel to consume.
EventDeliveryException - if the behavior guaranteed by the processor couldn't be carried out.


void setSinks(List<Sink> sinks)

Set all sinks to work with.

Sink specific parameters are passed to the processor via configure

sinks - A non-null, non-empty list of sinks to be chosen from by the processor

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