IBM MQ and MQ Appliance News – October 2017

On Tuesday October 24th, IBM Hursley announced the next in the series of Continuous Delivery releases for IBM MQ V9.0 and the MQ Appliance. IBM MQ V9.0.4 was made available on November 6th.

Here are the various announcement letters:-

Links of interest:-


We’ll collect up any other links about the new release as we find them and put them all here.

Advertisements

IBM MQ and MQ Appliance News – May 2017

On Tuesday May 30th, IBM Hursley made available the next in the series of Continuous Delivery releases for IBM MQ V9.0 and the MQ Appliance. IBM MQ V9.0.3 is now available.

Downloading IBM MQ Version 9.0.3 Continuous Delivery

This was announced on z/OS VUE:-

Links of interest:-


We’ll collect up any other links about the new release as we find them and put them all here.

IBM MQ and MQ Appliance News – March 2017

On Firday March 17th, IBM Hursley made available the next in the series of Continuous Delivery releases for IBM MQ V9.0 and the MQ Appliance. IBM MQ V9.0.2 is now available.

Downloading IBM MQ Version 9.0.2 Continuous Delivery

Unlike V9.0.1 there are no announcement letters.

Read about the changes in this blog post by Leif Davidsen.

Other links of interest:-

Or read this IBM InterConnect 2017 conference presentation from David Ware and Pete Siddall.

Or watch this video.


We’ll collect up any other links about the new release as we find them and put them all here.


The next Continuous Delivery (CD) release is now available. Read more about V9.0.3.

IBM MQ Blogosphere in 2016

The IBM MQ Blogosphere is the set of blogs that cover content about the IBM MQ product. I wrote about the MQ Blogosphere at the end of 2015. This post is an update showing the new bloggers we’ve gained in 2016, and the existing bloggers that have continued to post great articles for you to read. I hope you’re following all these great blogs to get a feed of interesting an informative MQ blog posts.

