Class FluxShellSpout
- java.lang.Object
-
- org.apache.storm.spout.ShellSpout
-
- org.apache.storm.flux.wrappers.spouts.FluxShellSpout
-
- All Implemented Interfaces:
Serializable
,ISpout
,IComponent
,IRichSpout
public class FluxShellSpout extends ShellSpout implements IRichSpout
A generic `ShellSpout` implementation that allows you specify output fields and even streams without having to subclass `ShellSpout` to do so.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.apache.storm.spout.ShellSpout
LOG
-
-
Constructor Summary
Constructors Constructor Description FluxShellSpout(String[] command)
Create a ShellSpout with command line arguments.FluxShellSpout(String[] args, String[] outputFields)
Create a ShellSpout with command line arguments and output fields
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addComponentConfig(String key, Object value)
Add configuration for this spout.void
addComponentConfig(String key, List<Object> values)
Add configuration for this spout.void
declareOutputFields(OutputFieldsDeclarer declarer)
Declare the output schema for all the streams of this topology.Map<String,Object>
getComponentConfiguration()
Declare configuration specific to this component.void
setDefaultStream(String[] outputFields)
Set default stream outputFields, this method is called from YAML file:void
setNamedStream(String name, String[] outputFields)
Set custom *named* stream outputFields, this method is called from YAML file:-
Methods inherited from class org.apache.storm.spout.ShellSpout
ack, activate, changeChildCWD, close, deactivate, fail, nextTuple, open, setEnv, shouldChangeChildCWD
-
-
-
-
Constructor Detail
-
FluxShellSpout
public FluxShellSpout(String[] command)
Create a ShellSpout with command line arguments.- Parameters:
command
- Command line arguments for the bolt
-
-
Method Detail
-
addComponentConfig
public void addComponentConfig(String key, Object value)
Add configuration for this spout. This method is called from YAML file: ``` className: "org.apache.storm.flux.wrappers.bolts.FluxShellSpout" constructorArgs: # command line - ["python3", "splitsentence.py"] # output fields - ["word"] configMethods: - name: "addComponentConfig" args: ["publisher.data_paths", "actions"] ```- Parameters:
key
- config keyvalue
- config value
-
addComponentConfig
public void addComponentConfig(String key, List<Object> values)
Add configuration for this spout. This method is called from YAML file: ``` className: "org.apache.storm.flux.wrappers.bolts.FluxShellSpout" constructorArgs: # command line - ["python3", "splitsentence.py"] # output fields - ["word"] configMethods: - name: "addComponentConfig" args: - "publisher.data_paths" - ["actions"] ```- Parameters:
key
- config keyvalues
- config values
-
setDefaultStream
public void setDefaultStream(String[] outputFields)
Set default stream outputFields, this method is called from YAML file: ``` spouts: - className: org.apache.storm.flux.wrappers.bolts.FluxShellSpout id: my_spout constructorArgs: - [python3, my_spout.py] configMethods: - name: setDefaultStream args: - [word, count] ```- Parameters:
outputFields
- Names of fields the spout will emit (if any) in default stream.
-
setNamedStream
public void setNamedStream(String name, String[] outputFields)
Set custom *named* stream outputFields, this method is called from YAML file: ``` spouts: - className: org.apache.storm.flux.wrappers.bolts.FluxShellSpout id: my_spout constructorArgs: - [python3, my_spout.py] configMethods: - name: setNamedStream args: - first - [word, count] ```- Parameters:
name
- Name of stream the spout will emit into.outputFields
- Names of fields the spout will emit in custom *named* stream.
-
declareOutputFields
public void declareOutputFields(OutputFieldsDeclarer declarer)
Description copied from interface:IComponent
Declare the output schema for all the streams of this topology.- Specified by:
declareOutputFields
in interfaceIComponent
- Parameters:
declarer
- this is used to declare output stream ids, output fields, and whether or not each output stream is a direct stream
-
getComponentConfiguration
public Map<String,Object> getComponentConfiguration()
Description copied from interface:IComponent
Declare configuration specific to this component. Only a subset of the "topology.*" configs can be overridden. The component configuration can be further overridden when constructing the topology usingTopologyBuilder
- Specified by:
getComponentConfiguration
in interfaceIComponent
-
-