Package org.apache.storm.jdbc.bolt
Class JdbcInsertBolt
-
- All Implemented Interfaces:
Serializable
,IBolt
,IComponent
,IRichBolt
public class JdbcInsertBolt extends AbstractJdbcBolt
Basic bolt for writing to any Database table. Note: Each JdbcInsertBolt defined in a topology is tied to a specific table.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.apache.storm.jdbc.bolt.AbstractJdbcBolt
collector, configKey, connectionProvider, jdbcClient, queryTimeoutSecs
-
-
Constructor Summary
Constructors Constructor Description JdbcInsertBolt(ConnectionProvider connectionProvider, JdbcMapper jdbcMapper)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
declareOutputFields(OutputFieldsDeclarer outputFieldsDeclarer)
Declare the output schema for all the streams of this topology.void
prepare(Map<String,Object> map, TopologyContext topologyContext, OutputCollector collector)
Subclasses should call this to ensure output collector and connection provider are set up, and finally jdbcClient is initialized properly.protected void
process(Tuple tuple)
Process a single non-tick tuple of input.JdbcInsertBolt
withInsertQuery(String insertQuery)
JdbcInsertBolt
withQueryTimeoutSecs(int queryTimeoutSecs)
JdbcInsertBolt
withTableName(String tableName)
-
Methods inherited from class org.apache.storm.jdbc.bolt.AbstractJdbcBolt
cleanup
-
Methods inherited from class org.apache.storm.topology.base.BaseTickTupleAwareRichBolt
execute, onTickTuple
-
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
getComponentConfiguration
-
-
-
-
Constructor Detail
-
JdbcInsertBolt
public JdbcInsertBolt(ConnectionProvider connectionProvider, JdbcMapper jdbcMapper)
-
-
Method Detail
-
withTableName
public JdbcInsertBolt withTableName(String tableName)
-
withInsertQuery
public JdbcInsertBolt withInsertQuery(String insertQuery)
-
withQueryTimeoutSecs
public JdbcInsertBolt withQueryTimeoutSecs(int queryTimeoutSecs)
-
prepare
public void prepare(Map<String,Object> map, TopologyContext topologyContext, OutputCollector collector)
Description copied from class:AbstractJdbcBolt
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:
- Specified by:
prepare
in interfaceIBolt
- Overrides:
prepare
in classAbstractJdbcBolt
- 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.collector
- 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.
-
process
protected void process(Tuple tuple)
Description copied from class:BaseTickTupleAwareRichBolt
Process a single non-tick tuple of input. Implementation needs to handle ack manually. More details onIBolt.execute(Tuple)
.- Specified by:
process
in classBaseTickTupleAwareRichBolt
- Parameters:
tuple
- The input tuple to be processed.
-
declareOutputFields
public void declareOutputFields(OutputFieldsDeclarer outputFieldsDeclarer)
Description copied from interface:IComponent
Declare the output schema for all the streams of this topology.- Parameters:
outputFieldsDeclarer
- this is used to declare output stream ids, output fields, and whether or not each output stream is a direct stream
-
-