No PhotoAlamelu Nagarajan started blogging in 2016. He blogs on the MQDev blog – see his posts. developerWorks Logo
MQDev Logo
Andy OwenAndy Owen dipped a toe into the MQ Blogosphere this year – see his first post on the MQDev blog. developerWorks Logo
MQDev Logo
Ant BeardsmoreAnthony Beardsmore has been blogging for several years, often about Queue Manager Clustering, but now he has turned his attention to blogging about the MQ Appliance. He blogs on the MQDev blog – see his posts. LinkedIn Logo
developerWorks Logo
MQDev Logo
Twitter Logo
Anil SahuAnil Sahu has rekindled his blogged career in 2016 after writing a little back in 2014. He blogs on the MQDev blog – see his posts. developerWorks Logo
MQDev Logo
Twitter Logo
Arthur BarrArthur Barr started blogging about MQ in 2015 and it’s great to see more posts from him in 2016. He blogs on the MQDev blog – see his posts. LinkedIn Logo
developerWorks Logo
MQDev Logo
Chris MatthewsonChris Matthewson snuck in his first blog post on MQDev right at the end of the year. Is this a sign of things to come? developerWorks Logo
MQDev Logo
Chuck MisuracaChuck Misuraca works for an MQ ISV, Perficient, and he occasionally blogs over on the Perficient blog – see his posts. LinkedIn Logo
Colin PaiceColin Paice has his own blog, Colin Paice Blog, where he writes stories about the things he discovers about MQ on z/OS. Colin has been stressing the performance and usability of MQ on z/OS for as long as I can remember, and gets changes made to the product for the benefit of its customers as a result of the things he discovers. He also makes regular appearances on the MQDev blog – see his posts. developerWorks Logo
MQDev Logo
Gwydion TudurA brand new blogger in late 2015, Gwydion Tudur has continued his blogging on MQDev throughout 2016 – see his posts. I am very happy to see him continue to post. LinkedIn Logo
developerWorks Logo
MQDev Logo
No PhotoJames Robertson snuck in his first blog post on MQDev right at the end of the year. Is this a sign of things to come? developerWorks Logo
MQDev Logo
Jamie SquibbA brand new blogger in 2016, Jamie Squibb blogs on MQDev – see his posts. Jamie has worked in the IBM MQ for z/OS area for many years, and I am glad to see he’s now also turning his hand to blogging. I hope to see many more posts from Jamie in 2017! LinkedIn Logo
developerWorks Logo
MQDev Logo
John ColgraveA new member of the IBM MQ Blogosphere in late 2015, John Colgrave has continued blogging throughout 2016 – see his posts. LinkedIn Logo
developerWorks Logo
MQDev Logo
Twitter Logo
Jon RumseyThose of you lucky enough to have met Jon Rumsey will soon realise the breadth and depth of his knowledge of the IBM MQ product is incredible. Most recently he’s majored in security, being extremely knowledgeable about Advanced Message Security and also channel security. He’s also a big fan of the IBM i platform. He’s been blogging for a couple of years now. You can read his posts over on the MQDev blog. LinkedIn Logo
developerWorks Logo
MQDev Logo
Leif DavidsenLeif Davidsen has his own blog, Leifdavidsen’s Blog, where he writes about Messaging, Connectivity and more. It’s a wordpress blog just like this one, and so is very easy to follow, and well worth it! He also comes up with some of the best titles for blog posts! LinkedIn Logo
Twitter Logo
Lyn ElkinsLyn Elkins has her own blog, Lyns Random Thoughts, where she writes about MQ on her favourite platform, z/OS. After going offline last year, Lyn’s now got her domain back up and running with a new blog. LinkedIn Logo
Mark BluemelMark Bluemel is an occasional blogger, writing on subjects he is very knowledgeable about, namely the Java and JMS support in IBM MQ – see his posts on the MQDev blog. developerWorks Logo
MQDev Logo
Mark CampbellMark Campbell snuck in his first blog post on MQDev right at the end of the year. Is this a sign of things to come? developerWorks Logo
MQDev Logo
Mark TaylorMark Taylor started blogging on MQDev in late 2015, and has written a fair few posts this year too. See his posts. You’ll also find lots of MQ videos featuring Mark. LinkedIn Logo
developerWorks Logo
MQDev Logo
Twitter Logo
No PhotoMark Whitlock dipped a toe into the MQ Blogosphere this year – see his first post on the MQDev blog. developerWorks Logo
MQDev Logo
Mark WilsonMark Wilson has been blogging since 2014, and has written on the AIM Support Blog, the IBM Messaging blog and the MQDev blog. Mark started his MQ career on the z/OS platform, but has been expanding his knowledge to cover the distributed platforms too. LinkedIn Logo
developerWorks Logo
MQDev Logo
Mark WomackMark Womack has been blogging over on the AIM Support Blog for a number of years, always with a perspective to help MQ customers, his ‘tracking technical trends’ posts are always interesting – see his posts. LinkedIn Logo
developerWorks Logo
Matt LemingMatt Leming has been blogging about MQ since 2014. He writes about the MQ on z/OS product over on the MQDev blog – see his posts. LinkedIn Logo
developerWorks Logo
MQDev Logo
Matt WhiteheadMatt Whitehead has been blogging for a year or two now. He writes about MQLight and Bluemix, over on the MQDev blog – see his posts. LinkedIn Logo
developerWorks Logo
MQDev Logo
Twitter Logo
Mayur RajaMayur Raja has worked on IBM MQ for z/OS for many years and is a very experienced z/OS developer. He has started blogging about MQ this year. He blogs on the MQDev blog – see his posts. developerWorks Logo
MQDev Logo
Twitter Logo
Miguel RodriguezMiguel Rodriguez works in IBM in the L2 Service team for IBM MQ, and he blogs over on the AIM Support Blog – see his posts. developerWorks Logo
Morag HughsonMorag started her blogging career in IBM. After leaving IBM she joined MQGem Software, an MQ ISV that produces tools to assist with your MQ system, and she now blogs on the MQGem Software blog, and also over on the IBM MiddleWare User Community. You’ll also see her regularly answering questions on StackOverflow. LinkedIn Logo
developerWorks Logo
Twitter Logo
Nathan WilsonNathan Wilson works for an MQ ISV, W3Partnership, and he occasionally blogs over on the W3Partnership blog – see his posts. LinkedIn Logo
Twitter Logo
Paul TitheridgePaul Titheridge started blogging at the start of 2016, although he’s been a successful IBM MQ writer through many IBM Technotes in the past. He writes up problems seen in his day job in Level 3 service that are useful for all users to see. It’s a great way to get the word out about common problems. He blogs on the MQDev blog – see his posts. Paul can also be found on the IBM MQ Service YouTube channel. LinkedIn Logo
developerWorks Logo
MQDev Logo
Pete SiddallAnyone who’s met Pete Siddall, the STSM for MQ on z/OS, knows how passionate he is about the platform and the MQ product that runs on it. Pete helps MQ on z/OS customers in a million different ways, and still has found time to write the occasional blog post over on MQDev – see his posts. LinkedIn Logo
developerWorks Logo
MQDev Logo
Twitter Logo
Richard PilotHaving started his blogging career in 2015, Richard Pilot continued with a few posts this year too – see his posts. Looking forward to more in 2017! LinkedIn Logo
developerWorks Logo
MQDev Logo
Twitter Logo
Rob ParkerRob Parker has been blogging for a year or two now. You can read his posts over on the MQDev blog. LinkedIn Logo
developerWorks Logo
MQDev Logo
Twitter Logo
Roger LacroixRoger Lacroix has his own blog, Roger’s Blog on MQ, Java, C, etc…, where he writes about MQ as well as a variety of other subjects. Roger works for Capitalware, an MQ ISV that produces exits and tools for your MQ system, and runs the annual MQTC Conference. LinkedIn Logo
Sajina Puthalath KandySajina Puhtalath Kandy started blogging in 2016. She blogs on the MQDev blog – see her posts. LinkedIn Logo
developerWorks Logo
MQDev Logo
No PhotoSam Goulden started blogging about the MQ Appliance this year. He blogs on the MQDev blog – see his posts. developerWorks Logo
MQDev Logo
Twitter Logo
Sam MasseySam Massey works in the performance team for Distributed MQ, and has entered the MQ Blogosphere this year with a few performance related posts – see his posts on the MQDev blog. LinkedIn Logo
developerWorks Logo
MQDev Logo
ShashiShashikanth Thambrahalli has been blogging for as long as I can remember. I think he might have been one of the founding members of the MQDev blog! Shashi is passionate about the service of our product, and the go to man for .NET and XMS too. This years he’s also been blogging about MFT. See his posts on the MQDev blog. You’ll also see him regularly answering questions on StackOverflow. LinkedIn Logo
developerWorks Logo
MQDev Logo
No PhotoSimon Davitt started his blogging career in 2016 with a couple of posts on MQDev. Hope to see more in 2017. developerWorks Logo
MQDev Logo
No PhotoSridhar Ravindra started blogging in 2016. He blogs on the MQDev blog – see his posts. developerWorks Logo
MQDev Logo
Thomas LeendTom started blogging at the start of 2016, writing up problems seen in his day job in Level 3 service, that are useful for all users to see. It’s a great way to get the word out about common problems. He blogs on the MQDev blog – see his posts. Tom can also be found on the IBM MQ Service YouTube channel. LinkedIn Logo
developerWorks Logo
MQDev Logo
T.RobT.Rob Wyatt has his own blog, Store and Forward – A blog about securing and using WebSphere MQ, where he writes about MQ, and then he also writes over on the IBM MiddleWare User Community. T.Rob has looked at MQ from every angle, he’s been a customer, an IBMer and now, a consultant offering his incredible knowledge about MQ, to get your MQ system running smoothly. You’ll also see him regularly answering questions on StackOverflow. LinkedIn Logo
developerWorks Logo
Twitter Logo
Tony SharkeyTony Sharkey is an IBM MQ for z/OS Performance expert. If you’ve got any interest in MQ on z/OS, you’ve probably read at lot of Tony’s writing over the years as he’s contributed hugely to the Performance Reports you get for every release. Now he’s blogging as well. He blogs on the MQDev blog – see his posts. developerWorks Logo
MQDev Logo
Twitter Logo

