Package org.apache.storm.trident.spout

# Class OpaquePartitionedTridentSpoutExecutor

java.lang.Object
org.apache.storm.trident.spout.OpaquePartitionedTridentSpoutExecutor

All Implemented Interfaces:
  `Serializable`, `ICommitterTridentSpout<Object>`, `ITridentDataSource`, `ITridentSpout<Object>`

public class OpaquePartitionedTridentSpoutExecutor extends Object implements ICommitterTridentSpout<Object>

See Also:
  - Serialized Form

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `class`
  `OpaquePartitionedTridentSpoutExecutor.Coordinator`
  `class`
  `OpaquePartitionedTridentSpoutExecutor.Emitter`

  ## Nested classes/interfaces inherited from interface org.apache.storm.trident.spout.ITridentSpout

  `ITridentSpout.BatchCoordinator<X>`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected static final org.slf4j.Logger`
  `LOG`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `OpaquePartitionedTridentSpoutExecutor(IOpaquePartitionedTridentSpout<Object,ISpoutPartition,Object> spout)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Map<String,Object>`
  `getComponentConfiguration()`
  `ITridentSpout.BatchCoordinator<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()`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### LOG

    protected static final org.slf4j.Logger LOG

- ## Constructor Details

  - ### OpaquePartitionedTridentSpoutExecutor

    public OpaquePartitionedTridentSpoutExecutor(IOpaquePartitionedTridentSpout<Object,ISpoutPartition,Object> spout)

- ## Method Details

  - ### getCoordinator

    public ITridentSpout.BatchCoordinator<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 interface `ITridentSpout<Object>`
    Parameters:
      `txStateId` - stream id
      `conf` - Storm config map
      `context` - topology context
    Returns:
      spout coordinator instance

  - ### 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 interface `ICommitterTridentSpout<Object>`
    Specified by:
      `getEmitter` in interface `ITridentSpout<Object>`
    Parameters:
      `txStateId` - stream id
      `conf` - Storm config map
      `context` - topology context
    Returns:
      spout emitter

  - ### getOutputFields

    public Fields getOutputFields()
    Specified by:
      `getOutputFields` in interface `ITridentSpout<Object>`

  - ### getComponentConfiguration

    public Map<String,Object> getComponentConfiguration()
    Specified by:
      `getComponentConfiguration` in interface `ITridentSpout<Object>`