Package org.apache.storm.trident.testing
Class FeederCommitterBatchSpout
- java.lang.Object
-
- org.apache.storm.trident.testing.FeederCommitterBatchSpout
-
- All Implemented Interfaces:
Serializable
,ICommitterTridentSpout<Map<Integer,List<List<Object>>>>
,ITridentDataSource
,ITridentSpout<Map<Integer,List<List<Object>>>>
,IFeeder
public class FeederCommitterBatchSpout extends Object implements ICommitterTridentSpout<Map<Integer,List<List<Object>>>>, IFeeder
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.storm.trident.spout.ICommitterTridentSpout
ICommitterTridentSpout.Emitter
-
Nested classes/interfaces inherited from interface org.apache.storm.trident.spout.ITridentSpout
ITridentSpout.BatchCoordinator<X>
-
-
Constructor Summary
Constructors Constructor Description FeederCommitterBatchSpout(List<String> fields)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
feed(Object tuples)
Map<String,Object>
getComponentConfiguration()
ITridentSpout.BatchCoordinator<Map<Integer,List<List<Object>>>>
getCoordinator(String txStateId, Map<String,Object> conf, TopologyContext context)
The coordinator for a TransactionalSpout runs in a single thread and indicates when batches of tuples should be emitted.ICommitterTridentSpout.Emitter
getEmitter(String txStateId, Map<String,Object> conf, TopologyContext context)
The emitter for a TransactionalSpout runs as many tasks across the cluster.Fields
getOutputFields()
void
setWaitToEmit(boolean trueIfWait)
-
-
-
Method Detail
-
setWaitToEmit
public void setWaitToEmit(boolean trueIfWait)
-
getEmitter
public ICommitterTridentSpout.Emitter getEmitter(String txStateId, Map<String,Object> conf, TopologyContext context)
Description copied from interface:ITridentSpout
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.All emitter tasks get the same transaction metadata. The topology context parameter contains the instance task id that can be used to distribute the work across the tasks.
- Specified by:
getEmitter
in interfaceICommitterTridentSpout<Map<Integer,List<List<Object>>>>
- Specified by:
getEmitter
in interfaceITridentSpout<Map<Integer,List<List<Object>>>>
- Parameters:
txStateId
- stream idconf
- Storm config mapcontext
- topology context- Returns:
- spout emitter
-
getCoordinator
public ITridentSpout.BatchCoordinator<Map<Integer,List<List<Object>>>> getCoordinator(String txStateId, Map<String,Object> conf, TopologyContext context)
Description copied from interface:ITridentSpout
The coordinator for a TransactionalSpout runs in a single thread and indicates when batches of tuples should be emitted. The Coordinator that you provide in a TransactionalSpout provides metadata for each transaction so that the transactions can be replayed in case of failure.Two instances are requested, one on the master batch coordinator where isReady() is called, and an instance in the coordinator bolt which is used for all other operations. The two instances do not necessarily share a worker JVM.
- Specified by:
getCoordinator
in interfaceITridentSpout<Map<Integer,List<List<Object>>>>
- Parameters:
txStateId
- stream idconf
- Storm config mapcontext
- topology context- Returns:
- spout coordinator instance
-
getOutputFields
public Fields getOutputFields()
- Specified by:
getOutputFields
in interfaceITridentSpout<Map<Integer,List<List<Object>>>>
-
getComponentConfiguration
public Map<String,Object> getComponentConfiguration()
- Specified by:
getComponentConfiguration
in interfaceITridentSpout<Map<Integer,List<List<Object>>>>
-
-