Solace Produce

Solace Produce

Certified

Publish messages to Solace topics or queues

Publishes one or more messages to a Solace Broker topic or queue using the chosen serializer. Set either topicDestination or queueDestination, not both. Topic publishing defaults to persistent delivery with a 1 minute acknowledgement wait; DIRECT skips acknowledgements. Queue publishing is always persistent.

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

Publish a file as messages into a Solace Broker.

yaml
id: send_messages_to_solace_queue
namespace: company.team

inputs:
  - id: file
    type: FILE
    description: a CSV file with columns id, username, tweet, and timestamp

tasks:
  - id: read_csv_file
    type: io.kestra.plugin.serdes.csv.CsvToIon
    from: "{{ inputs.file }}"

  - id: transform_row_to_json
    type: io.kestra.plugin.graalvm.js.FileTransform
    from: "{{ outputs.read_csv_file.uri }}"
    script: |
      var result = {
        "payload": {
          "username": row.username,
          "tweet": row.tweet
        },
        "properties": {
            "correlationId": "42"
        }
      };
      row = result

  - id: send_message_to_solace
    type: io.kestra.plugin.solace.Produce
    from: "{{ outputs.transform_row_to_json.uri }}"
    topicDestination: test/tweets
    host: localhost:55555
    username: admin
    password: "{{ secret('SOLACE_PASSWORD') }}"
    vpn: default
    messageSerializer: "JSON"

Publish a message directly to a Solace queue.

yaml
id: send_message_to_solace_queue
namespace: company.team

tasks:
  - id: send_message_to_queue
    type: io.kestra.plugin.solace.Produce
    from:
      payload: "Hello queue"
      properties:
        correlationId: "42"
    queueDestination: my-queue
    host: localhost:55555
    username: admin
    password: "{{ secret('SOLACE_PASSWORD') }}"
    vpn: default
    messageSerializer: "STRING"
Properties

Message content

Internal storage URI (kestra://), a map, or a list of maps to publish.

Solace host

Broker hostname and port, for example localhost: 55555.

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
DefaultPT1M

Acknowledgement timeout

Max wait when deliveryMode is PERSISTENT. Defaults to 1 minute.

DefaultPERSISTENT
Possible Values
DIRECTPERSISTENT

Delivery mode

DIRECT sends immediately; PERSISTENT waits for broker acknowledgement. Applies to topics only; messages sent to a queue are always persistent.

Default{}

Message properties

Optional properties applied to every message. Keys must be String and values String; supports Solace message properties.

DefaultSTRING
Possible Values
STRINGBINARYIONJSON

Message serializer

Serde used to encode payloads. Defaults to STRING.

Default{}

Serializer properties

Key/value configs passed to the serializer.

Solace password

Default{}

Connection properties

Additional broker connection properties in key/value pairs.

Queue destination

Rendered queue name for all outgoing messages.

Topic destination

Rendered topic string for all outgoing messages.

Solace username

Defaultdefault

Solace VPN

VPN name to connect to. Defaults to default when not overridden.

Total number of messages published by the task

Number of messages