Class FluxShellSpout

    • Constructor Detail

      • FluxShellSpout

        public FluxShellSpout​(String[] command)
        Create a ShellSpout with command line arguments.
        Parameters:
        command - Command line arguments for the bolt
      • FluxShellSpout

        public FluxShellSpout​(String[] args,
                              String[] outputFields)
        Create a ShellSpout with command line arguments and output fields

        Keep this constructor for backward compatibility.

        Parameters:
        args - Command line arguments for the spout
        outputFields - Names of fields the spout will emit.
    • 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 key
        value - 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 key
        values - 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 interface IComponent
        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 using TopologyBuilder
        Specified by:
        getComponentConfiguration in interface IComponent