[IBM MQ Advanced VUE][z/OS]

Java client connectivity to batch applications running on z/OS

Under certain conditions, an IBM® MQ classes for Java application on z/OS® can connect to a queue manager on z/OS by using a client connection. Use of a client connection can simplify IBM MQ topologies.

By using a client connection, if an IBM MQ classes for Java application is running in a batch environment, and one of the following conditions applies, then the application can connect to a remote z/OS queue manager:
  • [Long Term Support][MQ 9.3.4 Oct 2023]The IBM MQ classes for Java code is at IBM MQ 9.3.4 or later, or Long Term Support with APAR PH56722 applied. The queue manager can be at any supported version.
  • The queue manager being connected to is running with IBM MQ Advanced for z/OS Value Unit Edition entitlement, and therefore has the ADVCAP parameter set to ENABLED. The queue manager can be at any supported version.

For more information on IBM MQ Advanced for z/OS Value Unit Edition see IBM MQ product identifiers and export information.

See DISPLAY QMGR for more information on ADVCAP and START QMGR for more information on QMGRPROD.

An IBM MQ classes for Java application on z/OS cannot use a client mode connection to connect to a queue manager that is not running on z/OS

If an IBM MQ classes for Java application on z/OS attempts to connect using client mode, and is not allowed to do so, MQRC_ENVIRONMENT_ERROR is returned.

Advanced Message Security (AMS) support

IBM MQ classes for Java client applications can use AMS when connecting to remote z/OS queue managers, subject to the conditions previously described in this topic.

To use AMS in this way, the client applications must use a key store type of jceracfks in keystore.conf, where:
  • The property name prefix is jceracfks and this name prefix is case insensitive.
  • The key store is a RACF keyring.
  • Passwords are not required, and will be ignored. This is because RACF keyrings do not use passwords.
  • If you specify the provider, the provider must be IBMJCE.
When you use jceracfks with AMS, the key store must be in the form: safkeyring://user/keyring, where:
  • safkeyring is a literal and this name is case insensitive
  • user is the RACF user id that owns the keyring
  • keyring is the name of the RACF keyring and the name of the keyring is case sensitive
The following example uses the standard AMS keyring for user JOHNDOE:
jceracfks.keystore=safkeyring://JOHNDOE/drq.ams.keyring