Preview: Enabling Testcontainers for testing MQ Spring applications

I have just published a “Tech Preview” of some components needed to simplify testing of Spring Boot applications that use MQ.  It uses the Testcontainers framework that many may have heard of, and is intended to make it easy to build temporary resources such as queue managers as part of the test cycle

If you’re interested in looking further, see here. Please leave any comments as issues on the GitHub repository.

This preview is build-it-yourself for now, with the aim being to get feedback before finalising the overall shape and publishing new jars to Maven. It’s also not on the main branch of the ibm-messaging/mq-jms-spring repository, just to keep that clean for now.

Article also published here.

This post was last updated on April 10th, 2025 at 03:45 pm

AIX compiler support for MQ

One person asking a question will get an answer; two people asking the same question will probably prompt a post. So here’s the latest: MQ listed the XLC/C++ 16 compiler for AIX as deprecated in 2024 and support for it was removed in version 9.4.2. What does that mean for new development or existing applications?

Continue reading “AIX compiler support for MQ”

This post was last updated on March 10th, 2025 at 09:08 am

MQ Spring Boot Starter: More on global transactions

A previous article described some new sample programs showing the use of the MQ Spring Boot starter with transactions. There is a further similar sample now available, using a different transaction manager: Narayana.

Continue reading “MQ Spring Boot Starter: More on global transactions”

This post was last updated on March 9th, 2025 at 12:20 pm

Native HA CRR metrics & mqperfck

There will, no doubt, be full discussions elsewhere of the new MQ Native HA Cross-region Replication feature. But one aspect of it seemed particularly relevant to other articles on this site: monitoring the CRR metrics.

The MQ 9.4.2 release also includes another tool, mqperfck, that introduces some additional metrics. And I’ll talk about how that potentially affects other monitoring tools.

Continue reading “Native HA CRR metrics & mqperfck”

This post was last updated on March 1st, 2025 at 09:55 am

MQ PCF value formatting

In MQ V8, a new header file made it easy for C programs to convert MQI numbers into the corresponding string definition. For example, turning 2035 into MQRC_NOT_AUTHORIZED. For formatting PCF-based messages such as events, you can easily convert the names of fields in those events using functions like MQIA_STR or MQCACH_STR. But what about turning the values in those elements into a string? There is a new tool in the MQ Go library to help with MQ PCF value formatting. And it is easy to adopt or port it for other languages too.

Continue reading “MQ PCF value formatting”

This post was last updated on March 2nd, 2025 at 05:37 pm

New C sample programs

The mq-dev-patterns repository contains a collection of sample programs for IBM MQ. It has examples in a variety of programming languages and styles, working in a number of environments. There are programs showing use of the MQI (or equivalent), JMS, AMQP and REST interfaces. Towards the end of last year, we added a set of C sample programs. Rich wrote a little about them here, but I thought I’d expand on why they were written, and how they work.

Continue reading “New C sample programs”

This post was last updated on January 13th, 2025 at 08:58 am

OTel Context Propagation for MQ Applications: part 3 – JMS

Previous articles in this series have shown OpenTelemetry (OTel) Context propagation for Node.js, Go and C/C++ MQ applications. You should read the first article for an introduction and explanation of the scenarios and problems that need solutions.

This (final?) entry discusses JMS applications.

Continue reading “OTel Context Propagation for MQ Applications: part 3 – JMS”

This post was last updated on November 21st, 2024 at 07:15 am

OTel Context Propagation for MQ Applications: part 2 – C/C++

The first article in this series introduced OpenTelemetry (OTel) tracing with IBM MQ. It showed how the trace context can flow when the application is using the MQ Node.JS or Go interfaces. This article carries on the story for OTel context propagation, this time talking about C++ and C applications.

Continue reading “OTel Context Propagation for MQ Applications: part 2 – C/C++”

This post was last updated on November 20th, 2024 at 08:01 pm

OTel Context Propagation for MQ Applications

OpenTelemetry (OTel) tracing relies on context being propagated from one component in an application stack to another. While IBM MQ does have some ability to carry that context with messages, the OTel SDK design does not make that flow automatic. This post shows how we can extract the context for some applications, and then use OTel context propagation techniques to improve the observability of applications using MQ.

In particular in this post, I’ll talk about applications using MQ with the Node.js and Go interfaces.

Continue reading “OTel Context Propagation for MQ Applications”

This post was last updated on February 23rd, 2025 at 09:36 am

Tracing MQ JMS apps in Spring

The MQ JMS packages have options to permit configuration of internal tracing and related logging features. While debugging a recent project, I wanted to look at traces of both the MQ library, and some of the surrounding Spring behaviour. While possible, it was not as convenient as I would have liked. So I’ve added some new options that simplify tracing MQ JMS apps in Spring.

Continue reading “Tracing MQ JMS apps in Spring”

This post was last updated on February 21st, 2025 at 07:25 am