Skip to content

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 ​

PropertyTypeRequiredDescription
bindingVersionstringNoBinding version (defaults to 0.0.1).
destinationstringNoThe name of the JMS destination (queue). Defaults to the channel name.
destinationTypestringNoThe 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.

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

yaml
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 destination and destinationType properties to configure JMS queues.