- https://www.ibm.com/docs/en/ibm-mq
- https://www.ibm.com/docs/en/ibm-mq/latest?topic=reference-rest-api
- https://developer.ibm.com/tutorials/?s=MQ
Core Functionality
- Message Ingestion: Consumes messages from a configured IBM MQ queue in real time.
- Reliable Delivery: Ensures at-least-once delivery semantics, respecting MQ transaction handling.
- Secure Connectivity: Supports TLS/SSL-secured channels and user authentication.
- Topic-Based Routing: Publishes consumed MQ messages to Condense Kafka topics for downstream processing.
- High Throughput: Optimized for continuous consumption of enterprise-scale message loads.
- Connection Establishment The connector connects to the IBM MQ queue manager using the provided Server Name, Port, Queue Manager, and Channel configuration.
- Authentication The connector authenticates using Username and Password, if required by the MQ server.
- Message Consumption It continuously listens to the configured Destination Queue (Queue Name) for new messages.
- Data Serialization Retrieved messages are transformed into a structured JSON payload for uniform downstream processing.
- Publishing to Kafka The connector publishes these messages to a specified Condense Output Topic, allowing other systems or Condense applications to process them.
Field-by-Field Explanation
1. Title
Description: Name for the connector instance.
Example:
IBMMQ_Input_Connector_Prod
2. Server Name
Description: Hostname or IP address of the IBM MQ server.
Example:
mq-enterprise-server.company.com
3. Server Port
Description: Port used for IBM MQ communication.
Example:
1414
4. Destination Name
Description: Queue name from which messages are consumed.
Example:
ORDERS.INPUT.QUEUE
5. Queue Manager
Description: Name of the IBM MQ Queue Manager.
Example:
QM1
6. Channel
Description: MQ communication channel.
Example:
DEV.APP.SVRCONN
7. Username
Description: Username used for IBM MQ authentication.
Example:
mq_user
8. Password
Description: Password used for IBM MQ authentication.
Example:
mq_password
9. Topic (Output)
Description: Kafka topic where consumed IBM MQ messages are published.
Example:
ibmmq_input_stream
Example Message Flow
- Message published to IBM MQ queue
ORDERS.INPUT.QUEUE. - Condense IBM MQ Input Connector retrieves the message.
- Connector converts the message payload to structured JSON.
- Message is published to the Condense topic
ibmmq_input_stream.
- Verify Server Name, Port, and Queue Manager values.
- Ensure the channel is configured as SVRCONN.
- Check the username and password.
- Verify that the MQ administrator has granted access to the channel and queue.
- The configured channel may not exist or may be restricted by CHLAUTH rules.
- Validate using the MQ command:
- Verify that the Output Topic is active in Condense.
- Ensure the connector status is RUNNING.
- Check firewall or VPN latency.
- Ensure persistent network connectivity between Condense and IBM MQ.
- TLS/SSL Security: The connector can be configured to use TLS-enabled channels (for example,
DEV.APP.SVRCONN.SSL). Ensure the keystore and truststore configurations are managed in your MQ environment. - Message Acknowledgment: Messages are acknowledged only after successful publishing to the Kafka topic, maintaining reliable delivery.
- Data Format Handling: Binary messages are Base64-encoded before publication to Condense topics.
- Performance: Batch consumption from queues can be optimized using queue depth-based triggers and parallel channel configurations.
- Use dedicated application queues for streaming data to avoid mixing control messages.
- Always validate connectivity using IBM MQ command-line tools before configuring in Condense.
- Monitor queue depth regularly to detect ingestion delays.
- Apply meaningful connector titles and topic names for better observability.
- Rotate MQ credentials periodically in accordance with enterprise security policies.