IBM MQ Source Connector
Type |
source |
Class |
|
Target System |
IBM MQ |
Maintainer |
IBM |
License |
Apache License 2.0 |
Project |
|
Download |
|
This page documents version 2.8.0. Newer versions should be compatible unless there are breaking changes, but field names or default values may differ. If you notice discrepancies, please contact Axual Support. |
Description
The IBM MQ Source Connector reads messages from an IBM MQ queue and publishes them as records to a Kafka topic.
It is maintained by IBM as part of the open-source github.com/ibm-messaging/kafka-connect-mq-source.
Although IBM MQ implements the JMS API, the dedicated IBM MQ connector is preferred over the generic JMS Source Connector — it supports native CCDT-based connection configuration, TLS client certificate authentication, and a JSON record builder optimised for IBM MQ payloads.
| The IBM MQ Sink Connector is a separate connector available at github.com/ibm-messaging/kafka-connect-mq-sink. Contact Axual for support with setting up either direction. |
Features
-
Read messages from IBM MQ queues and publish to Kafka topics
-
TLS/SSL connectivity using keystore and truststore
-
JSON record builder support
-
Configurable error tolerance and logging
When to Use
-
You need to bridge IBM MQ messages into Kafka for downstream processing or modernisation.
-
You are migrating from an IBM MQ-based messaging architecture to Kafka.
-
Your existing integration uses IBM MQ queue managers and you want to tap into that data stream without modifying producers.
When NOT to Use
-
You need to write Kafka records into IBM MQ — contact Axual for IBM MQ Sink Connector support.
-
Your broker is not IBM MQ — use the JMS Source Connector instead.
Installation
The connector is available from the github.com/ibm-messaging/kafka-connect-mq-source.
-
Navigate to the releases page and select the version matching your Kafka Connect installation.
-
Download the JAR file.
For installation steps, see Installing Connector Plugins.
Configuration
For the complete configuration reference, see the official source connector documentation.
| To configure a connector in Axual Self-Service, see Starting Connectors. TIP: For Infrastructure-as-Code deployment, see the Axual Kafka Connect Boilerplates for Terraform and Management API boilerplates. |
Getting Started
Prerequisites
IBM MQ instance
-
-
Location:
Frankfurt (eu-de) -
Pricing plan: Lite
-
Service name:
my_axual_mq -
Accept the License Agreement and click Create.
-
-
Create a queue manager:
-
Click Create + on the "Queue managers" tab.
-
Queue manager name:
my_axual_queue_manager -
Display name:
my_axual_queue_manager -
Size: Lite
-
Click Create → Continue.
-
-
After the queue manager is created, click it → Connect information → JSON CCDT.
The CCDT file will be downloaded to your machine. Click Close. -
Click the Key store tab → Click the 3 dots on the
qmgrcertcertificate → Download public certificate. -
Create application credentials:
-
Go to Resources list → Expand "Integration" → Click
my_axual_mq. -
Click the Application credentials tab → Add +.
-
Display name:
my_mq_connector -
Application username:
axualconnect -
Click Add and generate API key → Download.
-
| The CCDT JSON file, API key, and certificates must be made available on every Connect node by Axual platform operators before you can start the connector. |
Axual stream
The stream where the connector will produce events must already exist in Axual Self-Service. See Creating streams if you need to create it.
Steps
Step 1 — Create a connector application
-
Follow the Creating streams documentation in order to create one stream and deploy it onto an environment.
The name of the stream will bemy_mq_stream.
The key/value types will beJSON/JSON. -
Follow the Configure and install a connector documentation to set up a new Connector-Application.
Let’s call itmy_mq_app.
The plugin name iscom.ibm.eventstreams.connect.mqsource.MQSourceConnector.
If a plugin isn’t available, ask a platform operator to install plugins.
Step 2 — Configure the connector
-
Provide the following minimal configuration:
mq.ccdt.urlExample value:
file://etc/ibm_mq_ccdt/my_mq_app/ibm-mq-ccdt.jsonmq.passwordFind this value in the
applicationApiKey.jsonfile you downloaded.
Example value:ABcdefgHIJkLMNOpqRStuvwXYZ1234567890over_flowmq.ssl.keystore.locationExample value:
/etc/tls/my_mq_app/ibm_mq/keystore.jksmq.ssl.keystore.passwordExample value:
passwordmq.ssl.truststore.location/etc/tls/my_mq_app/ibm_mq/truststore.jksmq.ssl.truststore.passwordExample value:
passwordmq.queue.managermy_axual_queue_managermq.user.nameaxualconnectmq.queuemy_mq_streamtopicmy_mq_streammq.record.buildercom.ibm.eventstreams.connect.mqsource.builders.JsonRecordBuilderThe following optional configs are also recommended:
errors.log.enabletrueerrors.log.include.messagestrueerrors.toleranceallFor advanced options, see the official source connector documentation.
-
Authorize the
my_mq_appsource Connector-Application to produce to themy_mq_streamstream.
Step 4 — Verify
In Axual Self-Service, use stream-browse on my_mq_stream to confirm MQ messages are arriving as
Kafka records.
Cleanup
When you are done:
-
Stop the connector application in Axual Self-Service.
-
Remove stream access for the application if no longer needed.
-
If deployed via IBM Cloud, delete the queue manager:
-
Go to Resources list → Expand "Integration" → Click
my_axual_mq. -
Click the delete button on the right side of the screen and confirm deletion.
-
Known limitations
-
The CCDT file, TLS keystores, and truststores must be distributed to all Connect nodes by Axual platform operators before the connector can start.
-
Contact Axual for support with the IBM MQ Sink Connector.
Examples
Minimal configuration
{
"name": "my-ibm-mq-source",
"config": {
"connector.class": "com.ibm.eventstreams.connect.mqsource.MQSourceConnector",
"mq.ccdt.url": "file://etc/ibm_mq_ccdt/my_mq_connector/ibm-mq-ccdt.json",
"mq.password": "<your-api-key>",
"mq.ssl.keystore.location": "/etc/tls/my_mq_connector/ibm_mq/keystore.jks",
"mq.ssl.keystore.password": "<your-keystore-password>",
"mq.ssl.truststore.location": "/etc/tls/my_mq_connector/ibm_mq/truststore.jks",
"mq.ssl.truststore.password": "<your-truststore-password>",
"mq.queue.manager": "my_axual_queue_manager",
"mq.user.name": "axualconnect",
"mq.queue": "my_mq_stream",
"topic": "my_mq_stream",
"mq.record.builder": "com.ibm.eventstreams.connect.mqsource.builders.JsonRecordBuilder"
}
}
License
IBM MQ source connector is licensed under the Apache License, Version 2.0.