MQdev Blog - moving to Messaging on Developerworks!
Attention:We've moved the MQdev blog to the new IBM Messaging developerWorks page. Come and see our new look! Existing blog posts will remain here, but all future blogs will be published in Developerworks. Subscribe to the new feed here:
The former home of all of the latest technical blogs and tutorials for IBM MQ, MQ Appliance, MQ for z/OS, and cloud-related MQ topics. To get access to new materials, as well as videos, samples, docs, support and more, visit us at: https://developer.ibm.com/messaging
We're moving! After many years on MQDev, we are moving to Messaging on Developerworks . It's been good while it lasted, but we're looking forward to the upgrade, and hope that you'll like it too! You'll be able to view not only blogs, but get easy links to demo videos, certification, support, samples, and more, all from one central hub. We're working towards customising parts of the site for specific users, so whether you're interested in MQ on distributed, MQ Appliance, MQ for z/OS, or what MQ is... [More]
MQ on linux platform by design uses O_DIRECT feature when writing to the recovery logs. But some linux file systems do not support O_DIRECT flag. In such case O_DIRECT feature has to be disabled manually to start the queue manager or create the queue manager. So we have to check linux file system's support for O_DIRECT else crtmqm will fail with AMQ8101 error code or strmqm will fail with AMQ7047 error code. In either case, under MQ traces we can see the following ------{ mqloWriteFile ... [More]
Summary : This blog is for the workaround when user tries to launch the MQ Explorer on the back level MQ Fix pack, i.e. when user installed latest MQ Fixpack ex: MQ 7508 Fixpack and uninstalled 7508 FP and when tries to launch MQ explorer on back level Fix pack 7507, might end up with error while launching the explorer using command Error you could see as below while launching MQ explorer And in the *.log - <MQ Installation Directory>\WebSphere... [More]
We have had a couple of questions about which file system people should use for their distributed production queue manager. One person said they found an old server which had never been used. They put a current Linux on it, and ran a queue manager which became the production queue manager. Full marks for reuse - but it did not give the throughput they needed, so no marks for planning. We also had a question asking if we could come up with a tool or document which could predict the throughput for a given file system and persistent... [More]
MQ Internet Pass-Thru (MQIPT) is an IBM MQ product extension that helps you connect MQ queue managers or clients that are not on the same network securely. It’s free to download from the IBM MQ SupportPac website , and is fully supported when used with a supported version of IBM MQ. As MQIPT fix pack 2.1.0.3 has just been released, I thought I’d take this opportunity to briefly highlight what this SupportPac offers. What can MQIPT do? MQIPT listens on one or more TCP ports and forwards MQ connections that it receives.... [More]
Today IBM announced the availability of IBM MQ for HPE NonStop V8.0, the first release of MQ on the NonStop platform since Version 5.3. This new version supports 32-bit and 64-bit native applications on both NonStop X and NonStop i platforms, extending Version 5.3's support for 32-bit applications on NonStop i. IBM MQ for HPE NonStop V8.0 is a new port of the product based on IBM MQ V8.0, including many new features that have been introduced into the MQ product since V5.3 was released, and also taking... [More]
I was trying to specify message selection strings in MQOPEN and I was getting no messages when I did my MQGET. I thought I would pass on the micro gems of what I learned. I was running on z.Lunix and my C program had parameters -SSKEYWORD=kw and -SSVALUE=value. My program then built the SelectionString from kw '=' value. When I specified myprog -SSKEYWORD=COLOUR -SSVALUE='BLUE' n o messages were retrieved. I was expecting the SelectionString to be COLOUR='BLUE' I found I had to... [More]
Just a quick post to advertise the following sample code on GitHub that provides a web UI which uses JavaScript to call the MQ REST API. If you want to see it in action without getting your hands dirty then there is a demo of the web UI on YouTube .
Installing MQ without a Java Runtime Environment or removing one already present In IBM MQ releases prior to 9.0.2 the product always installed a Java Runtime Environment (JRE). This was tied into MQ in such a way that once installed, it could not be properly or safely removed without removing the whole of MQ. For some customers this had become a problem. I should say at this point, for those reading who are happily using Java with MQ, that our Service team does update the installed JREs in every fix pack to keep your Java... [More]
I put this on the ColinPaice z/OS blog ... and thought it worth sharing with a wider audience... I was working with a customer who had an "MQ problem" which turned out to be too many virtual machines (VMs) running on the box - so causing lack of CPU. They fixed this and "the MQ problem went away" There is well know Maslow's hierarchy of needs which says you need air before you think about safety, sense of belonging etc. So here is Colin's hierarchy of needs... so fix 1) then... [More]
Introduction: IBM MQ v9.0.1, the IBM MQ Console became available across a wide range of platforms as an installable feature, including on MQ Appliance and on MQ on z/OS. The IBM MQ Console is a web-based user interface that can be used to perform common administration tasks. We can create, delete, start and stop queue managers, as well as manage many MQ objects like queues, channels and listeners. We can also administer MQ on cloud (IBM Bluemix) using the MQ web console. We can manage IBM MQ resources in the container using the MQ... [More]
As of the 9.0.2 release for the MQ appliance, the MQ administrative REST API was introduced on the MQ appliance. This new API runs alongside the management API on the MQ Appliance that can be accessed through the /mgmt URI and was introduced in 9.0.1. The management API provides the ability to administer aspects of the appliance system, such as networking and user management. The MQ administrative REST API introduces MQ management function into this already expansive API. As of 9.0.2 you can now view Queue Managers using REST and create and... [More]
IBM MQ 9.0.3 is the next continuous delivery update for MQ, with IBM MQ 9.0 being the current Long Term Support option. The continuous delivery releases incrementally build on the MQ 9.0 features, providing early, supported, access to the latest MQ capabilities. Version 9.0.3 has released slightly ahead of our 4 monthly cadence, and been delivered concurrently on distributed, z/OS and the appliance platforms. MQ 9.0.3 can be obtained from: PassportAdvantage for Windows and Linux platforms (Search for part numbers CJ1RJML... [More]
IBM and Salesforce recently announced a partnership to deliver various solutions based around the different companies products. As part of that initiative, MQ is now shipping a component that enables MQ applications to receive events caused by updates to Salesforce data, or driven by applications running in the Salesforce environment. This new bridge, an optionally installable element of MQ V9.0.2 on the x64 Linux product, listens for these events and republishes them to MQ topics. Any MQ application using the normal... [More]
Every once in a while, a customer will contact IBM Support and say: I've got the MQ resource adapter deployed into an application server, and it fails to start with the error "MQJCA1008: An incorrect version of the MQ classes for JMS was found. Deployment failed". What's going on? In this short blog post, I'll explain what the MQJCA1008 error message means and how to resolve it. What's inside the MQ resource adapter The MQ resource adapter is made up of a number of different components, as shown below: Figure 1:... [More]
Configuring the MQ Service Provider for z/OS Connect EE Matt Leming from MQ development in an earlier blog entry provided a detailed overview of the MQ Service Provider for z/OS Connect and how it can be used to send and receive messages using REST APIs. Support for accessing IBM MQ with REST APIs using IBM z/OS Connect EE was shipped with IBM MQ V9.0.1 and concurrently made available as a download from IBM Fix Central, (see the MQ Knowledge Center for details about obtaining the code from Fix Central). In this blog entry I want to... [More]
In MQ 9.0.1 we introduced the MQ Service Provider for z/OS Connect. This is compatible with MQ for z/OS queue managers that are version 8 or later and is discussed here. The blog referenced used a stock check workload as an example use of the z/OS Connect feature, but how does this compare with a client performing the same request? In order to answer this question, we created 2 configurations: A client able to send HTTP requests to a WAS Liberty server that was configured for a z/OS connect ‘2-way’ service, or to... [More]
I recently wrote about how OPMODE works in the Long Term Service (LTS) release of MQ V9 on z/OS, and the differences compared to previous versions of MQ. The operation of OPMODE is quite different again in the Continuous Delivery (CD) releases of MQ V9, and that’s what I want to describe now. So what’s different? From V9, MQ has moved a continuous delivery support model. This means that in addition to the LTS release for installations where only defect fixes are required,... [More]
On May 2nd 2017, we announced the latest Continuous Delivery release for IBM MQ for z/OS V9.0.3. The major feature in this release is the introduction of a new "Connector Pack" for those customers who choose the MQ for z/OS Advanced Value Unit Edition. The full text of the announcement is available here: http://www.ibm.com/common/ssi/ShowDoc.wss?docURL=/common/ssi/rep_ca/5/897/ENUS217-165/index.html&lang=en&request_locale=en . IBM MQ Advanced for z/OS VUE is a single bundle that offers the power of MQ, the... [More]
Summary: “failTransferOnFirstFailure” is the new functionality to WebSphere MQ Managed File Transfer which allows agents to be configured to fail a managed transfer, as soon as a transfer item within that managed transfer fails. Description: “failTransferOnFirstFailure” feature is introduced from IBM MQ v7.5.0.6 and MQ v8.0.0.4 and above. This feature defines that all subsequence file items within a transfer will be failed and not transferred should any preceding file... [More]
In a previous blog post I demonstrated how system management tasks can be scripted for the IBM MQ Appliance using the REST API that was introduced in version 9.0.1. This API provides the ability to administer aspects of the appliance system, such as networking and user management. The article can be found here . It uses Perl as an example of how to script operations using REST, but the concepts can be easily applied to another scripting language of choice. In this article I build on my previous post to demonstrate how MQ operations can also be... [More]
I recently saw a queue manager at a customer site that was filling the active logs every 30 minutes at peak time, and only had 3 active logs defined. This means that they only had 90 minutes before their MQ workload would stop if they had a problem with archiving. Common causes of problems with archiving are running out of disk space or being unable to write to tapes. Background MQ writes data to the log whenever it processes persistent messages or transactions. It writes the data to active log data sets. When each active log data set fills up... [More]
IBM MQ 9.0.2 expanded the capability of the Administrative REST API capability added in IBM MQ 9.0.1, this is detailed in recent blogs by my colleagues Mark Bluemel and Harvey Elsom . For a REST API to be genuinely useful, not only should the API offer a flexible and wide range of capabilities but it must have a robust security model. In this blog, I'll discuss some of the security features that are used by the IBM MQ REST API to authenticate a request and how these can be configured. Authentication Security configuration... [More]
The IBM MQ Console is a browser-based MQ administration and monitoring tool that uses WebSphere Liberty server. The MQ Console runs on an LPAR and can be used to administer all queue managers of a comparable level on the same LPAR. Users of the MQ Console may configure a number of widgets to allow them to monitor and administer particular objects such as queues and channels for a specific queue manager. The MQ Console connects to each queue manager in bindings mode, so no channel initiator needs to be running in order to use the MQ Console.... [More]
MQ V9 delivered a new AMS Quality of Protection called ‘Confidentiality’. A performance whitepaper was released in July 2016 detailing how AMS now performs on distributed platforms. I blogged about it here AMS Confidentiality Performance and the document is available from the mqperf website. A new paper featuring AMS and TLS Performance on the MQ Appliance has now been released, which show how a larger set of scenarios performs on the MQ Appliance and how to maximize AMS throughput. The document can be found... [More]
An Example that shows how to configure Role Based Management (RBM) on MQ Appliance to allow access to LDAP users hosted on a Windows Active Directory. This article covers a pictorial walkthrough of configuring RBM with LDAP users accounts using WebUI to manage IBM MQ Appliance resources. As a first step, I recommend reading Jamie’s blog which covers in detail various aspects of “Configuring LDAP Role-Based Management (RBM) on the IBM MQ Appliance” (see the related links at the end of this article) . Login to IBM MQ... [More]
Last month, I published a blog post called Useful information on setting up and using a JMS whitelist, which described how the JMS whitelisting functionality provided by APAR IT14385 worked and how it could be used. One question that keeps cropping up is "How do I use the whitelist from WebSphere Application Server?". This is a good question! The first thing that you'll need to do is to either apply a WebSphere Application Server interim fix or Fix Pack to your WebSphere Application... [More]
When migrating between MQ releases on z/OS, it’s possible to fall back to the previous version of MQ. So you may, for example, migrate from MQ V8 to V9, back to V8, then forward to V9, before deciding to stay at V9. There are some new capabilities in each new release of MQ, which if used, would prevent the queue manager from falling back to the previous version. For example, in MQ V8, 8 byte log RBA and host names in channel authentication rules. To prevent the accidental use of these new capabilities you have to explicitly set a switch... [More]
In MQ v9.0.2, we've enhanced linear logging to enable automatic management of log extents and automatic recording of media images, as well as improving the general performance of linear logging scenarios exploiting these capabilities. This addresses some of the most highly voted for RFE's. The decision to choose circular or linear can now be made based primarily upon whether you want media recovery. Now that we've made linear so much easier to administer and brought linear up to a similar performance to circular, these factors cease... [More]
UPDATE: As of MQ 9.0.4 there is a built in messaging REST API provided by MQ. We will release a detailed blog article on the new API in due course, but if you want to find out more then read this . Every time I talk to a customer about the new administrative REST API there is the inevitable question: “Can I use it to put and get messages?” Well, the answer is no you can’t. It is an administrative REST API not a programmatic one. I couldn’t find anything that lists all the options available for programmatic REST... [More]