IBM MQ Connector Reference - Mule 4
IBM MQ Connector v1.7
Provides the main class of this connector, which is the entry point where configurations, connection providers, operations, and sources are declared.
Release Notes: IBM MQ Connector Release Notes
Configurations
Config
Default configuration.
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Name |
String |
The name for this configuration. Connectors reference the configuration with this name. |
x |
|
Connection |
The connection types to provide to this configuration. |
x |
||
Encoding |
String |
The default encoding of the message body if the message doesn’t communicate it. |
||
Content Type |
String |
The default content type of the message body is the message doesn’t communicate it. |
|
|
Send Correlation Id |
Enumeration, one of:
|
Whether to specify a |
AUTO |
|
Expiration Policy |
Configures the minimum amount of time that a dynamic configuration instance can remain idle before the runtime considers it eligible for expiration. This does not mean that the platform expires the instance at the exact moment that it becomes eligible. The runtime purges the instances when it sees fit. |
|||
Ack Mode |
Enumeration, one of:
|
The Session ACK mode to use when consuming a message. |
AUTO |
|
Consumer Type |
One of:
|
|||
Selector |
String |
Default JMS selector to use for filtering incoming messages. |
||
Persistent Delivery |
Boolean |
If true, the message is sent using the PERSISTENT |
|
|
Priority |
Number |
The default |
|
|
Time To Live |
Number |
Defines the default time the message is in the broker before it expires and is discarded. |
|
|
Time To Live Unit |
Enumeration, one of:
|
Time unit to use in the timeToLive configurations. |
|
|
Disable Message Id |
Boolean |
If true, the Message is flagged to avoid generating its MessageID. |
|
|
Disable Message Timestamp |
Boolean |
If true, the Message is flagged to avoid generating its sent Timestamp. |
|
|
Delivery Delay |
Number |
Only used by JMS 2.0: Sets the delivery delay to be applied to postpone the Message delivery. |
||
Delivery Delay Unit |
Enumeration, one of:
|
Only used by JMS 2.0: Time unit to use in the deliveryDelay configurations. |
|
|
Jms Type |
String |
The message type identifier to be set in the JMSType Header when a message is sent. |
Connection Types
Connection
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Connection Mode |
x |
|||
Username |
String |
Username to use to connect to the IBM MQ Server. |
||
Password |
String |
Password of the used username. |
||
Client ID |
String |
ID of the JMS Client used to identify the current client. |
||
CSS ID |
Number |
Number to use when connecting to the queue manager. The default value (819) is suitable in most situations. |
||
Additional Properties |
Object |
Additional properties to configure the IBM MQ client. |
||
Caching Strategy |
One of:
|
The strategy to use for caching of sessions and connections. |
||
Enable XA Transactions |
Boolean |
Supports creating and joining XA transactions which enables the connector to participate in a transaction with multiple resources. Note that IBM MQ Connector does not support nested XA transactions due to IBM MQ driver limitations. |
|
|
Specification |
Enumeration, one of:
|
Version of the JMS specification for the JMS Client. |
|
|
Target Client |
Enumeration, one of:
|
Describes the way to create the IBM MQ JMS Client. When using |
|
|
Application Name |
String |
Application name to be registered in the connection factory. By default this is the application name. Max 27 characters are allowed. |
||
Read Message Descriptor (MD) |
Enumeration, one of:
|
Indicates if this is enabled to read the message descriptor properties. |
ENABLED |
|
Write Message Descriptor (MD) |
Enumeration, one of:
|
Indicates if this is enabled to write the message descriptor properties. |
ENABLED |
|
Message Context |
Enumeration, one of:
|
Indicates the message context to configure message options.
|
DEFAULT |
|
Temporary Model |
String |
The name of the IBM MQ model queue that refers to a model queue that can be used to create a permanent dynamic queue. |
||
Temporal Queue Prefix |
String |
The prefix to use when creating temporary queue names. The last non-blank character must be an asterisk ( |
||
Temporal Topic Prefix |
String |
The prefix to use when creating temporary topic names. The last non-blank character must be an asterisk ( |
||
Receive Exit Handler |
String |
The receive exit handler class. When writing exits for use with IBM MQ Java, each object must also have a constructor that takes a single string argument. When IBM MQ creates an instance of the exit, it passes any initialization data into the exit using this constructor. |
||
Receive Exit Handler Init |
String |
Initialization string for the receive exit. |
||
Send Exit Handler |
String |
The send exit handler class. When writing exits for use with IBM MQ Java, each object must also have a constructor that takes a single string argument. When IBM MQ creates an instance of the exit, it passes any initialization data into the exit using this constructor. |
||
Send Exit Handler Init |
String |
Initialization string for the send exit. |
||
Security Exit Handler |
String |
The security exit handler class. When writing exits for use with IBM MQ Java, each object must also have a constructor that takes a single string argument. When IBM MQ creates an instance of the exit, it passes any initialization data into the exit using this constructor. |
||
Security Exit Handler Init |
String |
Initialization string for the security exit. |
||
Min Pool Size |
Number |
The minimum size of the XA connection pool. |
|
|
Max Pool Size |
Number |
The maximum size of the XA connection pool. |
|
|
Max Idle Seconds |
Number |
The number of seconds an XA transaction can remain idle before it’s eligible for eviction. |
|
|
IBM MQ CipherSpec Mapping |
Enumeration, one of:
|
Defines which CipherSuite mapping to use: Oracle JDK or IBM JDK. Configure this parameter depending on the host JDK. For more information, see SSL/TLS CipherSpecs and CipherSuites. |
|
|
IBM Cipher Suite |
String |
CipherSuite to use to connect to the IBM MQ Server. |
||
Reset Count |
Number |
This property represents the total number of bytes sent and received by a connection before the secret key that is used for encryption is renegotiated. Integer value between 0 (disabled) and 999999999. |
||
Peer Name |
String |
Specifies a distinguished name pattern, to ensure that your JMS application connects to the correct queue manager. |
||
FIPS Required |
Boolean |
Enable it if is required a connection to use a CipherSuite that is supported by the IBM Java JSSE FIPS provider (IBMJSSEFIPS). |
|
|
Cert Stores |
String |
Specifies a list of LDAP servers to use for certificate revocation list (CRL) checking. |
||
TLS Context |
||||
Reconnection |
When the application is deployed, a connectivity test is performed on all connectors. If set to |
You can also configure Client Channel Definition Tables (CCDT) connection by going to the Advanced tab and adding the XMSC_WMQ_CCDTURL and XMSC_WMQ_QUEUE_MANAGER properties in the Additional properties section. If you use the XMSC_WMQ_CCDTURL property, ensure Connection mode is set to Client in the General tab.
|
Sources
Consume
<ibm-mq:consume>
Allows a user to consume a single message from a given destination.
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Configuration |
String |
The name of the configuration to use. |
x |
|
Destination |
String |
The name of the destination from where the message should be consumed. |
x |
|
Consumer Type |
One of:
|
The type of the MessageConsumer that is required for the given destination, along with any extra configurations that are required based on the destination type. |
||
Ack Mode |
Enumeration, one of:
|
The ConsumerAckMode to configure over the message and session. |
||
Selector |
String |
A custom JMS selector for filtering the messages. |
||
Maximum Wait |
Number |
Maximum time to wait for a message before timing out. |
10000 |
|
Maximum Wait Unit |
Enumeration, one of:
|
Time unit to use in the maximumWaitTime configurations. |
MILLISECONDS |
|
Transactional Action |
Enumeration, one of:
|
The type of joining action that operations can take regarding transactions. |
JOIN_IF_POSSIBLE |
|
Content Type |
String |
Sets the ContentType of the received message. If the message already have one, this one is overridden. |
||
Encoding |
String |
Sets the Encoding of the received message. If the message already have one, this one is overridden. |
||
Target Variable |
String |
The name of a variable to store the operation’s output. |
||
Target Value |
String |
An expression to evaluate against the operation’s output and store the expression outcome in the target variable. |
|
|
Reconnection Strategy |
A retry strategy in case of connectivity errors. |
Publish
<ibm-mq:publish>
Allows a user to send a Message to a JMS destination.
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Configuration |
String |
The name of the configuration to use. |
x |
|
Destination |
String |
The name of the Destination where the Message should be sent |
x |
|
Destination Type |
Enumeration, one of:
|
The MQDestinationType of the destination. |
QUEUE |
|
Transactional Action |
Enumeration, one of:
|
Transactional Action for the operation. Indicates if the publish must be executed or not in a transaction. |
JOIN_IF_POSSIBLE |
|
Send Correlation Id |
Enumeration, one of:
|
Options on whether to include an outbound correlation ID or not. |
||
Body |
Any |
The body of the Message |
|
|
JMS Type |
String |
The JMSType identifier header of the Message. |
||
Correlation ID |
String |
The JMSCorrelationID header of the Message. |
||
Send Content Type |
Boolean |
Whether or not the body content type should be sent as a property |
true |
|
Content Type |
String |
The content type of the message’s body. |
||
Send Encoding |
Boolean |
Whether or not the body outboundEncoding should be sent as a Message property. |
true |
|
Encoding |
String |
The encoding of the message’s body. |
||
Reply To |
The destination where a reply to this Message should be sent |
|||
User Properties |
Object |
The custom user properties that should be set to this Message. |
||
JMSX Properties |
The JMSX properties that should be set to this Message. |
|||
Persistent Delivery |
Boolean |
If true, the Message is sent using the PERSISTENT JMSDeliveryMode. |
||
Priority |
Number |
The default JMSPriority value to use when sending the message. |
||
Time To Live |
Number |
Defines the default time the message is in the broker before it expires and is discarded. |
||
Time To Live Unit |
Enumeration, one of:
|
Time unit to use in the timeToLive configurations |
||
Disable Message Id |
Boolean |
If true, the Message is flagged to avoid generating its MessageID. |
||
Disable Message Timestamp |
Boolean |
If true, the Message is flagged to avoid generating its sent Timestamp. |
||
Delivery Delay |
Number |
Only used by JMS 2.0. Sets the delivery delay to be applied to postpone the Message delivery. |
||
Delivery Delay Unit |
Enumeration, one of:
|
Time unit to use in the deliveryDelay configurations. |
||
Reconnection Strategy |
A retry strategy in case of connectivity errors. |
Publish Consume
<ibm-mq:publish-consume>
Allows a user to send a message to a JMS destination and wait for a response either to the provided ReplyTo destination or to a temporary destination created dynamically.
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Configuration |
String |
The name of the configuration to use. |
x |
|
Destination |
String |
The name of the Destination where the Message should be sent |
x |
|
Request-Reply Pattern |
Enumeration, one of:
|
Indicates how requests and reply messages are correlated, which ensures that the incoming message is the proper reply to the outgoing message. * The * The |
CORRELATION_ID |
|
Send Correlation ID |
Enumeration, one of: AUTO ALWAYS ** NEVER |
Options on whether to include an outbound correlation ID or not. |
||
Body |
Any |
The body of the Message. |
|
|
JMS Type |
String |
The JMSType identifier header of the Message. |
||
Correlation ID |
String |
The JMSCorrelationID header of the Message. |
||
Send Content Type |
Boolean |
Whether or not the body content type should be sent as a property. |
true |
|
Content Type |
String |
The content type of the message’s body. |
||
Send Encoding |
Boolean |
Whether or not the body outboundEncoding should be sent as a Message property. |
true |
|
Encoding |
String |
The encoding of the message’s body |
||
Reply To |
The destination where a reply to this Message should be sent. |
|||
User Properties |
Object |
The custom user properties that should be set to this Message |
||
JMSX Properties |
The JMSX properties that should be set to this Message |
|||
Persistent Delivery |
Boolean |
If true, the Message is sent using the PERSISTENT JMSDeliveryMode. |
||
Priority |
Number |
The default JMSPriority value to use when sending the message. |
||
Time To Live |
Number |
Defines the default time the message is in the broker before it expires and is discarded |
||
Time To Live Unit |
Enumeration, one of:
|
Time unit to use in the timeToLive configurations |
||
Disable Message Id |
Boolean |
If true, the Message is flagged to avoid generating its MessageID. |
||
Disable Message Timestamp |
Boolean |
If true, the Message is flagged to avoid generating its sent Timestamp |
||
Delivery Delay |
Number |
Only used by JMS 2.0. Sets the delivery delay to be applied to postpone the Message delivery |
||
Delivery Delay Unit |
Enumeration, one of:
|
Time unit to use in the deliveryDelay configurations |
||
Ack Mode |
Enumeration, one of:
|
The Session ACK mode to use when consuming the message |
IMMEDIATE |
|
Maximum Wait |
Number |
Maximum time to wait for a message to arrive before timeout |
10000 |
|
Maximum Wait Unit |
Enumeration, one of:
|
Time unit to use in the maximumWaitTime configuration |
MILLISECONDS |
|
Content Type |
String |
The content type of the message body to be consumed. |
||
Encoding |
String |
The encoding of the message body to be consumed. |
||
Target Variable |
String |
The name of a variable to store the operation’s output. |
||
Target Value |
String |
An expression to evaluate against the operation’s output and store the expression outcome in the target variable. |
|
|
Reconnection Strategy |
A retry strategy in case of connectivity errors. |
Ack
<ibm-mq:ack>
Allows the user to perform an ACK when the AckMode#MANUAL mode is elected while consuming the Message. As per JMS Spec, performing an ACK over a single Message automatically works as an ACK for all the Messages produced in the same JmsSession.
Recover Session
<ibm-mq:recover-session>
Allows a user to perform a session recover when the AckMode#MANUAL mode is elected while consuming the Message. As per JMS Spec, performing a session recover automatically redelivers all the consumed messages that had not being acknowledged before this recover.
Sources
On New Message
<ibm-mq:listener>
Parameters
Name | Type | Description | Default Value | Required |
---|---|---|---|---|
Configuration |
String |
The name of the configuration to use. |
x |
|
Destination |
String |
The name of the Destination from where the Message should be consumed. |
x |
|
Consumer Type |
One of:
|
The Type of the Consumer that should be used for the provided destination. |
||
Ack Mode |
Enumeration, one of:
|
The Session ACK mode to use when consuming a message. |
||
Selector |
String |
JMS selector to use for filtering incoming messages. |
||
Number Of Consumers |
Number |
The number of concurrent consumers to use to receive JMS Messages |
|
|
Transactional Action |
Enumeration, one of:
|
The type of beginning action that sources can take regarding transactions. |
|
|
Transaction Type |
Enumeration, one of:
|
The type of transaction to create. Availability depends on the runtime version. |
|
|
Primary Node Only |
Boolean |
Whether this source should only be executed on the primary node when running in a cluster. |
|
|
Redelivery Policy |
Defines a policy for processing the redelivery of the same message. |
|||
Content Type |
String |
Sets the content type of the received message. If the message already has a content type, it is overridden. |
||
Encoding |
String |
Sets the encoding of the received message. If the message already has one, it is overridden. |
||
Reconnection Strategy |
A retry strategy in case of connectivity errors. |
|||
Ignore JMS replyTo header |
Boolean |
True if no automatic response is needed for messages with destination header |
false |
|
Body |
Any |
The body of the Message |
|
|
JMS Type |
String |
The JMSType identifier header of the message. |
||
Correlation ID |
String |
The JMSCorrelationID header of the message. |
||
Send Content Type |
Boolean |
Whether or not to send the body content type as a property. |
|
|
Content Type |
String |
The content type of the message’s body. |
||
Send Encoding |
Boolean |
Whether or not the body outboundEncoding should be sent as a Message property. |
|
|
Encoding |
String |
The encoding of the message’s body |
||
Reply To |
The destination where a reply to this Message should be sent |
|||
User Properties |
Object |
The custom user properties that should be set to this Message |
||
JMSX Properties |
The JMSX properties that should be set to this Message. |
|||
Persistent Delivery |
Boolean |
Whether or not the delivery should be done with a persistent configuration. |
||
Priority |
Number |
The default JMSPriority value to use when sending the message. |
||
Time To Live |
Number |
Defines the default time the message is in the broker before it expires and is discarded. |
||
Time To Live Unit |
Enumeration, one of:
|
Time unit to use in the timeToLive configurations, |
||
Disable Message Id |
Boolean |
If true, the Message is flagged to avoid generating its MessageID. |
||
Disable Message Timestamp |
Boolean |
If true, the Message is flagged to avoid generating its sent Timestamp. |
||
Delivery Delay |
Number |
Only used by JMS 2.0. Sets the delivery delay to be applied to postpone the Message delivery. |
||
Delivery Delay Unit |
Enumeration, one of:
|
Time unit to use in the deliveryDelay configurations. |
||
Send Correlation ID |
Enumeration, one of:
|
Options on whether to include an outbound correlation ID or not. |
||
Request Reply Pattern |
Enumeration, one of:
|
Indicates how requests and reply messages are correlated, which ensures that the incoming message is the proper reply to the outgoing message. * The * The |
CORRELATION_ID |
Types
TLS
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Enabled Protocols |
String |
A comma-separated list of protocols enabled for this context. |
||
Enabled Cipher Suites |
String |
A comma-separated list of CipherSuites enabled for this context. |
||
Trust Store |
||||
Key Store |
||||
Revocation Check |
Trust Store
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Path |
String |
The location of the trust store which resolves relative to the current classpath and file system, if possible. |
||
Password |
String |
The password used to protect the trust store. |
||
Type |
String |
The type of store used. |
||
Algorithm |
String |
The algorithm used by the trust store. |
||
Insecure |
Boolean |
If true, no certificate validations are performed, rendering connections vulnerable to attacks. Use at your own risk. |
Key Store
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Path |
String |
The location of the key store which resolves relative to the current classpath and file system, if possible. |
||
Type |
String |
The type of store used. |
||
Alias |
String |
When the key store contains many private keys, this attribute indicates the alias of the key that should be used. If not defined, the first key in the file is used by default. |
||
Key Password |
String |
The password used to protect the private key. |
||
Password |
String |
The password used to protect the key store. |
||
Algorithm |
String |
The algorithm used by the key store. |
Standard Revocation Check
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Only End Entities |
Boolean |
Only verify the last element of the certificate chain. |
||
Prefer Crls |
Boolean |
Try CRL instead of OCSP first. |
||
No Fallback |
Boolean |
Do not use the secondary checking method (the one not selected before). |
||
Soft Fail |
Boolean |
Avoid verification failure when the revocation server cannot be reached or is busy. |
Custom OCSP Responder
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Url |
String |
The URL of the OCSP responder. |
||
Cert Alias |
String |
Alias of the signing certificate for the OCSP response (must be in the trust store), if present. |
Reconnection
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Fails Deployment |
Boolean |
When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy. |
||
Reconnection Strategy |
The reconnection strategy to use. |
Reconnect
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Frequency |
Number |
How often in milliseconds to reconnect. |
||
Count |
Number |
How many reconnection attempts to make. |
||
blocking |
Boolean |
If false, the reconnection strategy runs in a separate, non-blocking thread. |
true |
Reconnect Forever
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Frequency |
Number |
How often in milliseconds to reconnect. |
||
blocking |
Boolean |
If false, the reconnection strategy runs in a separate, non-blocking thread. |
|
Expiration Policy
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Max Idle Time |
Number |
A scalar time value for the maximum amount of time a dynamic configuration instance can be idle before it’s considered eligible for expiration. |
||
Time Unit |
Enumeration, one of:
|
A time unit that qualifies the maxIdleTime attribute. |
IBM MQ Attributes
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Properties |
||||
Headers |
Any |
x |
||
Ack Id |
String |
JMS Message Properties
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
All |
Any |
x |
||
User Properties |
Any |
x |
||
Jms Properties |
Any |
x |
||
Jmsx Properties |
JMSX Properties
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Jmsx User ID |
String |
|||
Jmsx App ID |
String |
|||
Jmsx Delivery Count |
Number |
|||
Jmsx Group ID |
String |
|||
Jmsx Group Seq |
Number |
|||
Jmsx Producer TXID |
String |
|||
Jmsx Consumer TXID |
String |
|||
Jmsx Rcv Timestamp |
Number |
Redelivery Policy
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Max Redelivery Count |
Number |
The maximum number of times a message can be redelivered and processed unsuccessfully before triggering process-failed-message |
||
Use Secure Hash |
Boolean |
Whether to use a secure hash algorithm to identify a redelivered message. |
||
Message Digest Algorithm |
String |
The secure hashing algorithm to use. |
|
|
Id Expression |
String |
Defines one or more expressions to use to determine when a message has been redelivered. This property may only be set if useSecureHash is false. |
||
Object Store |
Object Store |
The object store where the redelivery counter for each message is going to be stored. |
MQ JMS Destination
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Destination |
String |
The name that identifies the destination where a message should be sent. |
x |
|
Destination Type |
Enumeration, one of:
|
The type of this destination. |
QUEUE |
MQ JMSX Properties
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Jmsx User ID |
String |
|||
Jmsx App ID |
String |
|||
Jmsx Delivery Count |
Number |
|||
Jmsx Group ID |
String |
|||
Jmsx Group Seq |
Number |
|||
Jmsx Producer TXID |
String |
|||
Jmsx Consumer TXID |
String |
|||
Jmsx Rcv Timestamp |
Number |
Topic Consumer
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Durable |
Boolean |
|
||
Shared |
Boolean |
|
||
No Local |
Boolean |
|
||
Subscription Name |
String |
Client
Field | Type | Description | Default Value | Required |
---|---|---|---|---|
Host |
String |
Host where the IBM MQ Broker is. |
x |
|
Port |
Number |
Queue Manager listener port. |
|
|
Queue Manager |
String |
The queue manager which is used when selecting a channel definition. |
||
Channel |
String |
Name of the channel to connect to. |
||
Connection Name List |
String |
Hosts to which the client attempts to reconnect to after its connection is broken. The connection name list is a comma-separated list of host and IP port pairs. |