JMS Channel Binding v0.0.1
The JMS channel binding defines how an AsyncAPI channel maps to a JMS Destination, which is typically a queue.
Overview
This binding object allows you to specify the name and type of a JMS destination. It's used for point-to-point messaging where a message is sent to a specific queue and consumed by a single receiver.
Channel Properties
| Property | Type | Required | Description |
|---|---|---|---|
bindingVersion | string | No | Binding version (defaults to 0.0.1). |
destination | string | No | The name of the JMS destination (queue). Defaults to the channel name. |
destinationType | string | No | The type of destination. Can be queue or fifo-queue. Defaults to queue. |
Property Details
destination
This field specifies the actual name of the queue in the JMS provider. You should use this property if the AsyncAPI channel name is not a valid queue name for your provider or if you want to use a different naming convention. If omitted, the channel name is used as the queue name.
destinationType
This property defines the messaging model for the channel.
queue(default): Standard point-to-point messaging. Message order is not guaranteed across multiple consumers.fifo-queue: "First-In, First-Out". Guarantees strict message ordering. This should only be used if the target JMS provider supports it (e.g., AWS SQS with FIFO queues).
Examples
Basic Queue Definition
Defines a channel that maps to a JMS queue named user-signup-events.
channels:
userSignupEvents:
bindings:
jms:
bindingVersion: '0.0.1'
destinationType: 'queue'FIFO Queue with a Custom Name
Defines a channel that maps to a FIFO queue with a specific name that differs from the channel key.
channels:
financialTransactions:
address: 'transactions.fifo' # The address here is illustrative
bindings:
jms:
bindingVersion: '0.0.1'
destination: 'critical-transactions.fifo'
destinationType: 'fifo-queue'Changelog
Version 0.0.1
- Initial release of the JMS channel binding.
- Added
destinationanddestinationTypeproperties to configure JMS queues.