You are currently browsing the category archive for the ‘tools’ category.

Here’s a little utility which allows you to match an integer against WMQ constants, or find WMQ bit flags it contains.

You might find it useful if you are looking at output from an application which prints WMQ fields as an integer, or in hex.
Read the rest of this entry »


We’re pleased to announce the availability of SupportPac MSL1: WebSphere MQ for Linux – Automatic Startup. It provides an init script which will start IBM WebSphere MQ queue managers when the system is started, and stop them cleanly when the system is shut down.

A configuration file allows system administrators to specify which local queue managers are to be controlled. The default behaviour is to control all local queue managers.

The supplied init script assumes the existence of an LSB-compliant init system – RedHat users may need to install a RedHat-supplied RPM named lsb.rpm or redhat-lsb.rpm to meet this requirement.

SupportPac MSL1 is available here

Once installed, see the man pages and for details of its configuration.

The SupportPacs system continues to expand – the most recent addition is the new WebSphere Business Process Management SupportPacs page.

Most of the SupportPacs on this page are related to WebSphere Business Modeler and WebSphere Business Monitor. However, there’s also a useful plugin for WebSphere Integration Developer that provides a wizard to help developers to use the MQ-CICS bridge. It also provides assistance with handling the MQCIH header required by the bridge. Worth a look if you need to call a CICS program across the bridge from a mediation or business process.

Emir Gaza (Consulting IT Specialist, Hursley Software Lab Services) and I are currently putting together a list of SSL gotchas based on our personal experiences and, of course, those of our customers. Our list covers many problems and solutions already well documented in the manuals (e.g. Error messages), but what we’re trying to do is compile a single list containing both common problems and those with sometimes cryptic solutions.

We aim to expand this list in future with more items and more detail, but for now, here’s the list we have compiled… Comments most welcome…

Read the rest of this entry »

Update (13/12/2007): The contents of this post have since been largely superseded by the release of PowerShell cmdlets for WebSphere MQ.

A better way to do filtering

A follow-on post from WebSphere MQ scripting using PowerShell – part 2

In hindsight, my approach to filtering was too restrictive (filtering by name only). Instead, it would be better for the function to just return queue objects, and let the user use the built-in functions to filter on them as they want.

Display objects…

  • Choose which attributes you want to be outputted
  • Apply filters – return queues whose parameter(s) match certain filters (supporting complex queries with AND and OR)
  • Sort by a parameter

And do this for local or remote queue managers.

I’m leaving Display-WMQQueues as it is, and have started a new function – Get-WMQQueues – to do this.

This is much much better:

PS-WMQ DALE >  Get-WMQQueues | Select Name, CurrentDepth

Name                                                   CurrentDepth
----                                                   ------------
SYSTEM.ADMIN.ACCOUNTING.QUEUE                                     0
SYSTEM.ADMIN.ACTIVITY.QUEUE                                       0
SYSTEM.ADMIN.CHANNEL.EVENT                                        0
SYSTEM.ADMIN.COMMAND.QUEUE                                        0
SYSTEM.ADMIN.LOGGER.EVENT                                         0
SYSTEM.ADMIN.PERFM.EVENT                                          0
SYSTEM.ADMIN.QMGR.EVENT                                           1
SYSTEM.ADMIN.STATISTICS.QUEUE                                     0
SYSTEM.ADMIN.TRACE.ROUTE.QUEUE                                    0
SYSTEM.AUTH.DATA.QUEUE                                           54
SYSTEM.CHANNEL.INITQ                                              0
SYSTEM.CHANNEL.SYNCQ                                              0
SYSTEM.CICS.INITIATION.QUEUE                                      0
SYSTEM.CLUSTER.COMMAND.QUEUE                                      0
SYSTEM.CLUSTER.REPOSITORY.QUEUE                                   1
SYSTEM.CLUSTER.TRANSMIT.QUEUE                                     0
SYSTEM.DEAD.LETTER.QUEUE                                          0
SYSTEM.DEFAULT.INITIATION.QUEUE                                   0
SYSTEM.DEFAULT.LOCAL.QUEUE                                        0
SYSTEM.PENDING.DATA.QUEUE                                         0
TINY_QUEUE                                                       12


