Package org.apache.storm.testing

## Class PythonShellMetricsSpout

- java.lang.Object
- - org.apache.storm.spout.ShellSpout
  - - org.apache.storm.testing.PythonShellMetricsSpout

- All Implemented Interfaces:
    `Serializable`, `ISpout`, `IComponent`, `IRichSpout`

      public class PythonShellMetricsSpout
      extends ShellSpout
      implements IRichSpout

  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class org.apache.storm.spout.ShellSpout

      `LOG`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `PythonShellMetricsSpout​(String[] command)` |
    `PythonShellMetricsSpout​(String command, String file)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `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` | `open​(Map<String,​Object> conf, TopologyContext context, SpoutOutputCollector collector)` | Called when a task for this component is initialized within a worker on the cluster.

    - ### Methods inherited from class org.apache.storm.spout.ShellSpout

      `ack, activate, changeChildCWD, close, deactivate, fail, nextTuple, setEnv, shouldChangeChildCWD`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.storm.spout.ISpout

      `ack, activate, close, deactivate, fail, nextTuple`

- - ### Constructor Detail

    - #### PythonShellMetricsSpout

          public PythonShellMetricsSpout​(String[] command)

    - #### PythonShellMetricsSpout

          public PythonShellMetricsSpout​(String command,
                                         String file)

  - ### Method Detail

    - #### open

          public void open​(Map<String,​Object> conf,
                           TopologyContext context,
                           SpoutOutputCollector collector)

      Description copied from interface: `ISpout`
      Called when a task for this component is initialized within a worker on the cluster. It provides the spout with the environment in which the spout executes.

      This includes the:

      Specified by:
        `open` in interface `ISpout`
      Overrides:
        `open` in class `ShellSpout`
      Parameters:
        `conf` - The Storm configuration for this spout. This is the configuration provided to the topology merged in with cluster configuration on this machine.
        `context` - This object can be used to get information about this task's place within the topology, including the task id and component id of this task, input and output information, etc.
        `collector` - The collector is used to emit tuples from this spout. Tuples can be emitted at any time, including the open and close methods. The collector is thread-safe and should be saved as an instance variable of this spout object.

    - #### 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`