org.apache.flume
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
configure
 

Method Detail

process

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:
Returns READY if events were successfully consumed, or BACKOFF if no events were available in the channel to consume.
Throws:
EventDeliveryException - if the behavior guaranteed by the processor couldn't be carried out.

setSinks

void setSinks(List<Sink> sinks)

Set all sinks to work with.

Sink specific parameters are passed to the processor via configure

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


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