While investigating a reported issue in the MQI NodeJS bindings, I had to dig into the C library’s MQI callback functions. I found some behaviour that I didn’t expect. And some slight differences depending on whether you run an application with local or client bindings.
Continue reading “Unexpected behaviour in MQI Callback”Author: Mark
Dead Letter Header in sample message browser
MQ 9.3.4 enhanced one of the most commonly-used sample programs, the message browser. It shows some additional statistics, and decodes the dead letter header.
Continue reading “Dead Letter Header in sample message browser”This post was last updated on December 14th, 2023 at 12:46 pm
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”This post was last updated on December 14th, 2023 at 06:57 am
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”This post was last updated on May 24th, 2023 at 12:30 pm
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.
This post was last updated on June 22nd, 2023 at 08:46 am
Another SHARE done
Last week was another MQ event with SHARE. This time in Atlanta. Though I managed to combine it with seeing a customer in Dallas the previous week. SHARE was a slightly abbreviated event compared to usual, because the venue had to be booked before it was clear that face-to-face meetings would recover. So we didn’t have quite as many MQ sessions as usual. In fact, all the MQ talks were done by myself, Lyn and Dorothy either as individuals or in various double-act combinations. But it was a really valuable week, with lots of useful discussions. And the brewpub near the hotel was as good as I remembered from a previous trip.
The planning now starts for the next, fuller, event in New Orleans in August.
Just really annoying that I picked up a bug on the flight home …
Monitoring MQ availability
One of the focus areas for new development in MQ in recent years has been in the area of High Availability and Disaster Recovery. Technologies such as RDQM and Native HA, and automatically managed logfiles, give a range of possibilities for ensuring your messaging systems continue reliably. Alongside the core function, there are also metrics and status information to show more about what is going on. And so the latest updates to the open source monitor programs add collection of some of these recently-added values. This should simplify monitoring MQ availability.
Continue reading “Monitoring MQ availability”This post was last updated on February 22nd, 2023 at 10:30 am
More on Active Directory with MQ on Linux
Several years ago I wrote about using Active Directory (AD) with MQ-specific authentication and authorisation options on a Unix queue manager. In that scenario, AD serves as an LDAP server. The MQ CONNAUTH
attribute points at an IDPWLDAP
format of AuthInfo object.
There is another approach to using Active Directory with MQ on Linux, where the directory is much more integrated with the operating system. I have seen enough confusion between these two options that I thought it was worth writing something to explain. I’ve had several apparently independent streams of notes on this topic in the last month alone (not to mention the person who seems to have asked everyone they know in the hope of at least one of them giving the answer they want to hear even if it’s wrong).
Continue reading “More on Active Directory with MQ on Linux”This post was last updated on February 19th, 2023 at 11:16 am
JMS, JNDI and LDAPS
A recent Idea opened against MQ asked for the ability to store JMS resources using a secure connection to LDAP servers. All the current LDAP support for JMSAdmin and Explorer is documented using the plaintext protocol, but could we use a TLS-protected connection? My first thought was that this was likely to be impossible without changing something – albeit likely small – in the product code. But as I needed to get an LDAP server running locally for other reasons, I thought I’d give it a go to see if my guess was right. It wasn’t; and so here’s how you can do it yourself.
Continue reading “JMS, JNDI and LDAPS”This post was last updated on February 3rd, 2023 at 08:31 am
IBM MQ MacOS Toolkit for ARM
MQ has had a developer’s toolkit for MacOS available for a while. Although MacOS is not a fully-supported platform for MQ, the toolkit allows developers to write and test applications on that system, using a client connection to a queue manager.
Apple have gone through one of their periodic hardware-replacement exercises. MacOS machines were based on the x64 architecture for a number of years, but new machines are built on Arm64 (aka Apple Silicon or M1) chips. And so right at the end of 2022 we released a version of the MQ toolkit that can run natively on Arm64 systems. Doing this had some unique challenges, different from ports of the MQ codebase to other machines.
Continue reading “IBM MQ MacOS Toolkit for ARM”This post was last updated on February 13th, 2023 at 04:50 pm