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.
- Addition of Microsoft Visual Studio 2013 C/C++ runtimes on Windows
- The IBM MQ classes for JMS no longer include IBM MQ 9.0.x CD-related features
- Updates for messages produced during backout queue and dead letter queue processing for IBM MQ classes for JMS
- Change to authorities needed for IBM MQ classes for JMS to query the BackoutThreshold and BackoutRequeueQName of a cluster queue
- New environment variable AMQ_CONVEBCDICNEWLINE
- New error response MQRC_INCOMPLETE_TRANSACTION
- Changes to Windows program directory security permissions
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
- 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.
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.
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.
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.
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.
- 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.