KeepAlive Interval (KAINT)

The KeepAlive Interval attribute is used to specify a time-out value for a channel.

The KeepAlive Interval attribute is a value passed to the communications stack specifying the KeepAlive timing for the channel. It allows you to specify a different keepalive value for each channel.

For this attribute to have any effect, TCP/IP keepalive must be enabled. On z/OS, you do this by issuing the ALTER QMGR TCPKEEP(YES) MQSC command. On other platforms, it occurs when the KEEPALIVE=YES parameter is specified in the TCP stanza in the distributed queuing configuration file, qm.ini, or through the WebSphere MQ Explorer. Keepalive must also be switched on within TCP/IP itself, using the TCP profile configuration data set.

The value indicates a time, in seconds, and must be in the range 0 to 99999. A KeepAlive Interval value of 0 indicates that channel KeepAlive is not enabled for the channel. However, when KeepAlive Interval is set to 0, KeepAlive still occurs if TCP/IP KeepAlive has been enabled, as described above. You can also set KAINT to a value of AUTO (this is the default). If KAINT is set to AUTO, the KeepAlive value is based on the value of the negotiated heartbeat interval (HBINT) as follows:

Table 8. Negotiated HBINT value and the corresponding KAINT value
Negotiated HBINT KAINT
>0 Negotiated HBINT + 60 seconds
0 0

This attribute is valid for all channel types.

The value is ignored for all channels that have a TransportType (TRPTYPE) other than TCP or SPX

You can set the KeepAlive Interval (KAINT) attribute for channels on a per-channel basis. On platforms other than z/OS, you can access and modify the parameter, but it is only stored and forwarded; there is no functional implementation of the parameter. If you need the functionality provided by the KAINT parameter, use the Heartbeat Interval (HBINT) parameter, as described in Heartbeat interval (HBINT).