public class FluxShellBolt extends ShellBolt implements IRichBolt
A generic ShellBolt implementation that allows you specify output fields and even streams without having to subclass ShellBolt to do so.
HEARTBEAT_STREAM_ID, LOG| Constructor and Description | 
|---|
| FluxShellBolt(String[] command)Create a ShellBolt with command line arguments. | 
| FluxShellBolt(String[] command,
             String[] outputFields)Create a ShellBolt 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 bolt. | 
| void | addComponentConfig(String key,
                  Object value)Add configuration for this bolt. | 
| 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:   
bolts:
- className: org.apache.storm.flux.wrappers.bolts.FluxShellBolt
  id: my_bolt
  constructorArgs:
  - [python, my_bolt.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:   
bolts:
- className: org.apache.storm.flux.wrappers.bolts.FluxShellBolt
  id: my_bolt
  constructorArgs:
  - [python, my_bolt.py]
  configMethods:
  - name: setNamedStream
    args:
    - first
    - [word, count]
 | 
changeChildCWD, cleanup, execute, prepare, setEnv, shouldChangeChildCWDpublic FluxShellBolt(String[] command)
Create a ShellBolt with command line arguments.
command - Command line arguments for the boltpublic FluxShellBolt(String[] command, String[] outputFields)
Create a ShellBolt with command line arguments and output fields Keep this constructor for backward compatibility.
command - Command line arguments for the boltoutputFields - Names of fields the bolt will emit (if any).public void addComponentConfig(String key, Object value)
Add configuration for this bolt. This method is called from YAML file:
className: "org.apache.storm.flux.wrappers.bolts.FluxShellBolt"
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 bolt. This method is called from YAML file:
className: "org.apache.storm.flux.wrappers.bolts.FluxShellBolt"
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:
bolts:
- className: org.apache.storm.flux.wrappers.bolts.FluxShellBolt
  id: my_bolt
  constructorArgs:
  - [python, my_bolt.py]
  configMethods:
  - name: setDefaultStream
    args:
    - [word, count]
outputFields - Names of fields the bolt 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:
bolts:
- className: org.apache.storm.flux.wrappers.bolts.FluxShellBolt
  id: my_bolt
  constructorArgs:
  - [python, my_bolt.py]
  configMethods:
  - name: setNamedStream
    args:
    - first
    - [word, count]
name - Name of stream the bolt will emit into.outputFields - Names of fields the bolt 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 © 2022 The Apache Software Foundation. All rights reserved.