Package org.apache.storm.topology

# Interface IStatefulComponent<T extends State>

All Superinterfaces:
  `IComponent`, `Serializable`

All Known Subinterfaces:
  `IStatefulBolt<T>`, `IStatefulWindowedBolt<T>`

All Known Implementing Classes:
  `BaseStatefulBolt`, `BaseStatefulWindowedBolt`, `PersistentWindowedBoltExecutor`, `StatefulWindowedBoltExecutor`, `StatefulWordCounter`

public interface IStatefulComponent<T extends State> extends IComponent

Common methods for stateful components in the topology.

A stateful component is one that has state (e.g. the result of some computation in a bolt) and wants the framework to manage its state.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `initState(T state)`
  This method is invoked by the framework with the previously saved state of the component.
  `void`
  `preCommit(long txid)`
  This is a hook for the component to perform some actions just before the framework commits its state.
  `void`
  `prePrepare(long txid)`
  This is a hook for the component to perform some actions just before the framework prepares its state.
  `void`
  `preRollback()`
  This is a hook for the component to perform some actions just before the framework rolls back the prepared state.

  ### Methods inherited from interface org.apache.storm.topology.IComponent

  `declareOutputFields, getComponentConfiguration`

- ## Method Details

  - ### initState

    void initState(T state)
    This method is invoked by the framework with the previously saved state of the component. This is invoked after prepare but before the component starts processing tuples.
    Parameters:
      `state` - the previously saved state of the component.

  - ### preCommit

    void preCommit(long txid)
    This is a hook for the component to perform some actions just before the framework commits its state.

  - ### prePrepare

    void prePrepare(long txid)
    This is a hook for the component to perform some actions just before the framework prepares its state.

  - ### preRollback

    void preRollback()
    This is a hook for the component to perform some actions just before the framework rolls back the prepared state.