PS-WMQ DALE >  Get-WMQQueues | Select Name, CurrentDepth | Where { $_.CurrentDepth -gt 0 }

Name                                                   CurrentDepth
----                                                   ------------
SYSTEM.ADMIN.QMGR.EVENT                                           1
SYSTEM.AUTH.DATA.QUEUE                                           54
SYSTEM.CLUSTER.REPOSITORY.QUEUE                                   1
TINY_QUEUE                                                       12

Read the rest of this entry »

Update (13/12/2007): The contents of this post have since been largely superseded by the release of PowerShell cmdlets for WebSphere MQ.

This month’s issue of TechNet Magazine includes an article giving a nice introduction to PowerShell – the new Windows command shell and scripting language. It was a useful reminder that I had said that I was going to look into writing some useful PowerShell functions for WebSphere MQ, so last night I had a quick play to see what I could do with it.

In this post, I discuss how PowerShell can be used to extend the capabilities of existing command-line tools for WMQ, and outline how I got it working.

I began by thinking of what PowerShell could do to supplement runmqsc. To recap from my earlier post, PowerShell is a scripting language which supports the use of .NET libraries, such as that provided with WMQ. Two obvious points suggested themselves as places to start:

  1. Connect to remote queue managers over a client connection
    • rather than just local queue managers
  2. Provide more powerful wildcards and filtering when using DISPLAY to show queue manager objects
    • rather than just accepting full names, or prefix followed by *

The full source for my script is included at the end of this post. The rest of this post breaks the script down and discusses each part.

Read the rest of this entry »

The latest version (v3.0.2) of the IBM Support Assistant (ISA) has been released. If you’ve not tried ISA before, this is a good opportunity to give it a try.

IBM Support Assistant (ISA) is a free local software serviceability workbench that helps you resolve questions and problems with IBM software products. It provides quick access to support-related information along with serviceability tools for problem determination.

A nice thing about this approach is that it provides a single consistent approach to Support across a large number of IBM software products. (See the ISA site for a current list of ISA plugins.)

IBM Support Assistant screenshot The search facility it provides is particularly nice – you can search across product manuals, forums, newsgroups, Technotes, articles, white papers, and more. The screenshot shows an example of searching for SSL information, filtering for just TechNotes and manual pages. It produces a simple-to-navigate page, with the first 32 results (this can be changed in Preferences) downloaded to the ISA, making clicking on links to change pages nearly instantaneous.

If the ISA doesn’t help you find the information you need to solve a problem yourself, it can also be used to collect diagnostic information that can be useful to IBM Service in diagnosing the problem further.

If you have a number of IBM products installed, the ability to do all of this from one interface – consistent across the different IBM products – can be very useful.

With WMQ, an IBM Java environment is shipped with a number of platforms. If you’re developing JMS or WMQ Java Classes Client applications, it is well worth taking the time to scan the Diagnostics Guide that is available on developerWorks.

To give you an idea of the type of things this contains..

Java Heap Dumpsinformation on how to (a) produce one of these dumps yourself, and (b) how to understand the output. These can be very useful if you have a thread lock and need to work out what is locking what

Class Loading – Every wondered where that class was being (or not being) loaded from? Try this out.

Apologies for the slighly non-WMQ post.. but I thought this is very valuable information. Most WMQ users will be using a IBM JVM (or not?? please correct me!)

A new SupportPac developed by Hursley’s Peter Broadhurst (an author of the Redbook WebSphere MQ V6 Fundamentals) has been released today.

SupportPac MS6A “provides a mechanism to simplify installation of, or migration to, WMQ V6.0 and automatically roll out WMQ maintenance to an infrastructure of WMQ installations”.

This gives you a single automated way to migrate multiple systems to WebSphere MQ version 6, as well as a simple way to keep all of your version 6 systems up to date with the latest Fix Packs and Refresh Packs.

Read the rest of this entry »

In my last post outlining the different GSkit commands for SSL administration, I forgot to mention a couple of tools that I regularly use: SSL Config Wizard and SSLcheck.

They are both SupportPacs provided free from

Read the rest of this entry »