It is so great to see so many IBM MQ experts taking the time to write blog posts for you all to read. If you don’t follow one or more of these blogs, you should. Clicking on the “Follow” button is easy! I look forward to reading many more blog posts in 2017, and sharing them in our Monthly Newsletter. Thanks to all our MQ bloggers!


Footnote: If you’ve blogged about IBM MQ in 2016 and you’re not in the above list, let me know in the comments and I’ll add you to the list, and your blog to our IBM MQ Resources Page if it’s not already there.

IBM MQ and MQ Appliance November News

IBM Hursley has made some recent announcements.

Downloading IBM MQ Version 9.0.1 Continuous Delivery

Links to the announcement letters are below.

Alternatively, read about the changes in these blog posts by Leif Davidsen.

Other links of interest:-

Or watch this video.


We’ll collect up any other links about the new announcements as we find them and put them all here.


The next Continuous Delivery (CD) release is now available. Read more about V9.0.2.

DISPLAY DQM for Distributed

If you’re familiar with the IBM MQ for z/OS product, you may have issued the DISPLAY DQM command which gives you the following output:

CSQX830I M901 CSQXRDQM Channel initiator active
CSQX831I M901 CSQXRDQM 8 adapter subtasks started, 8 requested 
CSQX832I M901 CSQXRDQM 5 dispatchers started, 5 requested
CSQX833I M901 CSQXRDQM 0 SSL server subtasks started, 0 requested
CSQX840I M901 CSQXRDQM 5 channels current, maximum 200 
CSQX841I M901 CSQXRDQM 4 channels active, maximum 200, including 0 paused 
CSQX842I M901 CSQXRDQM 0 channels starting, 1 stopped, 0 retrying
CSQX836I M901 CSQXRDQM Maximum channels - TCP/IP 200, LU 6.2 200 
CSQX845I M901 CSQXRDQM TCP/IP system name is TCPIP 
CSQX846I M901 CSQXRDQM TCP/IP listener INDISP=QMGR started, for port 1591 address *
CSQX849I M901 CSQXRDQM LU 6.2 listener INDISP=QMGR not started 

