org.apache.storm.trident.spout

## Interface ITridentSpout.Emitter<X>

- All Known Subinterfaces:
    ICommitterTridentSpout.Emitter
  All Known Implementing Classes:
    BatchSpoutExecutor.BatchSpoutEmitter, OpaquePartitionedTridentSpoutExecutor.Emitter
  Enclosing interface:
    ITridentSpout<T>

      public static interface ITridentSpout.Emitter<X>

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` Release any resources held by this emitter.
    `void` | `emitBatch(TransactionAttempt tx, X coordinatorMeta, TridentCollector collector)` Emit a batch for the specified transaction attempt and metadata for the transaction.
    `void` | `success(TransactionAttempt tx)` This attempt committed successfully, so all state for this commit and before can be safely cleaned up.

- - ### Method Detail

    - #### emitBatch

          void emitBatch(TransactionAttempt tx,
                         X coordinatorMeta,
                         TridentCollector collector)

      Emit a batch for the specified transaction attempt and metadata for the transaction. The metadata was created by the Coordinator in the initializeTransaction method. This method must always emit the same batch of tuples across all tasks for the same transaction id.

      Parameters:
        `tx` - transaction id
        `coordinatorMeta` - metadata from the coordinator defining this transaction
        `collector` - output tuple collector

    - #### success

          void success(TransactionAttempt tx)

      This attempt committed successfully, so all state for this commit and before can be safely cleaned up.

      Parameters:
        `tx` - attempt object containing transaction id and attempt number

    - #### close

          void close()

      Release any resources held by this emitter.

Copyright © 2021 The Apache Software Foundation. All rights reserved.