Package org.apache.storm.jdbc.bolt

# Class AbstractJdbcBolt

java.lang.Object
org.apache.storm.topology.base.BaseComponent
org.apache.storm.topology.base.BaseRichBolt
org.apache.storm.topology.base.BaseTickTupleAwareRichBolt
org.apache.storm.jdbc.bolt.AbstractJdbcBolt

All Implemented Interfaces:
  `Serializable`, `IBolt`, `IComponent`, `IRichBolt`

Direct Known Subclasses:
  `JdbcInsertBolt`, `JdbcLookupBolt`

public abstract class AbstractJdbcBolt extends BaseTickTupleAwareRichBolt

See Also:
  - Serialized Form

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected OutputCollector`
  `collector`
  `protected String`
  `configKey`
  `protected ConnectionProvider`
  `connectionProvider`
  `protected JdbcClient`
  `jdbcClient`
  `protected Integer`
  `queryTimeoutSecs`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AbstractJdbcBolt(ConnectionProvider connectionProviderParam)`
  Constructor.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `cleanup()`
  Cleanup.
  `void`
  `prepare(Map<String,Object> map, TopologyContext topologyContext, OutputCollector outputCollector)`
  Subclasses should call this to ensure output collector and connection provider are set up, and finally jdbcClient is initialized properly.

  ### Methods inherited from class org.apache.storm.topology.base.BaseTickTupleAwareRichBolt

  `execute, onTickTuple, process`

  ### Methods inherited from class org.apache.storm.topology.base.BaseComponent

  `getComponentConfiguration`

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

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

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

  `declareOutputFields, getComponentConfiguration`

- ## Field Details

  - ### collector

    protected OutputCollector collector

  - ### jdbcClient

    protected transient JdbcClient jdbcClient

  - ### configKey

    protected String configKey

  - ### queryTimeoutSecs

    protected Integer queryTimeoutSecs

  - ### connectionProvider

    protected ConnectionProvider connectionProvider

- ## Constructor Details

  - ### AbstractJdbcBolt

    public AbstractJdbcBolt(ConnectionProvider connectionProviderParam)
    Constructor.

    Parameters:
      `connectionProviderParam` - database connection provider

- ## Method Details

  - ### prepare

    public void prepare(Map<String,Object> map, TopologyContext topologyContext, OutputCollector outputCollector)
    Subclasses should call this to ensure output collector and connection provider are set up, and finally jdbcClient is initialized properly.

    Called when a task for this component is initialized within a worker on the cluster. It provides the bolt with the environment in which the bolt executes.

    This includes the:

    Parameters:
      `map` - The Storm configuration for this bolt. This is the configuration provided to the topology merged in with cluster configuration on this machine.
      `topologyContext` - This object can be used to get information about this task's place within the topology, including the task id and component id of this task, input and output information, etc.
      `outputCollector` - The collector is used to emit tuples from this bolt. Tuples can be emitted at any time, including the prepare and cleanup methods. The collector is thread-safe and should be saved as an instance variable of this bolt object.

  - ### cleanup

    public void cleanup()
    Cleanup.

    Subclasses should call this to ensure connection provider can be also cleaned up.
    Specified by:
      `cleanup` in interface `IBolt`
    Overrides:
      `cleanup` in class `BaseRichBolt`