org.apache.flume.sink
Interface LoadBalancingSinkProcessor.SinkSelector
- All Superinterfaces:
- Configurable, LifecycleAware
- All Known Implementing Classes:
- AbstractSinkSelector
- Enclosing class:
- LoadBalancingSinkProcessor
public static interface LoadBalancingSinkProcessor.SinkSelector
- extends Configurable, LifecycleAware
An interface that allows the LoadBalancingSinkProcessor to use
a load-balancing strategy such as round-robin, random distribution etc.
Implementations of this class can be plugged into the system via
processor configuration and are used to select a sink on every invocation.
An instance of the configured sink selector is create during the processor
configuration, its setSinks(List) method is invoked following
which it is configured via a subcontext. Once configured, the lifecycle of
this selector is tied to the lifecycle of the sink processor.
At runtime, the processor invokes the createSinkIterator()
method for every process call to create an iteration order over
the available sinks. The processor then loops through this iteration order
until one of the sinks succeeds in processing the event. If the iterator
is exhausted and none of the sinks succeed, the processor will raise
an EventDeliveryException.
setSinks
void setSinks(List<Sink> sinks)
createSinkIterator
Iterator<Sink> createSinkIterator()
informSinkFailed
void informSinkFailed(Sink failedSink)
Copyright © 2009-2012 Apache Software Foundation. All Rights Reserved.