backtype.storm.transactional
Interface ITransactionalSpout<T>

All Superinterfaces:
IComponent, java.io.Serializable
All Known Subinterfaces:
ICommitterTransactionalSpout<X>
All Known Implementing Classes:
BaseTransactionalSpout, OpaquePartitionedTransactionalSpoutExecutor, PartitionedTransactionalSpoutExecutor

public interface ITransactionalSpout<T>
extends IComponent


Nested Class Summary
static interface ITransactionalSpout.Coordinator<X>
           
static interface ITransactionalSpout.Emitter<X>
           
 
Method Summary
 ITransactionalSpout.Coordinator<T> getCoordinator(java.util.Map conf, TopologyContext context)
          The coordinator for a TransactionalSpout runs in a single thread and indicates when batches of tuples should be emitted and when transactions should commit.
 ITransactionalSpout.Emitter<T> getEmitter(java.util.Map conf, TopologyContext context)
          The emitter for a TransactionalSpout runs as many tasks across the cluster.
 
Methods inherited from interface backtype.storm.topology.IComponent
declareOutputFields, getComponentConfiguration
 

Method Detail

getCoordinator

ITransactionalSpout.Coordinator<T> getCoordinator(java.util.Map conf,
                                                  TopologyContext context)
The coordinator for a TransactionalSpout runs in a single thread and indicates when batches of tuples should be emitted and when transactions should commit. The Coordinator that you provide in a TransactionalSpout provides metadata for each transaction so that the transactions can be replayed.


getEmitter

ITransactionalSpout.Emitter<T> getEmitter(java.util.Map conf,
                                          TopologyContext context)
The emitter for a TransactionalSpout runs as many tasks across the cluster. Emitters are responsible for emitting batches of tuples for a transaction and must ensure that the same batch of tuples is always emitted for the same transaction id.