MQ Spring Boot: Advanced Configuration and Transactions

I was talking recently with an MQ customer who said they were considering a solution that used Spring Boot for an MQ application that would move messages reliably from one queue manager to another, doing some processing on the way. “Can we do that?” they asked. “Of course” was my reply. But naturally I had to then try it out myself.

To implement the idea, I had to dig into two aspects. I’d consider these as reasonably advanced features of Spring Boot. One part was being able to configure more than one queue manager’s connection in the resource properties file. The other was working with global JTA/XA transactions.

Continue reading “MQ Spring Boot: Advanced Configuration and Transactions”

Handling MQ logs and events with OpenTelemetry

One recent addition to the plethora of observability tools is OpenTelemetry. It attempts to provide a vendor-agnostic set of common APIs, components, interfaces and protocols that enable interoperability between a range of other tools. It deals with three major pillars of telemetry data, the things you often need to look at when monitoring systems: traces (by which it means application-level data flows), metrics, and logs.

There are already ways of tracking messages through an MQ network and beyond, reporting via OpenTelemetry. And I will soon be talking a lot more about MQ metrics and OpenTelemetry. But as an appetiser, this post shows the third piece of the story: logs.

Continue reading “Handling MQ logs and events with OpenTelemetry”

MQ JMS and Spring: Spring Boot 2 now at end of regular support

Spring Boot 2 has now reached its “end of non-commercial support“. The lifecycle for that project is set by Spring’s owners; a major release typically has 2 years of open support before moving into a longer-term paid-for regime.

Continue reading “MQ JMS and Spring: Spring Boot 2 now at end of regular support”

Options for MQ identities

I’ve written in earlier posts about confusion between different ways of using LDAP with MQ for authentication. Despite those articles, I still see questions from people who don’t really know what they can or should do.

As an attempt at simplifying the possibilities for a Linux environment, I drew up this chart. It is based on where your identities are defined.

Continue reading “Options for MQ identities”

Node.js Add-ons: Object transformation performance

While working on the redesigned Node.js C++ add-on for MQ, I had a question about transforming objects. What was the best method for Node.js performance? Noone answered the question on the internal channels I tried. I also couldn’t find anything definitive on external documentation or blogs. So I wrote my own tests …

Continue reading “Node.js Add-ons: Object transformation performance”

MQI Node.js library: an experimental reimplementation

The MQI library for Node.js applications first appeared in 2017. One of the first articles about it is here. Regular maintenance and updates to the library ensured it kept up with newer MQ and NodeJS features. But it seemed time to do a more extensive rewrite of the package, and that’s why I’m writing this article. I’ve put an experimental reimplementation on GitHub of the library for you to try out, before it goes into the mainstream release. Originally in the “napi” branch, it’s been promoted to the master branch.

Update: This new version is now on npm as the ibmmq 2.0.0 release and has been merged into the main GitHub branch.

Continue reading “MQI Node.js library: an experimental reimplementation”