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”

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”

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”

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”

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”

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”

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++”

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”

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”

Retiring SupportPac MS0P

SupportPac MS0P was first released in 2006. It added a plugin to the MQ Explorer to format event messages, including the accounting and statistic information. Since then, there’s been a lot of added function. But also, the MQ product now has a lot of comparable capability. The last functional update to MS0P was in 2018.

I’m not planning on making any further updates to the package, so I’ve been thinking about retiring it. The recent LTS release of MQ 9.4.0 seemed like a good boundary point to do that. The SupportPac will move to “withdrawn” status – still downloadable, but not as prominent.

But I thought it worth listing the various features, and showing how many of them you can now do differently.

Continue reading “Retiring SupportPac MS0P”