There is no equivalent command for a distributed queue manager, however, you can get most of the same information from various other commands. So we have created an MQSCX script to create an equivalent set of output for a distributed queue manager.

Clearly some of the information simply doesn’t apply to distributed queue managers; for example the number of adapter, dispatcher and SSL Server subtasks. Also the TCP/IP system name doesn’t really have an equivalent on a distributed platform – or at least certainly not one that can be retrieved from the command server. The equivalents of DISPLAY QMGR MAXCHL ACTCHL TCPCHL LU62CHL is to look in the queue manager’s qm.ini file for MaxChannels and MaxActiveChannels on distributed, which is something that cannot work unless you are running the script local to the queue manager.

So the script issues the various commands required to get the information and then prints out a set of equivalent looking lines to give you a similar output:

MQG1 Channel initiator active
MQG1 14 channels current, maximum 400
MQG1 12 channels active, maximum 400, including 0 paused
MQG1 0 channels starting, 1 stopped, 1 retrying
MQG1 TCP/IP listener TCP.LSTR started, for port 1701 address *
MQG1 LU6.2 listener not started

It starts by checking whether the Channel initiator is active, which for most people will be since it gets started automatically by the queue manager these days.

DISPLAY QMSTATUS CHINIT
if (CHINIT = "RUNNING")
  print _qmgr,'Channel initiator active'
endif

Then it looks in the qm.ini file (but only if you’re not connected by a client or via connection). MQSCX can read environment variables just as if they were user variables, so it can make use of the MQ environment variable MQ_DATA_PATH which is setup by setmqenv. The _client system variable is new in MQSCX V9.0.0.

if (!(_client | (_connqmgr != _qmgr)))
  @filename = @MQ_DATA_PATH+"/qmgrs/"+_qmgr+"/qm.ini"
  @hf = fopen(@filename,"r")
  if (@hf)
    while (fgets(@hf,@line) >= 0)

For each line in the qm.ini file it will check for MaxChannels and MaxActiveChannels.

if (findstri(@line, "MaxChannels") > 0)
  @offset = findstr(@line, "=")
  if (@offset > 0)
    @MaxChannelsStr = substr(@line,@offset+1,strlen(@line)-@offset)
    @MaxChannels = eval(@MaxChannelsStr)
  endif
endif

A simple foreach loop allows the script to total up the number of different channel states currently on show. This then allows the various channel status lines in the output to be printed.

