Package org.apache.storm.jms.trident
Class TridentJmsSpout
java.lang.Object
org.apache.storm.jms.trident.TridentJmsSpout
- All Implemented Interfaces:
- Serializable,- ITridentDataSource,- ITridentSpout<JmsBatch>
Trident implementation of the JmsSpout.
- See Also:
- 
Nested Class SummaryNested classes/interfaces inherited from interface org.apache.storm.trident.spout.ITridentSpoutITridentSpout.BatchCoordinator<X>, ITridentSpout.Emitter<X>
- 
Field SummaryFields
- 
Constructor SummaryConstructorsConstructorDescriptionCreate a TridentJmsSpout with a default name and acknowledge mode of AUTO_ACKNOWLEDGE.
- 
Method SummaryModifier and TypeMethodDescriptiongetCoordinator(String txStateId, Map<String, Object> conf, TopologyContext context) The coordinator for a TransactionalSpout runs in a single thread and indicates when batches of tuples should be emitted.getEmitter(String txStateId, Map<String, Object> conf, TopologyContext context) The emitter for a TransactionalSpout runs as many tasks across the cluster.Set the name for this spout, to improve log identification.withJmsAcknowledgeMode(int jmsAcknowledgeMode) Set the JMS acknowledge mode for messages being processed by this spout.withJmsProvider(JmsProvider provider) Set theJmsProviderimplementation that this Spout will use to connect to a JMSjavax.jms.Desination.withTupleProducer(JmsTupleProducer tupleProducer) Set theJmsTupleProducerimplementation that will convertjavax.jms.Messageobject tobacktype.storm.tuple.Valuesobjects to be emitted.
- 
Field Details- 
MAX_BATCH_SIZE_CONF- See Also:
 
- 
DEFAULT_BATCH_SIZEpublic static final int DEFAULT_BATCH_SIZE- See Also:
 
 
- 
- 
Constructor Details- 
TridentJmsSpoutpublic TridentJmsSpout()Create a TridentJmsSpout with a default name and acknowledge mode of AUTO_ACKNOWLEDGE.
 
- 
- 
Method Details- 
namedSet the name for this spout, to improve log identification.- Parameters:
- name- The name to be used in log messages
- Returns:
- This spout
 
- 
withJmsProviderSet theJmsProviderimplementation that this Spout will use to connect to a JMSjavax.jms.Desination.
- 
withTupleProducerSet theJmsTupleProducerimplementation that will convertjavax.jms.Messageobject tobacktype.storm.tuple.Valuesobjects to be emitted.- Returns:
- This spout
 
- 
withJmsAcknowledgeModeSet the JMS acknowledge mode for messages being processed by this spout. Possible values:- javax.jms.Session.AUTO_ACKNOWLEDGE
- javax.jms.Session.CLIENT_ACKNOWLEDGE
- javax.jms.Session.DUPS_OK_ACKNOWLEDGE
 - Parameters:
- jmsAcknowledgeMode- The chosen acknowledge mode
- Returns:
- This spout
- Throws:
- IllegalArgumentException- if the mode is not recognized
 
- 
getCoordinatorpublic ITridentSpout.BatchCoordinator<JmsBatch> getCoordinator(String txStateId, Map<String, Object> conf, TopologyContext context) Description copied from interface:ITridentSpoutThe coordinator for a TransactionalSpout runs in a single thread and indicates when batches of tuples should be emitted. The Coordinator that you provide in a TransactionalSpout provides metadata for each transaction so that the transactions can be replayed in case of failure.Two instances are requested, one on the master batch coordinator where isReady() is called, and an instance in the coordinator bolt which is used for all other operations. The two instances do not necessarily share a worker JVM. - Specified by:
- getCoordinatorin interface- ITridentSpout<JmsBatch>
- Parameters:
- txStateId- stream id
- conf- Storm config map
- context- topology context
- Returns:
- spout coordinator instance
 
- 
getEmitterpublic ITridentSpout.Emitter<JmsBatch> getEmitter(String txStateId, Map<String, Object> conf, TopologyContext context) Description copied from interface:ITridentSpoutThe emitter for a TransactionalSpout runs as many tasks across the cluster. Emitters are responsible for emitting batches of tuples for a transaction and must ensure that the same batch of tuples is always emitted for the same transaction id.All emitter tasks get the same transaction metadata. The topology context parameter contains the instance task id that can be used to distribute the work across the tasks. - Specified by:
- getEmitterin interface- ITridentSpout<JmsBatch>
- Parameters:
- txStateId- stream id
- conf- Storm config map
- context- topology context
- Returns:
- spout emitter
 
- 
getComponentConfiguration- Specified by:
- getComponentConfigurationin interface- ITridentSpout<JmsBatch>
 
- 
getOutputFields- Specified by:
- getOutputFieldsin interface- ITridentSpout<JmsBatch>
 
 
-