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.
LOG| Constructor and 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  Keep this constructor for backward compatibility. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
addComponentConfig(String key,
                  List<Object> values)
Add configuration for this spout. 
 | 
void | 
addComponentConfig(String key,
                  Object value)
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:   
spouts:
- className: org.apache.storm.flux.wrappers.bolts.FluxShellSpout
  id: my_spout
  constructorArgs:
  - [python, my_spout.py]
  configMethods:
  - name: setDefaultStream
    args:
    - [word, count]
 | 
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:
  - [python, my_spout.py]
  configMethods:
  - name: setNamedStream
    args:
    - first
    - [word, count]
 | 
ack, activate, changeChildCWD, close, deactivate, fail, nextTuple, open, setEnv, shouldChangeChildCWDpublic FluxShellSpout(String[] command)
Create a ShellSpout with command line arguments.
command - Command line arguments for the boltpublic 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
- ["python", "splitsentence.py"]
# output fields
- ["word"]
configMethods:
- name: "addComponentConfig"
  args: ["publisher.data_paths", "actions"]
key - config keyvalue - config valuepublic 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
- ["python", "splitsentence.py"]
# output fields
- ["word"]
configMethods:
- name: "addComponentConfig"
  args:
  - "publisher.data_paths"
  - ["actions"]
key - config keyvalues - config valuespublic 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:
  - [python, my_spout.py]
  configMethods:
  - name: setDefaultStream
    args:
    - [word, count]
outputFields - Names of fields the spout will emit (if any) in default stream.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:
  - [python, my_spout.py]
  configMethods:
  - name: setNamedStream
    args:
    - first
    - [word, count]
name - Name of stream the spout will emit into.outputFields - Names of fields the spout will emit in custom named stream.public void declareOutputFields(OutputFieldsDeclarer declarer)
IComponentDeclare the output schema for all the streams of this topology.
declareOutputFields in interface IComponentdeclarer - this is used to declare output stream ids, output fields, and whether or not each output stream is a direct streampublic Map<String,Object> getComponentConfiguration()
IComponentDeclare 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 using TopologyBuilder
getComponentConfiguration in interface IComponentCopyright © 2019 The Apache Software Foundation. All rights reserved.