IBM MQ Message Binding v0.1.0
The IBM MQ message binding allows for defining message-specific properties, such as the message type and its time-to-live (expiry).
Overview
This binding is used to provide guidance to application developers on how to handle the message payload and its metadata. It helps ensure that messages are produced and consumed correctly within an IBM MQ environment.
Message Properties
Property | Type | Required | Description |
---|---|---|---|
bindingVersion | string | No | Binding version (defaults to 0.1.0 ). |
type | string | No | The type of the message. Can be string , jms , or binary . Defaults to string . |
headers | string | No | A comma-separated list of IBM MQ message headers to include. |
description | string | No | Additional information about the message type or format. |
expiry | integer | No | The recommended time-to-live (TTL) for the message in milliseconds. Defaults to 0 (unlimited). |
Property Details
type
This property informs the application about the expected format of the message body.
string
(default): The payload is a simple string.jms
: The payload is a JMS message type, which requires the consumer to use the JMS API to interpret it. The message will include anRFH2
header.binary
: The payload is raw binary data (byte[]
).
headers
This field allows you to specify which IBM MQ headers (e.g., MQRFH2
, MQMD
) should be included with the message. This is important for interoperability, especially when communicating with non-JMS applications.
expiry
This sets the recommended "Time-To-Live" for the message. The queue manager will discard the message if it has not been delivered to a consumer within this time period. The value is in milliseconds. A value of 0
indicates that the message should not expire. Note that different IBM MQ APIs (like the low-level MQI vs. JMS) may handle the default "unlimited" value differently, so it is good practice to be explicit.
Examples
JMS Message
This defines a message that is expected to be in JMS format and should not expire.
messages:
userUpdateEvent:
bindings:
ibmmq:
bindingVersion: '0.1.0'
type: 'jms'
description: 'A standard JMS message representing a user update.'
expiry: 0
Time-Sensitive Binary Message
This defines a message with a binary payload that is only valid for 5 minutes.
messages:
stockTickerPrice:
bindings:
ibmmq:
bindingVersion: '0.1.0'
type: 'binary'
description: 'A binary-encoded stock price update.'
expiry: 300000
Changelog
Version 0.1.0
- Initial release of the IBM MQ message binding.
- Added
type
,headers
,description
, andexpiry
properties.