[V9.0.0.6 Mar 2019]

What's changed in IBM MQ 9.0.0 Fix Pack 6

IBM® MQ 9.0.0 Fix Pack 6 includes a number of changes to functions and resources.

[Windows]

Addition of Microsoft Visual Studio 2013 C/C++ runtimes on Windows

From IBM MQ 9.0.0 Fix Pack 6, some elements of IBM MQ require the Microsoft Visual Studio 2013 C/C++ (VS2013) runtimes. These runtimes are installed by any fresh installation of IBM MQ 9.0.0 Fix Pack 6 or later.

If the VS2013 runtimes are not present on the machine, when you install a fresh client or server, upgrade an earlier release to these levels, or apply a fix pack. In most cases, this process requires no user action but, should you encounter an installation failure when applying the server fix pack, there is an environment variable that you might need to specify so that you can install the runtimes manually. For more information, see Installation of Microsoft Visual Studio 2013 C/C++ runtimes in a server fix pack.

The IBM MQ classes for JMS no longer include IBM MQ 9.0.x CD-related features

IBM MQ 9.0.5 was the final Continuous Delivery release for IBM MQ 9.0. Therefore, from IBM MQ 9.0.0 Fix Pack 6 onwards, the Javadoc information for the IBM MQ classes for JMS is updated to reflect the behavior of the IBM MQ classes for JMS only for features available to Long Term Support customers.

Updates for messages produced during backout queue and dead letter queue processing for IBM MQ classes for JMS

From IBM MQ 9.0.0 Fix Pack 6, when an attempt by the IBM MQ classes for JMS to re-queue a message either to a specified backout queue, or to the queue manager's dead-letter queue fails, a message is written to the log indicating the message ID of the message, the name of the backout or dead-letter queue the message could not be moved to, and the exception or error that prevented the move.
  • A failure to move a message to the backout queue results in the following log message:
    JMSWMQ1120 = Message "message ID", could not be moved to backout queue 
    "backout queue name" for reason "exception or error", it will be  
    moved to the dead letter queue or discarded.
  • A failure to move a message to the dead-letter queue results in the following log message:
    JMSWMQ0035 = Message "message ID", could not be moved to dead letter queue 
    "dead-letter queue name" because of exception "exception or  error", 
    it will be returned to the source queue.
  • If there is an exception listener registered on a consumer which tries and fails to re-queue a message to the dead-letter queue, as well as the log message being written, an exception containing the exception message text is sent to this exception listener:
    JMSWMQ1079: Unable to write a message to dead letter queue.
For more information, see JMS Exception Messages.

Change to authorities needed for IBM MQ classes for JMS to query the BackoutThreshold and BackoutRequeueQName of a cluster queue

From IBM MQ 9.0.0 Fix Pack 6, the IBM MQ classes for JMS have been updated so that only inquire access is required to query the BackoutThreshold and BackoutRequeueQName of a cluster queue. Before IBM MQ 9.0.0 Fix Pack 6, browse and get access are also required. For more information, see Handling poison messages in IBM MQ classes for JMS.

[UNIX, Linux, Windows, IBM i]

New environment variable AMQ_CONVEBCDICNEWLINE

Before IBM MQ 9.0.0 Fix Pack 6, the ConvEBCDICNewline attribute, which you can use to specify how IBM MQ is to convert an EBCDIC NL character into ASCII format, is available only by using the mqs.ini file. From IBM MQ 9.0.0 Fix Pack 6, you can use the AMQ_CONVEBCDICNEWLINE environment variable instead of the ConvEBCDICNewline stanza attribute, for example to provide ConvEBCDICNewline functionality on the client side in situations where the mqs.ini file cannot be used. For more information, see All queue managers and Environment variables descriptions.

[Windows]

New error response MQRC_INCOMPLETE_TRANSACTION

From IBM MQ 9.0.0 Fix Pack 6, the error that is returned if a transactional .NET application attempts to disconnect from a queue manager when there is an active incomplete transaction has changed. A new error response MQRC_INCOMPLETE_TRANSACTION replaces MQRC_UNEXPECTED_ERROR. For more information, see 2147 (0863) (RC2147): MQRC_INCOMPLETE_TRANSACTION.

[Windows]

Changes to Windows program directory security permissions

The IBM MQ installer on Windows now sets additional permission restrictions as part of the security configuration of the MQ installation directories. The logic that does this is run at installation, upgrade, modification, and fix pack installation time.

You might find that, due to the increased security, you are unable to do certain things exactly the same way you used to do them. For example:
  • An MQ Administrator (who is not also a member of the Administrators group) can no longer edit or recompile the sample programs in the Tools subdirectory. If you wish to do this, take a copy of the directory (or the portions you are interested in) and change your copies of the build scripts to reflect the new location.

In normal use, however, you should be unaware of the change, except for the little extra time required by the installer to make the changes. During this period the message Initializing security... will be displayed. A similar short pause will occur when installing the fix pack files or applying a patch.

The update of the security writes a log (amqidsec-<Installationname>.txt) to the TEMP directory on the machine. If you see the main install failing in custom action 'iwiLaunchAmqidsec', you should consult this file.

Note: When installing the fix pack files, you must have a security group called “mqm” on the machine. This will be the case already if you have installed IBM MQ on the machine. If, however, you have a machine that only has IBM MQ fix packs on it (or you wish to install the fix pack files first, before you install IBM MQ) then you will need to create this local group.