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 voiddeclareOutputFields(OutputFieldsDeclarer outputFieldsDeclarer)Declare the output schema for all the streams of this topology.voidprepare(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 voidprocess(Tuple tuple)Process a single non-tick tuple of input.JdbcInsertBoltwithInsertQuery(String insertQuery)JdbcInsertBoltwithQueryTimeoutSecs(int queryTimeoutSecs)JdbcInsertBoltwithTableName(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:AbstractJdbcBoltSubclasses 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:
preparein interfaceIBolt- Overrides:
preparein 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:BaseTickTupleAwareRichBoltProcess a single non-tick tuple of input. Implementation needs to handle ack manually. More details onIBolt.execute(Tuple).- Specified by:
processin classBaseTickTupleAwareRichBolt- Parameters:
tuple- The input tuple to be processed.
-
declareOutputFields
public void declareOutputFields(OutputFieldsDeclarer outputFieldsDeclarer)
Description copied from interface:IComponentDeclare 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
-
-