
JMS Produce
CertifiedPublish messages to a JMS destination
JMS Produce
Publish messages to a JMS destination
Connects with the configured JMS ConnectionFactory and publishes rendered payloads from from to the destination name as a queue or topic. Defaults use deliveryMode 2 (PERSISTENT), priority 4, timeToLive 0 (no expiry); payloads are serialized via serdeType (STRING default, JSON, BYTES) and plain strings without JSON/URI markers are sent as text.
type: io.kestra.plugin.jms.ProduceExamples
Produce a List of Messages to a JMS Queue
id: jms_produce
namespace: company.team
tasks:
- id: produce_to_queue
type: io.kestra.plugin.jms.Produce
connectionFactoryConfig:
type: DIRECT
providerJarPaths: kestra:///jms/activemq-client.jar
connectionFactoryClass: org.apache.activemq.ActiveMQConnectionFactory
username: admin
password: "{{ secret('AMQ_PASSWORD') }}"
destination:
name: my-queue
destinationType: QUEUE
from:
- data: "Hello World"
headers:
property1: "value1"
- data:
message: "Another message"
id: 123
Properties
destination *RequiredNon-dynamic
Destination for messages
Rendered queue or topic name; destinationType chooses QUEUE vs TOPIC
io.kestra.plugin.jms.JMSDestination
Destination name
Rendered JMS queue or topic name
QUEUEQUEUETOPICDestination type
QUEUE or TOPIC
from *RequiredNon-dynamicstringarrayobject
Structured data items, either as a map, a list of map, a URI, or a JSON string.
Structured data items can be defined in the following ways:
- A single item as a map (a document).
- A list of items as a list of maps (a list of documents).
- A URI, supported schemes are
kestrafor internal storage files,filefor host local files, andnsfilefor namespace files. - A JSON String that will then be serialized either as a single item or a list of items.
connectionFactoryConfig Non-dynamic
Connection factory configuration
Configuration for connecting to the JMS broker. Supports both direct connection factory instantiation and JNDI lookup.
io.kestra.plugin.jms.configuration.ConnectionFactoryConfig-Direct
ConnectionFactory class
Fully qualified class name of the JMS ConnectionFactory implementation.
Connection properties
Additional POJO properties applied to the Direct or JNDI ConnectionFactory instance.
Password for broker authentication
Rendered password used when creating the connection. Omit for JNDI if the ConnectionFactory already embeds credentials.
Provider JAR paths
One or more paths to the JMS provider JARs (e.g., file:///app/plugins/jms-libs/client.jar). If unset, all JARs under the plugins/jms-libs folder are added to the classpath.
falseUse filtered classloader
Enable only for providers that ship JMS API classes (e.g., SonicMQ/Aurea) to avoid ClassCastException by loading JMS APIs from the parent classloader. Leave disabled for typical providers like RabbitMQ, ActiveMQ, Artemis.
Username for broker authentication
Rendered username used when creating the connection. Omit for JNDI if the ConnectionFactory already embeds credentials.
io.kestra.plugin.jms.configuration.ConnectionFactoryConfig-Jndi
JNDI ConnectionFactory name
JNDI initial context factory
JNDI provider URL
Connection properties
Additional POJO properties applied to the Direct or JNDI ConnectionFactory instance.
JNDI credentials
JNDI principal
Password for broker authentication
Rendered password used when creating the connection. Omit for JNDI if the ConnectionFactory already embeds credentials.
Provider JAR paths
One or more paths to the JMS provider JARs (e.g., file:///app/plugins/jms-libs/client.jar). If unset, all JARs under the plugins/jms-libs folder are added to the classpath.
falseUse filtered classloader
Enable only for providers that ship JMS API classes (e.g., SonicMQ/Aurea) to avoid ClassCastException by loading JMS APIs from the parent classloader. Leave disabled for typical providers like RabbitMQ, ActiveMQ, Artemis.
Username for broker authentication
Rendered username used when creating the connection. Omit for JNDI if the ConnectionFactory already embeds credentials.
deliveryMode integerstring
2JMS delivery mode
Rendered delivery mode flag; default 2 (PERSISTENT)
pluginDefaultsRef Non-dynamicstring
Reference (ref) of the pluginDefaults to apply to this task.
priority integerstring
4JMS priority
Rendered integer priority 0-9; default 4
serdeType Non-dynamicstring
STRINGSTRINGJSONBYTESSerialization format for message body
Determines how message bodies are serialized: STRING for text, JSON for JSON-formatted text, BYTES for binary data.
timeToLive integerstring
0Message time to live
Rendered TTL in milliseconds; default 0 keeps the message indefinitely
Outputs
messagesCount integer
Number of messages published