Class JMSConsumer

java.lang.Object
org.apache.nifi.jms.processors.JMSWorker
org.apache.nifi.jms.processors.JMSConsumer

class JMSConsumer extends JMSWorker
Generic consumer of messages from JMS compliant messaging system.
  • Field Details

    • MAX_MESSAGES_PER_FLOW_FILE

      private static final int MAX_MESSAGES_PER_FLOW_FILE
      See Also:
  • Constructor Details

    • JMSConsumer

      JMSConsumer(org.springframework.jms.connection.CachingConnectionFactory connectionFactory, org.springframework.jms.core.JmsTemplate jmsTemplate, ComponentLog logger)
  • Method Details

    • createMessageConsumer

      private jakarta.jms.MessageConsumer createMessageConsumer(jakarta.jms.Session session, String destinationName, boolean durable, boolean shared, String subscriptionName, String messageSelector) throws jakarta.jms.JMSException
      Throws:
      jakarta.jms.JMSException
    • consumeSingleMessage

      public void consumeSingleMessage(String destinationName, String errorQueueName, boolean durable, boolean shared, String subscriptionName, String messageSelector, String charset, Consumer<JMSConsumer.JMSResponse> singleMessageConsumer)
      Receives a message from the broker. It is the consumerCallback's responsibility to acknowledge the received message.
    • consumeMessageSet

      public void consumeMessageSet(String destinationName, String errorQueueName, boolean durable, boolean shared, String subscriptionName, String messageSelector, String charset, Consumer<List<JMSConsumer.JMSResponse>> messageSetConsumer)
      Receives a list of messages from the broker. It is the consumerCallback's responsibility to acknowledge the received message.
    • doWithJmsTemplate

      private void doWithJmsTemplate(String destinationName, boolean durable, boolean shared, String subscriptionName, String messageSelector, JMSConsumer.MessageReceiver messageReceiver)
    • receiveMessage

      private JMSConsumer.JMSResponse receiveMessage(jakarta.jms.Session session, jakarta.jms.MessageConsumer msgConsumer, String charset, String errorQueueName) throws jakarta.jms.JMSException
      Throws:
      jakarta.jms.JMSException
    • acknowledge

      private void acknowledge(jakarta.jms.Message message, jakarta.jms.Session session) throws jakarta.jms.JMSException
      Throws:
      jakarta.jms.JMSException
    • extractMessageProperties

      private Map<String,String> extractMessageProperties(jakarta.jms.Message message)
    • extractMessageHeaders

      private Map<String,String> extractMessageHeaders(jakarta.jms.Message message) throws jakarta.jms.JMSException
      Throws:
      jakarta.jms.JMSException
    • retrieveDestinationName

      private String retrieveDestinationName(jakarta.jms.Destination destination, String headerName)