JMS Produce

JMS Produce

Certified

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.

yaml
type: io.kestra.plugin.jms.Produce

Produce a List of Messages to a JMS Queue

yaml
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 for messages

Rendered queue or topic name; destinationType chooses QUEUE vs TOPIC

Definitions
destinationName*string

Destination name

Rendered JMS queue or topic name

destinationTypestring
DefaultQUEUE
Possible Values
QUEUETOPIC

Destination type

QUEUE or TOPIC

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 kestra for internal storage files, file for host local files, and nsfile for namespace files.
  • A JSON String that will then be serialized either as a single item or a list of items.

Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.

Definitions
assetFailureBehaviorstring
Possible Values
IGNOREFAILWARN

Asset failure behavior

Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.

enableAutobooleanstring

Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.

inputsarray

The assets consumed as inputs.

id*string
Min length1
typestring
outputs

The assets produced as outputs.

id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*string
Min length1

Custom asset type

descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150

Connection factory configuration

Configuration for connecting to the JMS broker. Supports both direct connection factory instantiation and JNDI lookup.

Definitions
connectionFactoryClass*string

ConnectionFactory class

Fully qualified class name of the JMS ConnectionFactory implementation.

connectionPropertiesobject

Connection properties

Additional POJO properties applied to the Direct or JNDI ConnectionFactory instance.

passwordstring

Password for broker authentication

Rendered password used when creating the connection. Omit for JNDI if the ConnectionFactory already embeds credentials.

providerJarPathsarray
SubTypestring

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.

useFilteredClassLoaderbooleanstring
Defaultfalse

Use 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.

usernamestring

Username for broker authentication

Rendered username used when creating the connection. Omit for JNDI if the ConnectionFactory already embeds credentials.

jndiConnectionFactoryName*string

JNDI ConnectionFactory name

jndiInitialContextFactory*string

JNDI initial context factory

jndiProviderUrl*string

JNDI provider URL

connectionPropertiesobject

Connection properties

Additional POJO properties applied to the Direct or JNDI ConnectionFactory instance.

jndiCredentialsstring

JNDI credentials

jndiPrincipalstring

JNDI principal

passwordstring

Password for broker authentication

Rendered password used when creating the connection. Omit for JNDI if the ConnectionFactory already embeds credentials.

providerJarPathsarray
SubTypestring

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.

useFilteredClassLoaderbooleanstring
Defaultfalse

Use 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.

usernamestring

Username for broker authentication

Rendered username used when creating the connection. Omit for JNDI if the ConnectionFactory already embeds credentials.

Default2

JMS delivery mode

Rendered delivery mode flag; default 2 (PERSISTENT)

Default4

JMS priority

Rendered integer priority 0-9; default 4

DefaultSTRING
Possible Values
STRINGJSONBYTES

Serialization format for message body

Determines how message bodies are serialized: STRING for text, JSON for JSON-formatted text, BYTES for binary data.

Default0

Message time to live

Rendered TTL in milliseconds; default 0 keeps the message indefinitely

Number of messages published