Limitations and other considerations for redistributable clients
There are a number of points to consider when installing the IBM® MQ C redistributable client for Linux® x86-64 and the IBM MQ C and .NET redistributable client for Windows x64 packages.
Limitations
- GSKit objects
- No new GSKit objects are shipped. Only the runtime files are shipped, both in a regular installation and with the redistributable client.
- IBM JREs
- No IBM JREs are provided with the
redistributable client.
If you want to run Java/JMS applications, you must provide your own runtime environment. Your JRE, that applications run under, must meet the current SOE requirements and are bound by any restrictions or limitations that apply.
- Developing applications
- Before IBM MQ 9.1.1, all other files that support the development and distribution of applications (including copybooks, header files, and sample source code) are not available in any of the redistributable client packages, including the IBM MQ C redistributable client packages, and are not licensed for redistribution. If you need to develop IBM MQ applications, you still need to perform a traditional installation so that you obtain the SDK files that are required to build client applications.
- Windows C runtime libraries
- You might have these libraries on your machine already, but if you do not, you need to download
and install the following Microsoft C/C++ runtime libraries:
- Microsoft Visual C++ Redistributable 2008
- Microsoft Visual C++ Redistributable 2012
- The redistributable Java client does not include any of the files related to the JMSAdmin tool
- A client installed by unpacking the redistributable Java client does not contain the JMSAdmin tool, or its pre-requisite JAR files fscontext.jar and providerutil.jar. This means that the client cannot connect to any file system contexts (.bindings files) created by a different installation that does have the JMSAdmin tool.
Choosing the files to distribute with an application
A script file named genmqpkg is provided by the redistributable client under the bin directory. You can use the genmqpkg script to generate a smaller subset of files that are tailored to the needs of the application for which the files are intended to be distributed.
When you run the script, you are asked a series of interactive Yes
or
No
questions to determine the runtime requirements for an IBM MQ application. Finally, genmqpkg asks you
to supply a new target directory, where the script duplicates the required directories and files.
From IBM MQ 9.1.1, the genmqpkg script that is shipped with the IBM MQ C redistributable client packages includes an additional question asking whether the runtime requires the SDK to compile applications. Also from IBM MQ 9.1.1, for the IBM MQ C redistributable client packages, responses can be given programmatically. All the interactive prompts can be bypassed by setting environment variables and executing the command with a -b flag to indicate a batch mode.
Other considerations
- Linux x86-64
- $HOME/IBM/MQ/data
- Windows
- %HOMEDRIVE%\%HOMEPATH%\IBM\MQ\data
On UNIX and Linux systems, the length of the path must not contain spaces.
On Linux the ccsid.tbl
used to
define the supported CCSID conversions is traditionally expected to be found in the
UserData directory structure, along with error logs, trace files, and so on.
The UserData directory structure is populated by unpacking the redistributable
client, and so, if the file is not found in its usual location, the redistributable client falls
back to locate the file in the /lib subdirectory of the installation.
Home directory
A ${HOME}/.mqm directory is created when using an unregistered or non-installed version of IBM MQ, such as the redistributable client.
The directory is created so that IBM MQ has a reliable way of accessing its socket files using a path that fits within the sun_path length. If IBM MQ cannot write to the HOME directory you receive an error message.
Classpath changes
The classpath used by dspmqver, setmqenv, and crtmqenv commands adds the com.ibm.mq.allclient.jar to the environment, immediately following the com.ibm.mq.jar and com.ibm.mqjms.jar.
dspmqver output examples
Name: IBM MQ
Version: 8.0.0.4
Level: p800-804-L150909
BuildType: IKAP - (Production)
Platform: IBM MQ for Linux (x86-64 platform)
Mode: 64-bit
O/S: Linux 2.6.32.59-0.7-default
InstName: MQNI08000004
InstDesc: IBM MQ V8.0.0.4 (Redistributable)
Primary: No
InstPath: /Development/johndoe/unzip/unpack
DataPath: /u/johndoe/IBM/MQ/data
MaxCmdLevel: 802
Name: IBM MQ
Version: 8.0.0.4
Level: p800-804-L150909
BuildType: IKAP - (Production)
Platform: IBM MQ for Windows (x64 platform)
Mode: 64-bit
O/S: Windows 7 Professional x64 Edition, Build 7601: SP1
InstName: MQNI08000004
InstDesc: IBM MQ V8.0.0.4 (Redistributable)
Primary: No
InstPath: C:\Users\johndoe\Desktop\Redist
DataPath: C:\Users\johndoe\IBM\MQ\data
MaxCmdLevel: 802