Finally the script has another simple foreach loop for listeners which also makes use of the new _numEach system variable to detect if the loop has never been called.

foreach(DISPLAY LSSTATUS(*) ALL WHERE(TRPTYPE EQ TCP))
  print _qmgr, 'TCP/IP listener', LISTENER ,'started, for port', PORT, 'address', IPADDR
endfor
if (_numEach = 0)
  print _qmgr, 'TCP/IP listener not started'
endif

The complete function is available to download in our Example Scripts bundle.


If you’re not a current licence holder, and you’d like to try out MQSCX, please email support@mqgem.com to request a trial licence.

View Buffer Pool and Pageset Usage via MO71

MQGem recently delivered a new version of MO71 that supports the new IBM MQ V9 release. As well as support for the new command level, there were a number of other features in this new version of MO71. One of those new features was a customer request for a way to view Buffer Pool and Pageset Usage.

Pageset Usage

You’ve always been able to see this through the MQSC window (which is your fallback for any command that MO71 doesn’t have a specific menu or dialog for), which would show you a display something like this:-

CSQI010I M901 Page set usage ...                                      
  Page Buffer     Total    Unused  Persistent  NonPersist Expansion   
   set   pool     pages     pages  data pages  data pages        count
_    0      0      1078      1042          36           0 USER       0
_    1      0      1078      1059          19           0 USER       0
_    2      1      1078       897         181           0 USER       0
_    3      2      1078       976           0         102 USER       0
_    4      3      1078      1056          17           5 USER       0
_   25      3      1078      1078           0           0 USER       0
 End of page set report

In the latest version of MO71 you can now view this same data in a standard MO71 dialog.

MO71 Pageset List

View Pageset Usage in an MO71 List dialog

This means that you have all the usual manipulation capabilities at your fingertips. For example, you can sort any of the columns simply by clicking on the title; you can rearrange the order of the columns, or exclude columns that you are not interested in; you can export the data in CSV format to import into your favourite spreadsheet or graphing program; and you can write filters to work with the data and colour rows that meet a certain criteria.

Here’s one such example of how you might want to manipulate this data just to give you an idea. You can write filters in MO71 to make a new column with a calculation of your own based on the other data available.

Here’s a filter that adds a new column (the ‘#’ character causes the new column) containing a floating point variable (the ‘@@’ makes the variable a floating point number, where a single ‘@’ would be an integer) which is the percentage of the ‘Total Pages’ that are ‘Persistent Pages’. You can call the variable anything you like and it’s name will become the column heading. N.B. The filter is a boolean expression, so to ensure every row is still shown, we finish the expression with “1”.

@@PercentPsist# := PSISTPG*100/TOTALPG; 1

You can sort your new column from within the filter (or by clicking on the heading just as with any other column).

sortd(@@PercentPsist# := PSISTPG*100/TOTALPG); 1

You can go further still and colour the rows that meet a certain criteria, for example, any Pageset with more than 10% of persistent pages.

sortd(@@PercentPsist# := PSISTPG*100/TOTALPG); bg(@@PercentPsist# >10,red); 1
MO71 Pageset List Filtered

MO71 Pageset List manipulated with a Filter

Buffer Pool Usage

As with Pageset Usage, the same MQSC command DISPLAY USAGE also shows you the Buffer pool attributes. While issuing the command through MQSC would report both tables to you, in MO71, each set of information is in a separate table, since the columns are of course different for each set of information.

CSQI065I M901 Buffer pool attributes ...                              
  Buffer  Available  Stealable   Stealable  Page      Location        
    pool    buffers    buffers  percentage  class                     
_      0       1000        963          96  4KB       BELOW           
_      1       1000        821          82  4KB       BELOW           
_      2       1000        894          89  4KB       BELOW           
_      3       1000        782          78  4KB       BELOW           
 End of buffer pool attributes

So the above information can also be seen, and manipulated, in an MO71 list dialog.

MO71 Buffer Pool List

Viewing the Buffer Pool usage in MO71

Note that this feature is available for any version of Queue Manager – it is not a IBM MQ V9 feature. If you are a current MO71 licence holder, you can simply download the new version of MO71 and start using it. If you’re not a current licence holder, and you’d like to try out MO71, please email support@mqgem.com to request a trial licence.