org.apache.storm.jms

## Interface JmsTupleProducer

- All Superinterfaces:
    Serializable
  All Known Implementing Classes:
    JsonTupleProducer

      public interface JmsTupleProducer
      extends Serializable

  Interface to define classes that can produce a Storm `Values` objects from a `javax.jms.Message` object>.

  Implementations are also responsible for declaring the output fields they produce.

  If for some reason the implementation can’t process a message (for example if it received a `javax.jms.ObjectMessage` when it was expecting a `javax.jms.TextMessage` it should return `null` to indicate to the `JmsSpout` that the message could not be processed.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `declareOutputFields(OutputFieldsDeclarer declarer)` Declare the output fields produced by this JmsTupleProducer.
    `Values` | `toTuple(javax.jms.Message msg)` Process a JMS message object to create a Values object.

- - ### Method Detail

    - #### toTuple

          Values toTuple(javax.jms.Message msg)
                  throws javax.jms.JMSException

      Process a JMS message object to create a Values object.

      Parameters:
        `msg` -
        - the JMS message
      Returns:
        the Values tuple, or null if the message couldn’t be processed.
      Throws:
        `javax.jms.JMSException`

    - #### declareOutputFields

          void declareOutputFields(OutputFieldsDeclarer declarer)

      Declare the output fields produced by this JmsTupleProducer.

      Parameters:
        `declarer` - The OuputFieldsDeclarer for the spout.

Copyright © 2021 The Apache Software Foundation. All rights reserved.