<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></meta><title>PublishJMS</title><link rel="stylesheet" href="../../../../../css/component-usage.css" type="text/css"></link></head><script type="text/javascript">window.onload = function(){if(self==top) { document.getElementById('nameHeader').style.display = "inherit"; } }</script><body><h1 id="nameHeader" style="display: none;">PublishJMS</h1><h2>Description: </h2><p>Creates a JMS Message from the contents of a FlowFile and sends it to a JMS Destination (queue or topic) as JMS BytesMessage or TextMessage. FlowFile attributes will be added as JMS headers and/or properties to the outgoing JMS message.</p><p><a href="additionalDetails.html">Additional Details...</a></p><h3>Tags: </h3><p>jms, put, message, send, publish</p><h3>Properties: </h3><p>In the list below, the names of required properties appear in <strong>bold</strong>. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the <a href="../../../../../html/expression-language-guide.html">NiFi Expression Language</a>.</p><table id="properties"><tr><th>Display Name</th><th>API Name</th><th>Default Value</th><th>Allowable Values</th><th>Description</th></tr><tr><td id="name">Connection Factory Service</td><td>Connection Factory Service</td><td></td><td id="allowable-values"><strong>Controller Service API: </strong><br/>JMSConnectionFactoryProviderDefinition<br/><strong>Implementations: </strong><a href="../org.apache.nifi.jms.cf.JndiJmsConnectionFactoryProvider/index.html">JndiJmsConnectionFactoryProvider</a><br/><a href="../org.apache.nifi.jms.cf.JMSConnectionFactoryProvider/index.html">JMSConnectionFactoryProvider</a></td><td id="description">The Controller Service that is used to obtain Connection Factory. Alternatively, the 'JNDI *' or the 'JMS *' properties can also be be used to configure the Connection Factory.</td></tr><tr><td id="name"><strong>Destination Name</strong></td><td>Destination Name</td><td></td><td id="allowable-values"></td><td id="description">The name of the JMS Destination. Usually provided by the administrator (e.g., 'topic://myTopic' or 'myTopic').<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name"><strong>Destination Type</strong></td><td>Destination Type</td><td id="default-value">QUEUE</td><td id="allowable-values"><ul><li>QUEUE</li><li>TOPIC</li></ul></td><td id="description">The type of the JMS Destination. Could be one of 'QUEUE' or 'TOPIC'. Usually provided by the administrator. Defaults to 'QUEUE'</td></tr><tr><td id="name">User Name</td><td>User Name</td><td></td><td id="allowable-values"></td><td id="description">User Name used for authentication and authorization.<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name">Password</td><td>Password</td><td></td><td id="allowable-values"></td><td id="description">Password used for authentication and authorization.<br/><strong>Sensitive Property: true</strong></td></tr><tr><td id="name">Connection Client ID</td><td>Connection Client ID</td><td></td><td id="allowable-values"></td><td id="description">The client id to be set on the connection, if set. For durable non shared consumer this is mandatory, for all others it is optional, typically with shared consumers it is undesirable to be set. Please see JMS spec for further details<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name">Session Cache Size</td><td>Session Cache size</td><td id="default-value">1</td><td id="allowable-values"></td><td id="description">This property is deprecated and no longer has any effect on the Processor. It will be removed in a later version.</td></tr><tr><td id="name"><strong>Message Body Type</strong></td><td>message-body-type</td><td id="default-value">bytes</td><td id="allowable-values"><ul><li>bytes</li><li>text</li></ul></td><td id="description">The type of JMS message body to construct.</td></tr><tr><td id="name"><strong>Character Set</strong></td><td>character-set</td><td id="default-value">UTF-8</td><td id="allowable-values"></td><td id="description">The name of the character set to use to construct or interpret TextMessages<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name"><strong>Allow Illegal Characters in Header Names</strong></td><td>allow-illegal-chars-in-jms-header-names</td><td id="default-value">false</td><td id="allowable-values"><ul><li>true</li><li>false</li></ul></td><td id="description">Specifies whether illegal characters in header names should be sent to the JMS broker. Usually hyphens and full-stops.</td></tr><tr><td id="name"><strong>Attributes to Send as JMS Headers (Regex)</strong></td><td>attributes-to-send-as-jms-headers-regex</td><td id="default-value">.*</td><td id="allowable-values"></td><td id="description">Specifies the Regular Expression that determines the names of FlowFile attributes that should be sent as JMS Headers</td></tr><tr><td id="name">JNDI Initial Context Factory Class</td><td>java.naming.factory.initial</td><td></td><td id="allowable-values"></td><td id="description">The fully qualified class name of the JNDI Initial Context Factory Class (java.naming.factory.initial).<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name">JNDI Provider URL</td><td>java.naming.provider.url</td><td></td><td id="allowable-values"></td><td id="description">The URL of the JNDI Provider to use (java.naming.provider.url).<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name">JNDI Name of the Connection Factory</td><td>connection.factory.name</td><td></td><td id="allowable-values"></td><td id="description">The name of the JNDI Object to lookup for the Connection Factory.<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name">JNDI / JMS Client Libraries</td><td>naming.factory.libraries</td><td></td><td id="allowable-values"></td><td id="description">Specifies jar files and/or directories to add to the ClassPath in order to load the JNDI / JMS client libraries. This should be a comma-separated list of files, directories, and/or URLs. If a directory is given, any files in that directory will be included, but subdirectories will not be included (i.e., it is not recursive).<br/><br/><strong>This property expects a comma-separated list of resources. Each of the resources may be of any of the following types: directory, file, URL.</strong><br/><br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name">JNDI Principal</td><td>java.naming.security.principal</td><td></td><td id="allowable-values"></td><td id="description">The Principal to use when authenticating with JNDI (java.naming.security.principal).<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name">JNDI Credentials</td><td>java.naming.security.credentials</td><td></td><td id="allowable-values"></td><td id="description">The Credentials to use when authenticating with JNDI (java.naming.security.credentials).<br/><strong>Sensitive Property: true</strong></td></tr><tr><td id="name">JMS Connection Factory Implementation Class</td><td>cf</td><td></td><td id="allowable-values"></td><td id="description">The fully qualified name of the JMS ConnectionFactory implementation class (eg. org.apache.activemq.ActiveMQConnectionFactory).<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name">JMS Client Libraries</td><td>cflib</td><td></td><td id="allowable-values"></td><td id="description">Path to the directory with additional resources (eg. JARs, configuration files etc.) to be added to the classpath (defined as a comma separated list of values). Such resources typically represent target JMS client libraries for the ConnectionFactory implementation.<br/><br/><strong>This property expects a comma-separated list of resources. Each of the resources may be of any of the following types: directory, file, URL.</strong><br/><br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name">JMS Broker URI</td><td>broker</td><td></td><td id="allowable-values"></td><td id="description">URI pointing to the network location of the JMS Message broker. Example for ActiveMQ: 'tcp://myhost:61616'. Examples for IBM MQ: 'myhost(1414)' and 'myhost01(1414),myhost02(1414)'.<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name">JMS SSL Context Service</td><td>SSL Context Service</td><td></td><td id="allowable-values"><strong>Controller Service API: </strong><br/>SSLContextService<br/><strong>Implementations: </strong><a href="../../../nifi-ssl-context-service-nar/1.19.1/org.apache.nifi.ssl.StandardRestrictedSSLContextService/index.html">StandardRestrictedSSLContextService</a><br/><a href="../../../nifi-ssl-context-service-nar/1.19.1/org.apache.nifi.ssl.StandardSSLContextService/index.html">StandardSSLContextService</a></td><td id="description">The SSL Context Service used to provide client certificate information for TLS/SSL connections.</td></tr></table><h3>Dynamic Properties: </h3><p>Supports Sensitive Dynamic Properties: <strong>No</strong></p><p>Dynamic Properties allow the user to specify both the name and value of a property.<table id="dynamic-properties"><tr><th>Name</th><th>Value</th><th>Description</th></tr><tr><td id="name">The name of a Connection Factory configuration property.</td><td id="value">The value of a given Connection Factory configuration property.</td><td>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.<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr></table></p><h3>Relationships: </h3><table id="relationships"><tr><th>Name</th><th>Description</th></tr><tr><td>success</td><td>All FlowFiles that are sent to the JMS destination are routed to this relationship</td></tr><tr><td>failure</td><td>All FlowFiles that cannot be sent to JMS destination are routed to this relationship</td></tr></table><h3>Reads Attributes: </h3><table id="reads-attributes"><tr><th>Name</th><th>Description</th></tr><tr><td>jms_deliveryMode</td><td>This attribute becomes the JMSDeliveryMode message header. Must be an integer.</td></tr><tr><td>jms_expiration</td><td>This attribute becomes the JMSExpiration message header. Must be an integer.</td></tr><tr><td>jms_priority</td><td>This attribute becomes the JMSPriority message header. Must be an integer.</td></tr><tr><td>jms_redelivered</td><td>This attribute becomes the JMSRedelivered message header.</td></tr><tr><td>jms_timestamp</td><td>This attribute becomes the JMSTimestamp message header. Must be a long.</td></tr><tr><td>jms_correlationId</td><td>This attribute becomes the JMSCorrelationID message header.</td></tr><tr><td>jms_type</td><td>This attribute becomes the JMSType message header. Must be an integer.</td></tr><tr><td>jms_replyTo</td><td>This attribute becomes the JMSReplyTo message header. Must be an integer.</td></tr><tr><td>jms_destination</td><td>This attribute becomes the JMSDestination message header. Must be an integer.</td></tr><tr><td>other attributes</td><td>All other attributes that do not start with jms_ are added as message properties.</td></tr><tr><td>other attributes .type</td><td>When an attribute will be added as a message property, a second attribute of the same name but with an extra `.type` at the end will cause the message property to be sent using that strong type. For example, attribute `delay` with value `12000` and another attribute `delay.type` with value `integer` will cause a JMS message property `delay` to be sent as an Integer rather than a String. Supported types are boolean, byte, short, integer, long, float, double, and string (which is the default).</td></tr></table><h3>Writes Attributes: </h3>None specified.<h3>State management: </h3>This component does not store state.<h3>Restricted: </h3>This component is not restricted.<h3>Input requirement: </h3>This component requires an incoming relationship.<h3>System Resource Considerations:</h3><table id="system-resource-considerations"><tr><th>Resource</th><th>Description</th></tr><tr><td>MEMORY</td><td>An instance of this component can cause high usage of this system resource.  Multiple instances or high concurrency settings may result a degradation of performance.</td></tr></table><h3>See Also:</h3><p><a href="../org.apache.nifi.jms.processors.ConsumeJMS/index.html">ConsumeJMS</a>, <a href="../org.apache.nifi.jms.cf.JMSConnectionFactoryProvider/index.html">JMSConnectionFactoryProvider</a></p></body></html>