Class ConsumeJMS

All Implemented Interfaces:
ConfigurableComponent, Processor

@Tags({"jms","get","message","receive","consume"}) @InputRequirement(INPUT_FORBIDDEN) @CapabilityDescription("Consumes JMS Message of type BytesMessage, TextMessage, ObjectMessage, MapMessage or StreamMessage transforming its content to a FlowFile and transitioning it to \'success\' relationship. JMS attributes such as headers and properties will be copied as FlowFile attributes. MapMessages will be transformed into JSONs and then into byte arrays. The other types will have their raw contents as byte array transferred into the flowfile.") @WritesAttribute(attribute="jms_deliveryMode",description="The JMSDeliveryMode from the message header.") @WritesAttribute(attribute="jms_expiration",description="The JMSExpiration from the message header.") @WritesAttribute(attribute="jms_priority",description="The JMSPriority from the message header.") @WritesAttribute(attribute="jms_redelivered",description="The JMSRedelivered from the message header.") @WritesAttribute(attribute="jms_timestamp",description="The JMSTimestamp from the message header.") @WritesAttribute(attribute="jms_correlationId",description="The JMSCorrelationID from the message header.") @WritesAttribute(attribute="jms_messageId",description="The JMSMessageID from the message header.") @WritesAttribute(attribute="jms_type",description="The JMSType from the message header.") @WritesAttribute(attribute="jms_replyTo",description="The JMSReplyTo from the message header.") @WritesAttribute(attribute="jms_destination",description="The JMSDestination from the message header.") @WritesAttribute(attribute="jms.messagetype",description="The JMS message type, can be TextMessage, BytesMessage, ObjectMessage, MapMessage or StreamMessage).") @WritesAttribute(attribute="other attributes",description="Each message property is written to an attribute.") @DynamicProperty(name="The name of a Connection Factory configuration property.", value="The value of a given Connection Factory configuration property.", description="Additional configuration property for the Connection Factory. It can be used when the Connection Factory is being configured via the \'JNDI *\' or the \'JMS *\'properties of the processor. For more information, see the Additional Details page.", expressionLanguageScope=ENVIRONMENT) @SeeAlso({PublishJMS.class,JMSConnectionFactoryProvider.class}) @Restricted(restrictions=@Restriction(requiredPermission=REFERENCE_REMOTE_RESOURCES,explanation="Client Library Location can reference resources over HTTP")) public class ConsumeJMS extends AbstractJMSProcessor<JMSConsumer>
Consuming JMS processor which upon each invocation of AbstractJMSProcessor.onTrigger(ProcessContext, ProcessSession) method will construct a FlowFile containing the body of the consumed JMS message and JMS properties that came with message which are added to a FlowFile as attributes.