Change, Copy, and Create Channel
The Change Channel command changes existing channel definitions. The Copy and Create Channel commands create new channel definitions - the Copy command uses attribute values of an existing channel definition.
HP Integrity NonStop Server | IBM® i | UNIX and Linux® | Windows | z/OS® |
---|---|---|---|---|
The Change Channel (MQCMD_CHANGE_CHANNEL) command changes the specified attributes in a channel definition. For any optional parameters that are omitted, the value does not change.
The Copy Channel (MQCMD_COPY_CHANNEL) command creates new channel definition using, for attributes not specified in the command, the attribute values of an existing channel definition.
The Create Channel (MQCMD_CREATE_CHANNEL) command creates an IBM MQ channel definition. Any attributes that are not defined explicitly are set to the default values on the destination queue manager. If a system default channel exists for the type of channel being created, the default values are taken from there.
- Required parameter on Change and Create Channel commands.
- Required parameter on Copy Channel command.
- Required parameter on Change, Create, and Copy Channel commands.
- PUTAUT is valid for a channel type of SVRCONN on z/OS only.
- Required parameter on Create Channel command if
TrpType
is TCP. - Required parameter on Create Channel command for a channel type of MQTT.
Required parameters (Change, Create Channel)
ChannelName
(MQCFST)- Channel name (parameter identifier: MQCACH_CHANNEL_NAME).
Specifies the name of the channel definition to be changed, or created
The maximum length of the string is MQ_CHANNEL_NAME_LENGTH.
This parameter is required on all types of channel; on a CLUSSDR it can be different from on the other channel types. If your convention for naming channels includes the name of the queue manager, you can make a CLUSSDR definition using the
+QMNAME+
construction, and IBM MQ substitutes the correct repository queue manager name in place of+QMNAME+
. This facility applies to AIX®, HP-UX, Linux, IBM i, Solaris, and Windows only. See Configuring a queue manager cluster for more details.
ChannelType
(MQCFIN)- Channel type (parameter identifier: MQIACH_CHANNEL_TYPE). Specifies the type of the channel being changed, copied, or created. The value can be any of the following values:
- MQCHT_SENDER
- Sender.
- MQCHT_SERVER
- Server.
- MQCHT_RECEIVER
- Receiver.
- MQCHT_REQUESTER
- Requester.
- MQCHT_SVRCONN
- Server-connection (for use by clients).
- MQCHT_CLNTCONN
- Client connection.
- MQCHT_CLUSRCVR
- Cluster-receiver.
- MQCHT_CLUSSDR
- Cluster-sender.
- MQCHT_AMQP
- AMQP.
Required parameters (Copy Channel)
FromChannelName
(MQCFST)- From channel name (parameter identifier: MQCACF_FROM_CHANNEL_NAME).
The name of the existing channel definition that contains values for the attributes that are not specified in this command.
On z/OS, the queue manager searches for an object with the name you specify and a disposition of MQQSGD_Q_MGR or MQQSGD_COPY to copy from. This parameter is ignored if a value of MQQSGD_COPY is specified for
QSGDisposition
. In this case, an object with the name specified byToChannelName
and the disposition MQQSGD_GROUP is searched for to copy from.The maximum length of the string is MQ_CHANNEL_NAME_LENGTH.
ChannelType
(MQCFIN)- Channel type (parameter identifier: MQIACH_CHANNEL_TYPE). Specifies the type of the channel being changed, copied, or created. The value can be any of the following values:
- MQCHT_SENDER
- Sender.
- MQCHT_SERVER
- Server.
- MQCHT_RECEIVER
- Receiver.
- MQCHT_REQUESTER
- Requester.
- MQCHT_SVRCONN
- Server-connection (for use by clients).
- MQCHT_CLNTCONN
- Client connection.
- MQCHT_CLUSRCVR
- Cluster-receiver.
- MQCHT_CLUSSDR
- Cluster-sender.
- MQCHT_AMQP
- AMQP.
ToChannelName
(MQCFST)- To channel name (parameter identifier: MQCACF_TO_CHANNEL_NAME).
The name of the new channel definition.
The maximum length of the string is MQ_CHANNEL_NAME_LENGTH.
Channel names must be unique; if a channel definition with this name exists, the value of
Replace
must be MQRP_YES. The channel type of the existing channel definition must be the same as the channel type of the new channel definition otherwise it cannot be replaced.
Optional parameters (Change, Copy, and Create Channel)
AMQPKeepAlive
(MQCFIN)- The AMQP channel keep alive interval (parameter identifier: MQIACH_AMQP_KEEP_ALIVE).
The keep alive time for an AMQP channel in seconds. If the AMQP client has not sent any frames within the keep alive interval, then the connection is closed with a amqp:resource-limit-exceeded AMQP error condition.
This parameter is valid only for ChannelType values of MQCHT_AMQP.
-
BatchHeartbeat
(MQCFIN) - The batch heartbeat interval (parameter identifier: MQIACH_BATCH_HB).
Batch heartbeating allows sender-type channels to determine whether the remote channel instance is still active, before going in-doubt. The value can be in the range 0 - 999999. A value of 0 indicates that batch heart-eating is not to be used. Batch heartbeat is measured in milliseconds.
This parameter is valid only for ChannelType values of MQCHT_SENDER, MQCHT_SERVER, MQCHT_CLUSSDR, or MQCHT_CLUSRCVR.
BatchInterval
(MQCFIN)- Batch interval (parameter identifier: MQIACH_BATCH_INTERVAL).
This interval is the approximate time in milliseconds that a channel keeps a batch open, if fewer than
BatchSize
messages have been transmitted in the current batch.IfBatchInterval
is greater than zero, the batch is terminated by whichever of the following situations occurs first:BatchSize
messages have been sent, orBatchInterval
milliseconds have elapsed since the start of the batch.
IfBatchInterval
is zero, the batch is terminated by whichever of the following situations occurs first:BatchSize
messages have been sent, orBatchDataLimit
bytes have been sent, or- the transmission queue becomes empty.
BatchInterval
must be in the range 0 - 999999999.This parameter applies only to channels with a
ChannelType
of: MQCHT_SENDER, MQCHT_SERVER, MQCHT_CLUSSDR, or MQCHT_CLUSRCVR.
BatchDataLimit
(MQCFIN)Batch data limit (parameter identifier: MQIACH_BATCH_DATA_LIMIT).
The limit, in kilobytes, of the amount of data that can be sent through a channel before taking a sync point. A sync point is taken after the message that caused the limit to be reached has flowed across the channel. A value of zero in this attribute means that no data limit is applied to batches over this channel.
The value must be in the range 0 - 999999. The default value is 5000.
This parameter is supported on all platforms.
This parameter only applies to channels with a
ChannelType
of MQCHT_SENDER, MQCHT_SERVER, MQCHT_CLUSRCVR, or MQCHT_CLUSSDR.
BatchSize
(MQCFIN)- Batch size (parameter identifier: MQIACH_BATCH_SIZE).
The maximum number of messages that must be sent through a channel before a checkpoint is taken.
The batch size which is used is the lowest of the following:- The
BatchSize
of the sending channel - The
BatchSize
of the receiving channel - The maximum number of uncommitted messages at the sending queue manager
- The maximum number of uncommitted messages at the receiving queue manager
The maximum number of uncommitted messages is specified by the
MaxUncommittedMsgs
parameter of the Change Queue Manager command.Specify a value in the range 1 - 9999.
This parameter is not valid for channels with a
ChannelType
of MQCHT_SVRCONN or MQCHT_CLNTCONN. - The
CertificateLabel
(MQCFST)- Certificate label (parameter identifier: MQCA_CERT_LABEL).
Certificate label for this channel to use.
The label identifies which personal certificate in the key repository is sent to the remote peer. If this attribute is blank, the certificate is determined by the queue manager CertificateLabel parameter.
Note that inbound channels (including receiver, cluster-receiver, unqualified server, and server-connection channels) only send the configured certificate if the IBM MQ version of the remote peer fully supports certificate label configuration, and the channel is using a TLS CipherSpec.
In all other cases, the queue manager CertificateLabel parameter determines the certificate sent. In particular, the following only ever receive the certificate configured by the CertificateLabel parameter of the queue manager, regardless of the channel-specific label setting:- All current Java and JMS clients.
- Versions of IBM MQ prior to Version 8.0.
ChannelDesc
(MQCFST)- Channel description (parameter identifier: MQCACH_DESC).
The maximum length of the string is MQ_CHANNEL_DESC_LENGTH.
Use characters from the character set, identified by the coded character set identifier ( CCSID ) for the message queue manager on which the command is executing, to ensure that the text is translated correctly.
ChannelMonitoring
(MQCFIN)- Online monitoring data collection (parameter identifier: MQIA_MONITORING_CHANNEL). Specifies whether online monitoring data is to be collected and, if so, the rate at which the data is collected. The value can be any of the following values:
- MQMON_OFF
- Online monitoring data collection is turned off for this channel.
- MQMON_Q_MGR
- The value of the queue manager's
ChannelMonitoring
parameter is inherited by the channel. - MQMON_LOW
- If the value of the queue manager's
ChannelMonitoring
parameter is not MQMON_NONE, online monitoring data collection is turned on, with a low rate of data collection, for this channel. - MQMON_MEDIUM
- If the value of the queue manager's
ChannelMonitoring
parameter is not MQMON_NONE, online monitoring data collection is turned on, with a moderate rate of data collection, for this channel. - MQMON_HIGH
- If the value of the queue manager's
ChannelMonitoring
parameter is not MQMON_NONE, online monitoring data collection is turned on, with a high rate of data collection, for this channel.
ChannelStatistics
(MQCFIN)- Statistics data collection (parameter identifier: MQIA_STATISTICS_CHANNEL).
Specifies whether statistics data is to be collected and, if so, the rate at which the data is collected. The value can be:
- MQMON_OFF
- Statistics data collection is turned off for this channel.
- MQMON_Q_MGR
- The value of the queue manager's
ChannelStatistics
parameter is inherited by the channel. - MQMON_LOW
- If the value of the queue manager's
ChannelStatistics
parameter is not MQMON_NONE, online monitoring data collection is turned on, with a low rate of data collection, for this channel. - MQMON_MEDIUM
- If the value of the queue manager's
ChannelStatistics
parameter is not MQMON_NONE, online monitoring data collection is turned on, with a moderate rate of data collection, for this channel. - MQMON_HIGH
- If the value of the queue manager's
ChannelStatistics
parameter is not MQMON_NONE, online monitoring data collection is turned on, with a high rate of data collection, for this channel.
On z/OS, this parameter simply turns on statistics data collection, regardless of the value you select. Specifying LOW, MEDIUM, or HIGH makes no difference to your results.
ClientChannelWeight
(MQCFIN)- Client Channel Weight (parameter identifier: MQIACH_CLIENT_CHANNEL_WEIGHT).
The client channel weighting attribute is used so client channel definitions can be selected at random, with the larger weightings having a higher probability of selection, when more than one suitable definition is available.
Specify a value in the range 0 - 99. The default is 0.
This parameter is only valid for channels with a ChannelType of MQCHT_CLNTCONN
ClusterName
(MQCFST)- Cluster name (parameter identifier: MQCA_CLUSTER_NAME).
The name of the cluster to which the channel belongs.
This parameter applies only to channels with aChannelType
of:- MQCHT_CLUSSDR
- MQCHT_CLUSRCVR
Only one of the values of
ClusterName
andClusterNamelist
can be nonblank; the other must be blank.The maximum length of the string is MQ_CLUSTER_NAME_LENGTH.
ClusterNamelist
(MQCFST)- Cluster namelist (parameter identifier: MQCA_CLUSTER_NAMELIST).
The name, of the namelist, that specifies a list of clusters to which the channel belongs.
This parameter applies only to channels with aChannelType
of:- MQCHT_CLUSSDR
- MQCHT_CLUSRCVR
Only one of the values of
ClusterName
andClusterNamelist
can be nonblank; the other must be blank.
CLWLChannelPriority
(MQCFIN)- Channel priority for the purposes of cluster workload distribution
(parameter identifier: MQIACH_CLWL_CHANNEL_PRIORITY).
Specify a value in the range 0 - 9 where 0 is the lowest priority and 9 is the highest.
This parameter applies only to channels with aChannelType
of:- MQCHT_CLUSSDR
- MQCHT_CLUSRCVR
CLWLChannelRank
(MQCFIN)- Channel rank for the purposes of cluster workload distribution
(parameter identifier: MQIACH_CLWL_CHANNEL_RANK).
Specify a value in the range 0 - 9 where 0 is the lowest priority and 9 is the highest.
This parameter applies only to channels with aChannelType
of:- MQCHT_CLUSSDR
- MQCHT_CLUSRCVR
CLWLChannelWeight
(MQCFIN)- Channel weighting for the purposes of cluster workload distribution
(parameter identifier: MQIACH_CLWL_CHANNEL_WEIGHT).
Specify a weighting for the channel for use in workload management. Specify a value in the range 1 - 99 where 1 is the lowest priority and 99 is the highest.
This parameter applies only to channels with aChannelType
of:- MQCHT_CLUSSDR
- MQCHT_CLUSRCVR
-
CommandScope
(MQCFST) - Command scope (parameter identifier: MQCACF_COMMAND_SCOPE). This parameter applies to z/OS only.
Specifies how the command is executed when the queue manager is a member of a queue-sharing group. You can specify one of the following:
- blank (or omit the parameter altogether). The command is executed on the queue manager on which it was entered.
- a queue manager name. The command is executed on the queue manager you specify, providing it is active within the queue sharing group. If you specify a queue manager name other than the queue manager on which it was entered, you must be using a queue-sharing group environment, and the command server must be enabled.
- an asterisk (*). The command is executed on the local queue manager and is also passed to every active queue manager in the queue-sharing group.
The maximum length is MQ_QSG_NAME_LENGTH.
ConnectionAffinity
(MQCFIN)- Channel Affinity (parameter identifier: MQIACH_CONNECTION_AFFINITY) The channel affinity attribute specifies whether client applications that connect multiple times using the same queue manager name, use the same client channel. The value can be any of the following values:
- MQCAFTY_PREFERRED
- The first connection in a process reading a client channel definition
table (CCDT) creates a list of applicable definitions based on the
weighting with any zero ClientChannelWeight definitions first in alphabetical
order. Each connection in the process attempts to connect using the
first definition in the list. If a connection is unsuccessful the
next definition is used. Unsuccessful nonzero ClientChannelWeight
definitions are moved to the end of the list. Zero ClientChannelWeight
definitions remain at the start of the list and are selected first
for each connection. For C, C++ and .NET (including fully
managed .NET)
clients the list is updated if the CCDT has been modified since the
list was created. Each client process with the same host name creates
the same list.
This value is the default value.
- MQCAFTY_NONE
- The first connection in a process reading a CCDT creates a list of applicable definitions. All connections in a process independently select an applicable definition based on the weighting with any applicable zero ClientChannelWeight definitions selected first in alphabetical order. For C, C++ and .NET (including fully managed .NET) clients the list is updated if the CCDT has been modified since the list was created.
This parameter is only valid for channels with a ChannelType of MQCHT_CLNTCONN.
ConnectionName
(MQCFST)- Connection name (parameter identifier: MQCACH_CONNECTION_NAME).
On platforms other than z/OS, the maximum length of the string is 264. On z/OS, it is 48.
Specify
ConnectionName
as a comma-separated list of names of machines for the statedTransportType
. Typically, only one machine name is required. You can provide multiple machine names to configure multiple connections with the same properties. The connections are tried in the order they are specified in the connection list until a connection is successfully established. If no connection is successful, the channel starts to try processing again. Connection lists are an alternative to queue manager groups to configure connections for reconnectable clients, and also to configure channel connections to multi-instance queue managers.Specify the name of the machine as required for the stated
TransportType
:- For MQXPT_LU62 on IBM i, and UNIX systems, specify the name of the CPI-C communications side
object. On Windows specify the CPI-C symbolic
destination name. On z/OS, there are two forms in which to specify the value:
- Logical unit name
- The logical unit information for the queue manager, comprising the logical unit name, TP name,
and optional mode name. This name can be specified in one of three forms:
Form Example luname IGY12355
luname/TPname IGY12345/APING
luname/TPname/modename IGY12345/APINGD/#INTER
For the first form, the TP name and mode name must be specified for the
TpName
andModeName
parameters; otherwise these parameters must be blank.Note: For client-connection channels, only the first form is allowed. - Symbolic name
- The symbolic destination name for the logical unit information for the queue manager, as defined
in the side information data set. The
TpName
andModeName
parameters must be blank.Note: For cluster-receiver channels, the side information is on the other queue managers in the cluster. Alternatively, in this case it can be a name that a channel auto-definition exit can resolve into the appropriate logical unit information for the local queue manager.The specified or implied LU name can be that of a VTAM generic resources group.
- For MQXPT_TCP, you can specify a connection name, or a connection
list, containing the host name or the network address of the remote
machine. Separate connection names in a connection list with commas.
On z/OS, the connection name can include the IP_name of a z/OS dynamic DNS group or a network dispatcher input port. Do not include this parameter for channels with a
ChannelType
value of MQCHT_CLUSSDR.On AIX, HP-UX, IBM i, Linux, Solaris, and Windows, the TCP/IP connection name parameter of a cluster-receiver channel is optional. If you leave the connection name blank, IBM MQ generates a connection name for you, assuming the default port and using the current IP address of the system. You can override the default port number, but still use the current IP address of the system. For each connection name leave the IP name blank, and provide the port number in parentheses; for example:
The generated CONNAME is always in the dotted decimal (IPv4) or hexadecimal (IPv6) form, rather than in the form of an alphanumeric DNS host name.(1415)
- For MQXPT_NETBIOS specify the NetBIOS station name.
- For MQXPT_SPX specify the 4 byte network address, the 6 byte node
address, and the 2 byte socket number. These values must be entered
in hexadecimal, with a period separating the network and node addresses.
The socket number must be enclosed in brackets, for example:
If the socket number is omitted, the IBM MQ default value (5e86 hex) is assumed.0a0b0c0d.804abcde23a1(5e86)
This parameter is valid only forChannelType
values of MQCHT_SENDER, MQCHT_SERVER, MQCHT_REQUESTER, MQCHT_CLNTCONN, MQCHT_CLUSSDR, or MQCHT_CLUSRCVR.Note: If you are using clustering between IPv6 -only and IPv4 -only queue managers, do not specify an IPv6 network address as theConnectionName
for cluster-receiver channels. A queue manager that is capable only of IPv4 communication is unable to start a cluster sender channel definition that specifies theConnectionName
in IPv6 hexadecimal form. Consider, instead, using host names in a heterogeneous IP environment. - For MQXPT_LU62 on IBM i, and UNIX systems, specify the name of the CPI-C communications side
object. On Windows specify the CPI-C symbolic
destination name.
DataConversion
(MQCFIN)- Whether sender must convert application data (parameter identifier:
MQIACH_DATA_CONVERSION).
This parameter is valid only for
ChannelType
values of MQCHT_SENDER, MQCHT_SERVER, MQCHT_CLUSSDR, or MQCHT_CLUSRCVR.The value can be any of the following values:- MQCDC_NO_SENDER_CONVERSION
- No conversion by sender.
- MQCDC_SENDER_CONVERSION
- Conversion by sender.
DefaultChannelDisposition
(MQCFIN)- Intended disposition of the channel when activated or started (parameter identifier:
MQIACH_DEF_CHANNEL_DISP).
This parameter applies to z/OS only.
The value can be any of the following values:
- MQCHLD_PRIVATE
- The intended use of the object is as a private channel.
This value is the default value.
- MQCHLD_FIXSHARED
- The intended use of the object is as a fixshared channel.
- MQCHLD_SHARED
- The intended use of the object is as a shared channel.
DefReconnect
(MQCFIN)- Client channel default reconnection option (parameter
identifier:
MQIACH_DEF_RECONNECT
).The default automatic client reconnection option. You can configure a IBM MQ MQI client to automatically reconnect a client application. The IBM MQ MQI client tries to reconnect to a queue manager after a connection failure. It tries to reconnect without the application client issuing an MQCONN or MQCONNX MQI call.
- MQRCN_NO
- MQRCN_NO is the default value.
Unless overridden by MQCONNX, the client is not reconnected automatically.
- MQRCN_YES
- Unless overridden by MQCONNX, the client reconnects automatically.
- MQRCN_Q_MGR
- Unless overridden by MQCONNX, the client reconnects automatically, but only to the same queue manager. The QMGR option has the same effect as
MQCNO_RECONNECT_Q_MGR
. - MQRCN_DISABLED
- Reconnection is disabled, even if requested by the client program using the MQCONNX MQI call.
Table 2. Automatic reconnection depends on the values set in the application and in the channel definition DefReconnect Reconnection options set in the application MQCNO_RECONNECT
MQCNO_RECONNECT_Q_MGR
MQCNO_RECONNECT_AS_DEF
MQCNO_RECONNECT_DISABLED
MQRCN_NO YES QMGR NO NO MQRCN_YES YES QMGR YES NO MQRCN_Q_MGR YES QMGR QMGR NO MQRCN_DISABLED NO NO NO NO This parameter is valid only for a
ChannelType
value ofMQCHT_CLNTCONN
.
DiscInterval
(MQCFIN)- Disconnection interval (parameter identifier: MQIACH_DISC_INTERVAL).
This interval defines the maximum number of seconds that the channel waits for messages to be put on a transmission queue before terminating the channel. A value of zero causes the message channel agent to wait indefinitely.
Specify a value in the range 0 - 999 999.
This parameter is valid only for
ChannelType
values of MQCHT_SENDER MQCHT_SERVER, MQCHT_SVRCONN, MQCHT_CLUSSDR, or MQCHT_CLUSRCVR.For server-connection channels using the TCP protocol, this interval is the minimum time in seconds for which the server-connection channel instance remains active without any communication from its partner client. A value of zero disables this disconnect processing. The server-connection inactivity interval only applies between MQ API calls from a client, so no client is disconnected during an extended MQGET with wait call. This attribute is ignored for server-connection channels using protocols other than TCP.
HeaderCompression
(MQCFIL)- Header data compression techniques supported by the channel (parameter
identifier: MQIACH_HDR_COMPRESSION).
The list of header data compression techniques supported by the channel. For sender, server, cluster-sender, cluster-receiver, and client-connection channels, the values specified are in order of preference with the first compression technique supported by the remote end of the channel being used.
The mutually supported compression techniques of the channel are passed to the message exit of the sending channel where the compression technique used can be altered on a per message basis. Compression alters the data passed to send and receive exits.
Specify one or more of:
- MQCOMPRESS_NONE
- No header data compression is performed. This value is the default value.
- MQCOMPRESS_SYSTEM
- Header data compression is performed.
HeartbeatInterval
(MQCFIN)- Heartbeat interval (parameter identifier: MQIACH_HB_INTERVAL). The interpretation of this parameter depends on the channel type, as follows:
- For a channel type of MQCHT_SENDER, MQCHT_SERVER, MQCHT_RECEIVER,
MQCHT_REQUESTER, MQCHT_CLUSSDR, or MQCHT_CLUSRCVR, this interval is
the time in seconds between heartbeat flows passed from the sending
MCA when there are no messages on the transmission queue. This interval
gives the receiving MCA the opportunity to quiesce the channel. To
be useful,
HeartbeatInterval
must be less thanDiscInterval
. However, the only check is that the value is within the permitted range.This type of heartbeat is supported in the following environments: AIX, HP-UX, IBM i, Solaris, Windows, and z/OS.
- For a channel type of MQCHT_CLNTCONN or MQCHT_SVRCONN, this interval
is the time in seconds between heartbeat flows passed from the server
MCA when that MCA has issued an MQGET call with the MQGMO_WAIT option
on behalf of a client application. This interval allows the server
MCA to handle situations where the client connection fails during
an MQGET with MQGMO_WAIT.
This type of heartbeat is supported in the following environments: AIX, HP-UX, IBM i, Solaris, Windows, Linux, and z/OS.
The value must be in the range 0 - 999 999. A value of 0 means that no heartbeat exchange occurs. The value that is used is the larger of the values specified at the sending side and receiving side.
- For a channel type of MQCHT_SENDER, MQCHT_SERVER, MQCHT_RECEIVER,
MQCHT_REQUESTER, MQCHT_CLUSSDR, or MQCHT_CLUSRCVR, this interval is
the time in seconds between heartbeat flows passed from the sending
MCA when there are no messages on the transmission queue. This interval
gives the receiving MCA the opportunity to quiesce the channel. To
be useful,
KeepAliveInterval
(MQCFIN)- KeepAlive interval (parameter identifier: MQIACH_KEEP_ALIVE_INTERVAL).
Specifies the value passed to the communications stack for KeepAlive timing for the channel.
For this attribute to be effective, TCP/IP keepalive must be enabled. On z/OS, you enable TCP/IP keepalive by issuing the Change Queue Manager command with a value of MQTCPKEEP in the
TCPKeepAlive
parameter; if theTCPKeepAlive
queue manager parameter has a value of MQTCPKEEP_NO, the value is ignored, and the KeepAlive facility is not used. On other platforms, TCP/IP keepalive is enabled when the KEEPALIVE=YES parameter is specified in the TCP stanza in the distributed queuing configuration file, qm.ini, or through the IBM MQ Explorer. Keepalive must also be switched on within TCP/IP itself, using the TCP profile configuration data set.Although this parameter is available on all platforms, its setting is implemented only on z/OS. 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. This parameter is useful in a clustered environment where a value set in a cluster-receiver channel definition on Solaris, for example, flows to (and is implemented by) z/OS queue managers that are in, or join, the cluster.
Specify either:- integer
- The KeepAlive interval to be used, in seconds, in the range 0 - 99 999. If you specify a value of 0, the value used is that specified by the INTERVAL statement in the TCP profile configuration data set.
- MQKAI_AUTO
- The KeepAlive interval is calculated based upon the negotiated
heartbeat value as follows:
- If the negotiated
HeartbeatInterval
is greater than zero, KeepAlive interval is set to that value plus 60 seconds. - If the negotiated
HeartbeatInterval
is zero, the value used is that specified by the INTERVAL statement in the TCP profile configuration data set.
- If the negotiated
On platforms other than z/OS, if you need the functionality provided by the
KeepAliveInterval
parameter, use theHeartBeatInterval
parameter.
LocalAddress
(MQCFST)- Local communications address for the channel (parameter identifier:
MQCACH_LOCAL_ADDRESS).
The maximum length of the string is MQ_LOCAL_ADDRESS_LENGTH.
The value that you specify depends on the transport type (TransportType) to be used:
- TCP/IP
- The value is the optional IP address and optional port or port
range to be used for outbound TCP/IP communications. The format for
this information is as follows:
whereLOCLADDR([ip-addr][(low-port[,high-port])][,[ip-addr][(low-port[,high-port])]])
ip-addr
is specified in IPv4 dotted decimal, IPv6 hexadecimal notation, or alphanumeric form, andlow-port
andhigh-port
are port numbers enclosed in parentheses. All are optional.Specify
[,[ip-addr][(low-port[,high-port])]]
multiple times for each additional local address. Use multiple local addresses if you want to specify a specific subset of local network adapters. You can also use[,[ip-addr][(low-port[,high-port])]]
to represent a particular local network address on different servers that are part of a multi-instance queue manager configuration.
- All Others
- The value is ignored; no error is diagnosed.
Use this parameter if you want a channel to use a particular IP address, port, or port range for outbound communications. This parameter is useful when a machine is connected to multiple networks with different IP addresses.
Examples of use
Value Meaning 9.20.4.98 Channel binds to this address locally 9.20.4.98 (1000) Channel binds to this address and port 1000 locally 9.20.4.98 (1000,2000) Channel binds to this address and uses a port in the range 1000 - 2000 locally (1000) Channel binds to port 1000 locally (1000,2000) Channel binds to a port in the range 1000 - 2000 locally This parameter is valid for the following channel types:- MQCHT_SENDER
- MQCHT_SERVER
- MQCHT_REQUESTER
- MQCHT_CLNTCONN
- MQCHT_CLUSRCVR
- MQCHT_CLUSSDR
Note:- Do not confuse this parameter with ConnectionName. The LocalAddress parameter specifies the characteristics of the local communications; the ConnectionName parameter specifies how to reach a remote queue manager.
LongRetryCount
(MQCFIN)- Long retry count (parameter identifier: MQIACH_LONG_RETRY).
When a sender or server channel is attempting to connect to the remote machine, and the count specified by
ShortRetryCount
has been exhausted, this count specifies the maximum number of further attempts that are made to connect to the remote machine, at intervals specified byLongRetryInterval
.If this count is also exhausted without success, an error is logged to the operator, and the channel is stopped. The channel must later be restarted with a command (it is not started automatically by the channel initiator), and it then makes only one attempt to connect, as it is assumed that the problem has now been cleared by the administrator. The retry sequence is not carried out again until after the channel has successfully connected.
Specify a value in the range 0 - 999 999 999.
This parameter is valid only for
ChannelType
values of MQCHT_SENDER, MQCHT_SERVER, MQCHT_CLUSSDR, or MQCHT_CLUSRCVR.
LongRetryInterval
(MQCFIN)- Long timer (parameter identifier: MQIACH_LONG_TIMER).
Specifies the long retry wait interval for a sender or server channel that is started automatically by the channel initiator. It defines the interval in seconds between attempts to establish a connection to the remote machine, after the count specified by
ShortRetryCount
has been exhausted.The time is approximate; zero means that another connection attempt is made as soon as possible.
Specify a value in the range 0 - 999 999. Values exceeding this value are treated as 999 999.
This parameter is valid only for
ChannelType
values of MQCHT_SENDER, MQCHT_SERVER, MQCHT_CLUSSDR, or MQCHT_CLUSRCVR.
MaxInstances
(MQCFIN)- Maximum number of simultaneous instances of a server-connection
channel or an AMQP channel(parameter identifier: MQIACH_MAX_INSTANCES).
Specify a value in the range 0 - 999 999 999.
The default value is 999 999 999.
A value of zero indicates that no client connections are allowed on the channel.
If the value is reduced below the number of instances of the server-connection channel that are currently running, the running channels are not affected. This parameter applies even if the value is zero. However, if the value is reduced below the number of instances of the server-connection channel that are currently running, then new instances cannot be started until sufficient existing instances have ceased to run.
If an AMQP client attempts to connect to an AMQP channel, and the number of connected clients has reached MaxInstances, the channel closes the connection with a close frame. The close frame contains the following message:
amqp:resource-limit-exceeded
. If a client connects with an ID that is already connected (that is, it performs a client-takeover), and the client is permitted to take over the connection, the takeover will succeed regardless of whether the number of connected clients has reached MaxInstances.This parameter is valid only for channels with a
ChannelType
value of MQCHT_SVRCONN or MQCHT_AMQP.
MaxInstancesPerClient
(MQCFIN)- Maximum number of simultaneous instances of a server-connection
channel that can be started from a single client (parameter identifier:
MQIACH_MAX_INSTS_PER_CLIENT). In this context, connections that originate
from the same remote network address are regarded as coming from the
same client.
Specify a value in the range 0 - 999 999 999.
The default value is 999 999 999.
A value of zero indicates that no client connections are allowed on the channel.
If the value is reduced below the number of instances of the server-connection channel that are currently running from individual clients, the running channels are not affected. This parameter applies even if the value is zero. However, if the value is reduced below the number of instances of the server-connection channel that are currently running from individual clients, new instances from those clients cannot start until sufficient existing instances have ceased to run.
This parameter is valid only for channels with a
ChannelType
value of MQCHT_SVRCONN.
MaxMsgLength
(MQCFIN)- Maximum message length (parameter identifier: MQIACH_MAX_MSG_LENGTH).
Specifies the maximum message length that can be transmitted on the channel. This value is compared with the value for the remote channel and the actual maximum is the lower of the two values.
The value zero means the maximum message length for the queue manager.
The lower limit for this parameter is 0. The maximum message length is 100 MB (104 857 600 bytes).
MCAName
(MQCFST)- Message channel agent name (parameter identifier: MQCACH_MCA_NAME). Note: An alternative way of providing a user ID for a channel to run under is to use channel authentication records. With channel authentication records, different connections can use the same channel while using different credentials. If both MCAUSER on the channel is set and channel authentication records are used to apply to the same channel, the channel authentication records take precedence. The MCAUSER on the channel definition is only used if the channel authentication record uses USERSRC(CHANNEL). For more details, see Channel authentication records
This parameter is reserved, and if specified can be set only to blanks.
The maximum length of the string is MQ_MCA_NAME_LENGTH.
This parameter is valid only for
ChannelType
values of MQCHT_SENDER, MQCHT_SERVER, MQCHT_REQUESTER, MQCHT_CLUSSDR, or MQCHT_CLUSRCVR.
MCAType
(MQCFIN)- Message channel agent type (parameter identifier: MQIACH_MCA_TYPE).
Specifies the type of the message channel agent program.
On AIX, HP-UX, IBM i, Solaris, Windows, and Linux, this parameter is valid only for
ChannelType
values of MQCHT_SENDER, MQCHT_SERVER, MQCHT_REQUESTER, or MQCHT_CLUSSDR.On z/OS, this parameter is valid only for a
ChannelType
value of MQCHT_CLURCVR.The value can be any of the following values:- MQMCAT_PROCESS
- Process.
- MQMCAT_THREAD
- Thread.
MCAUserIdentifier
(MQCFST)- Message channel agent user identifier (parameter identifier: MQCACH_MCA_USER_ID).
If this parameter is nonblank, it is the user identifier which is to be used by the message channel agent for authorization to access IBM MQ resources, including (if
PutAuthority
is MQPA_DEFAULT) authorization to put the message to the destination queue for receiver or requester channels.If it is blank, the message channel agent uses its default user identifier.
This user identifier can be overridden by one supplied by a channel security exit.
This parameter is not valid for channels with a
ChannelType
of MQCHT_SDR, MQCHT_SVR, MQCHT_CLNTCONN, MQCHT_CLUSSDR.The maximum length of the MCA user identifier depends on the environment in which the MCA is running. MQ_MCA_USER_ID_LENGTH gives the maximum length for the environment for which your application is running. MQ_MAX_MCA_USER_ID_LENGTH gives the maximum for all supported environments.
On Windows, you can optionally qualify a user identifier with the domain name in the following format:user@domain
MessageCompression
(MQCFIL)- Header data compression techniques supported by the channel (parameter
identifier: MQIACH_MSG_COMPRESSION). The
list of message data compression techniques supported by the channel.
For sender, server, cluster-sender, cluster-receiver, and client-connection
channels, the values specified are in order of preference with the
first compression technique supported by the remote end of the channel
being used.
The mutually supported compression techniques of the channel are passed to the message exit of the sending channel where the compression technique used can be altered on a per message basis. Compression alters the data passed to send and receive exits.
Specify one or more of:
- MQCOMPRESS_NONE
- No message data compression is performed. This value is the default value.
- MQCOMPRESS_RLE
- Message data compression is performed using run-length encoding.
- MQCOMPRESS_ZLIBFAST
- Message data compression is performed using ZLIB encoding with speed prioritized.
- MQCOMPRESS_ZLIBHIGH
- Message data compression is performed using ZLIB encoding with compression prioritized.
- MQCOMPRESS_ANY
- Any compression technique supported by the queue manager can be used. This value is only valid for receiver, requester, and server-connection channels.
ModeName
(MQCFST)- Mode name (parameter identifier: MQCACH_MODE_NAME).
This parameter is the LU 6.2 mode name.
The maximum length of the string is MQ_MODE_NAME_LENGTH.- On IBM i, HP Integrity NonStop Server, UNIX systems, and Windows, this parameter can be set only to blanks. The actual name is taken instead from the CPI-C Communications Side Object or (on Windows ) from the CPI-C symbolic destination name properties.
This parameter is valid only for channels with a
TransportType
of MQXPT_LU62. It is not valid for receiver or server-connection channels.
MsgExit
(MQCFSL)- Message exit name (parameter identifier: MQCACH_MSG_EXIT_NAME).
If a nonblank name is defined, the exit is invoked immediately after a message has been retrieved from the transmission queue. The exit is given the entire application message and message descriptor for modification.
For channels with a channel type (
ChannelType
) of MQCHT_SVRCONN or MQCHT_CLNTCONN, this parameter is accepted but ignored, since message exits are not invoked for such channels.The format of the string is the same as for
SecurityExit
.The maximum length of the exit name depends on the environment in which the exit is running. MQ_EXIT_NAME_LENGTH gives the maximum length for the environment in which your application is running. MQ_MAX_EXIT_NAME_LENGTH gives the maximum for all supported environments.
You can specify a list of exit names by using an MQCFSL structure instead of an MQCFST structure.- The exits are invoked in the order specified in the list.
- A list with only one name is equivalent to specifying a single name in an MQCFST structure.
- You cannot specify both a list (MQCFSL) and a single entry (MQCFST) structure for the same channel attribute.
- The total length of all the exit names in the list (excluding trailing blanks in each name) must not exceed MQ_TOTAL_EXIT_NAME_LENGTH. An individual string must not exceed MQ_EXIT_NAME_LENGTH.
- On z/OS, you can specify the names of up to eight exit programs.
MsgRetryCount
(MQCFIN)- Message retry count (parameter identifier: MQIACH_MR_COUNT).
Specifies the number of times that a failing message must be retried.
Specify a value in the range 0 - 999 999 999.
This parameter is valid only for
ChannelType
values of MQCHT_RECEIVER, MQCHT_REQUESTER, or MQCHT_CLUSRCVR.
MsgRetryExit
(MQCFST)- Message retry exit name (parameter identifier: MQCACH_MR_EXIT_NAME).
If a nonblank name is defined, the exit is invoked before performing a wait before retrying a failing message.
The format of the string is the same as for
SecurityExit
.The maximum length of the exit name depends on the environment in which the exit is running. MQ_EXIT_NAME_LENGTH gives the maximum length for the environment in which your application is running. MQ_MAX_EXIT_NAME_LENGTH gives the maximum for all supported environments.
This parameter is valid only for
ChannelType
values of MQCHT_RECEIVER, MQCHT_REQUESTER, or MQCHT_CLUSRCVR.
MsgRetryInterval
(MQCFIN)- Message retry interval (parameter identifier: MQIACH_MR_INTERVAL).
Specifies the minimum time interval in milliseconds between retries of failing messages.
Specify a value in the range 0 - 999 999 999.
This parameter is valid only for
ChannelType
values of MQCHT_RECEIVER, MQCHT_REQUESTER, or MQCHT_CLUSRCVR.
MsgRetryUserData
(MQCFST)- Message retry exit user data (parameter identifier: MQCACH_MR_EXIT_USER_DATA).
Specifies user data that is passed to the message retry exit.
The maximum length of the string is MQ_EXIT_DATA_LENGTH.
This parameter is valid only for
ChannelType
values of MQCHT_RECEIVER, MQCHT_REQUESTER, or MQCHT_CLUSRCVR.
MsgUserData
(MQCFSL)- Message exit user data (parameter identifier: MQCACH_MSG_EXIT_USER_DATA).
Specifies user data that is passed to the message exit.
The maximum length of the string is MQ_EXIT_DATA_LENGTH.
For channels with a channel type (
ChannelType
) of MQCHT_SVRCONN or MQCHT_CLNTCONN, this parameter is accepted but ignored, since message exits are not invoked for such channels.You can specify a list of exit user data strings by using an MQCFSL structure instead of an MQCFST structure.- Each exit user data string is passed to the exit at the same ordinal
position in the
MsgExit
list. - A list with only one name is equivalent to specifying a single name in an MQCFST structure.
- You cannot specify both a list (MQCFSL) and a single entry (MQCFST) structure for the same channel attribute.
- The total length of all the exit user data in the list (excluding trailing blanks in each string) must not exceed MQ_TOTAL_EXIT_DATA_LENGTH. An individual string must not exceed MQ_EXIT_DATA_LENGTH.
- On z/OS, you can specify up to eight strings.
- Each exit user data string is passed to the exit at the same ordinal
position in the
NetworkPriority
(MQCFIN)- Network priority (parameter identifier: MQIACH_NETWORK_PRIORITY).
The priority for the network connection. If there are multiple paths available, distributed queuing selects the path with the highest priority.
The value must be in the range 0 (lowest) - 9 (highest).
This parameter applies only to channels with a
ChannelType
of MQCHT_CLUSRCVR
NonPersistentMsgSpeed
(MQCFIN)- Speed at which nonpersistent messages are to be sent (parameter
identifier: MQIACH_NPM_SPEED).
This parameter is supported in the following environments: AIX, HP-UX, IBM i, Solaris, Windows, and Linux.
Specifying MQNPMS_FAST means that nonpersistent messages on a channel need not wait for a syncpoint before being made available for retrieval. The advantage of this is that nonpersistent messages become available for retrieval far more quickly. The disadvantage is that because they do not wait for a syncpoint, they might be lost if there is a transmission failure.
This parameter is valid only forChannelType
values of MQCHT_SENDER, MQCHT_SERVER, MQCHT_RECEIVER, MQCHT_REQUESTER, MQCHT_CLUSSDR, or MQCHT_CLUSRCVR. The value can be any of the following values:- MQNPMS_NORMAL
- Normal speed.
- MQNPMS_FAST
- Fast speed.
Password
(MQCFST)- Password (parameter identifier: MQCACH_PASSWORD).
This parameter is used by the message channel agent when attempting to initiate a secure SNA session with a remote message channel agent. On IBM i, HP Integrity NonStop Server, and UNIX systems, it is valid only for
ChannelType
values of MQCHT_SENDER, MQCHT_SERVER, MQCHT_REQUESTER, MQCHT_CLNTCONN, or MQCHT_CLUSSDR. On z/OS, it is valid only for aChannelType
value of MQCHT_CLNTCONN.The maximum length of the string is MQ_PASSWORD_LENGTH. However, only the first 10 characters are used.
-
Port
(MQCFIN) - Port number (parameter identifier MQIACH_PORT).
The port number used to connect an AMQP channel. The default port for AMQP 1.0 connections is 5672. If you are already using port 5672, you can specify a different port.
This attribute is applicable to AMQP channels.
PropertyControl
(MQCFIN)- Property control attribute (parameter identifier MQIA_PROPERTY_CONTROL).
Specifies what happens to properties of messages when the message is about to be sent to a V6 or prior queue manager (a queue manager that does not understand the concept of a property descriptor). The value can be any of the following values:
- MQPROP_COMPATIBILITY
- If the message contains a property with a prefix of mcd., jms., usr. or mqext., all message properties are delivered to the application in an MQRFH2 header. Otherwise all properties of the message, except those properties contained in the message descriptor (or extension), are discarded and are no longer accessible to the application.
- MQPROP_NONE
- All properties of the message, except those properties in the message descriptor (or extension), are removed from the message before the message is sent to the remote queue manager.
- MQPROP_ALL
- All properties of the message are included with the message when it is sent to the remote queue manager. The properties, except those properties in the message descriptor (or extension), are placed in one or more MQRFH2 headers in the message data.
This attribute is applicable to Sender, Server, Cluster Sender, and Cluster Receiver channels.
PutAuthority
(MQCFIN)- Put authority (parameter identifier: MQIACH_PUT_AUTHORITY).
Specifies which user identifiers are used to establish authority to put messages to the destination queue (for messages channels) or to execute an MQI call (for MQI channels).
This parameter is valid only for channels with a
The value can be any of the following values:ChannelType
value of MQCHT_RECEIVER, MQCHT_REQUESTER, MQCHT_CLUSRCVR, or MQCHT_SVRCONN.- MQPA_DEFAULT
- Default user identifier is used.
On z/OS, MQPA_DEFAULT might involve using both the user ID received from the network and that derived from MCAUSER.
- MQPA_CONTEXT
- The user ID from the
UserIdentifier
field of the message descriptor is used.On z/OS, MQPA_CONTEXT might involve also using the user ID received from the network or that derived from MCAUSER, or both.
- MQPA_ALTERNATE_OR_MCA
- The user ID from the
UserIdentifier
field of the message descriptor is used. Any user ID received from the network is not used. This value is supported only on z/OS. - MQPA_ONLY_MCA
- The user ID derived from MCAUSER is used. Any user ID received from the network is not used. This value is supported only on z/OS.
QMgrName
(MQCFST)- Queue-manager name (parameter identifier: MQCA_Q_MGR_NAME).
For channels with a
ChannelType
of MQCHT_CLNTCONN, this name is the name of a queue manager to which a client application can request connection.For channels of other types, this parameter is not valid. The maximum length of the string is MQ_Q_MGR_NAME_LENGTH.
-
QSGDisposition
(MQCFIN) - Disposition of the object within the group (parameter identifier: MQIA_QSG_DISP). This parameter
applies to z/OS only.
Specifies the disposition of the object to which you are applying the command (that is, where it is defined and how it behaves). The value can be any of the following values:
QSGDisposition Change Copy, Create MQQSGD_COPY The object definition resides on the page set of the queue manager that executes the command. The object was defined using a command that had the parameter MQQSGD_COPY. Any object residing in the shared repository, or any object defined using a command that had the parameters MQQSGD_Q_MGR, is not affected by this command. The object is defined on the page set of the queue manager that executes the command using the MQQSGD_GROUP object of the same name as the ToChannelName
object (for Copy) orChannelName
object (for Create).MQQSGD_GROUP The object definition resides in the shared repository. The object was defined using a command that had the parameter MQQSGD_GROUP. Any object residing on the page set of the queue manager that executes the command (except a local copy of the object) is not affected by this command. If the command is successful, the following MQSC command is generated and sent to all active queue managers in the queue-sharing group to attempt to refresh local copies on page set zero:
The Change for the group object takes effect regardless of whether the generated command with QSGDISP(COPY) fails.DEFINE CHANNEL(channel-name) CHLTYPE(type) REPLACE QSGDISP(COPY)
The object definition resides in the shared repository. This definition is allowed only if the queue manager is in a queue-sharing group. If the definition is successful, the following MQSC command is generated and sent to all active queue managers in the queue-sharing group to attempt to make or refresh local copies on page set zero:
The Copy or Create for the group object takes effect regardless of whether the generated command with QSGDISP(COPY) fails.DEFINE CHANNEL(channe-name) CHLTYPE(type) REPLACE QSGDISP(COPY)
MQQSGD_PRIVATE The object resides on the page set of the queue manager that executes the command, and was defined with MQQSGD_Q_MGR or MQQSGD_COPY. Any object residing in the shared repository is unaffected. Not permitted. MQQSGD_Q_MGR The object definition resides on the page set of the queue manager that executes the command. The object was defined using a command that had the parameter MQQSGD_Q_MGR. Any object residing in the shared repository, or any local copy of such an object, is not affected by this command. This value is the default value. The object is defined on the page set of the queue manager that executes the command. This value is the default value.
ReceiveExit
(MQCFSL)- Receive exit name (parameter identifier: MQCACH_RCV_EXIT_NAME).
If a nonblank name is defined, the exit is invoked before data received from the network is processed. The complete transmission buffer is passed to the exit and the contents of the buffer can be modified as required.
The format of the string is the same as for
SecurityExit
.The maximum length of the exit name depends on the environment in which the exit is running. MQ_EXIT_NAME_LENGTH gives the maximum length for the environment in which your application is running. MQ_MAX_EXIT_NAME_LENGTH gives the maximum for all supported environments.
You can specify a list of exit names by using an MQCFSL structure instead of an MQCFST structure.- The exits are invoked in the order specified in the list.
- A list with only one name is equivalent to specifying a single name in an MQCFST structure.
- You cannot specify both a list (MQCFSL) and a single entry (MQCFST) structure for the same channel attribute.
- The total length of all the exit names in the list (excluding trailing blanks in each name) must not exceed MQ_TOTAL_EXIT_NAME_LENGTH. An individual string must not exceed MQ_EXIT_NAME_LENGTH.
- On z/OS, you can specify the names of up to eight exit programs.
ReceiveUserData
(MQCFSL)- Receive exit user data (parameter identifier: MQCACH_RCV_EXIT_USER_DATA).
Specifies user data that is passed to the receive exit.
The maximum length of the string is MQ_EXIT_DATA_LENGTH.
You can specify a list of exit user data strings by using an MQCFSL structure instead of an MQCFST structure.- Each exit user data string is passed to the exit at the same ordinal
position in the
ReceiveExit
list. - A list with only one name is equivalent to specifying a single name in an MQCFST structure.
- You cannot specify both a list (MQCFSL) and a single entry (MQCFST) structure for the same channel attribute.
- The total length of all the exit user data in the list (excluding trailing blanks in each string) must not exceed MQ_TOTAL_EXIT_DATA_LENGTH. An individual string must not exceed MQ_EXIT_DATA_LENGTH.
- On z/OS, you can specify up to eight strings.
- Each exit user data string is passed to the exit at the same ordinal
position in the
Replace
(MQCFIN)- Replace channel definition (parameter identifier: MQIACF_REPLACE). The value can be any of the following values:
- MQRP_YES
- Replace existing definition.
If
ChannelType
is MQCHT_CLUSSDR, MQRP_YES can be specified only if the channel was created manually. - MQRP_NO
- Do not replace existing definition.
SecurityExit
(MQCFST)- Security exit name (parameter identifier: MQCACH_SEC_EXIT_NAME). If a nonblank name is defined, the security exit is invoked at the following times:
- Immediately after establishing a channel.
Before any messages are transferred, the exit is enabled to instigate security flows to validate connection authorization.
- Upon receipt of a response to a security message flow.
Any security message flows received from the remote processor on the remote machine are passed to the exit.
The exit is given the entire application message and message descriptor for modification.
The format of the string depends on the platform, as follows:- On IBM i and UNIX systems, it is of
the form
libraryname(functionname)
Note: On IBM i systems, the following form is also supported for compatibility with older releases:
where progname occupies the first 10 characters, and libname the second 10 characters (both blank-padded to the right if necessary).progname libname
- On Windows,
it is of the form
where dllname is specified without the suffix .DLL.dllname(functionname)
- On z/OS, it is a load module name, maximum length 8 characters (128 characters are allowed for exit names for client-connection channels, subject to a maximum total length of 999).
The maximum length of the exit name depends on the environment in which the exit is running. MQ_EXIT_NAME_LENGTH gives the maximum length for the environment in which your application is running. MQ_MAX_EXIT_NAME_LENGTH gives the maximum for all supported environments.
- Immediately after establishing a channel.
SecurityUserData
(MQCFST)- Security exit user data (parameter identifier: MQCACH_SEC_EXIT_USER_DATA).
Specifies user data that is passed to the security exit.
The maximum length of the string is MQ_EXIT_DATA_LENGTH.
SendExit
(MQCFSL)- Send exit name (parameter identifier: MQCACH_SEND_EXIT_NAME).
If a nonblank name is defined, the exit is invoked immediately before data is sent out on the network. The exit is given the complete transmission buffer before it is transmitted; the contents of the buffer can be modified as required.
The format of the string is the same as for
SecurityExit
.The maximum length of the exit name depends on the environment in which the exit is running. MQ_EXIT_NAME_LENGTH gives the maximum length for the environment in which your application is running. MQ_MAX_EXIT_NAME_LENGTH gives the maximum for all supported environments.
You can specify a list of exit names by using an MQCFSL structure instead of an MQCFST structure.- The exits are invoked in the order specified in the list.
- A list with only one name is equivalent to specifying a single name in an MQCFST structure.
- You cannot specify both a list (MQCFSL) and a single entry (MQCFST) structure for the same channel attribute.
- The total length of all the exit names in the list (excluding trailing blanks in each name) must not exceed MQ_TOTAL_EXIT_NAME_LENGTH. An individual string must not exceed MQ_EXIT_NAME_LENGTH.
- On z/OS, you can specify the names of up to eight exit programs.
SendUserData
(MQCFSL)- Send exit user data (parameter identifier: MQCACH_SEND_EXIT_USER_DATA).
Specifies user data that is passed to the send exit.
The maximum length of the string is MQ_EXIT_DATA_LENGTH.
You can specify a list of exit user data strings by using an MQCFSL structure instead of an MQCFST structure.- Each exit user data string is passed to the exit at the same ordinal
position in the
SendExit
list. - A list with only one name is equivalent to specifying a single name in an MQCFST structure.
- You cannot specify both a list (MQCFSL) and a single entry (MQCFST) structure for the same channel attribute.
- The total length of all the exit user data in the list (excluding trailing blanks in each string) must not exceed MQ_TOTAL_EXIT_DATA_LENGTH. An individual string must not exceed MQ_EXIT_DATA_LENGTH.
- On z/OS, you can specify up to eight strings.
- Each exit user data string is passed to the exit at the same ordinal
position in the
SeqNumberWrap
(MQCFIN)- Sequence wrap number (parameter identifier: MQIACH_SEQUENCE_NUMBER_WRAP).
Specifies the maximum message sequence number. When the maximum is reached, sequence numbers wrap to start again at 1.
The maximum message sequence number is not negotiable; the local and remote channels must wrap at the same number.
Specify a value in the range 100 - 999 999 999.
This parameter is not valid for channels with a
ChannelType
of MQCHT_SVRCONN or MQCHT_CLNTCONN.
SharingConversations
(MQCFIN)- Maximum number of sharing conversations (parameter identifier:
MQIACH_SHARING_CONVERSATIONS).
Specifies the maximum number of conversations that can share a particular TCP/IP MQI channel instance (socket).
Specify a value in the range 0 - 999 999 999. The default value is 10 and the migrated value is 10.
This parameter is valid only for channels with a
ChannelType
of MQCHT_CLNTCONN or MQCHT_SVRCONN. It is ignored for channels with aTransportType
other than MQXPT_TCP.The number of shared conversations does not contribute to the
MaxInstances
orMaxInstancesPerClient
totals.A value of:- 1
- Means that there is no sharing of conversations over a TCP/IP channel instance, but client heartbeating is available whether in an MQGET call or not, read ahead and client asynchronous consumption are available, and channel quiescing is more controllable.
- 0
- Specifies no sharing of conversations over a TCP/IP channel instance.
The channel instance runs in a mode before that of IBM WebSphere® MQ 7.0, regarding:
- Administrator stop-quiesce
- Heartbeating
- Read ahead
- Client asynchronous consumption
ShortRetryCount
(MQCFIN)- Short retry count (parameter identifier: MQIACH_SHORT_RETRY).
The maximum number of attempts that are made by a sender or server channel to establish a connection to the remote machine, at intervals specified by
ShortRetryInterval
before the (normally longer)LongRetryCount
andLongRetryInterval
are used.Retry attempts are made if the channel fails to connect initially (whether it is started automatically by the channel initiator or by an explicit command), and also if the connection fails after the channel has successfully connected. However, if the cause of the failure is such that retry is unlikely to be successful, retries are not attempted.
Specify a value in the range 0 - 999 999 999.
This parameter is valid only for
ChannelType
values of MQCHT_SENDER, MQCHT_SERVER, MQCHT_CLUSSDR, or MQCHT_CLUSRCVR.
ShortRetryInterval
(MQCFIN)- Short timer (parameter identifier: MQIACH_SHORT_TIMER).
Specifies the short retry wait interval for a sender or server channel that is started automatically by the channel initiator. It defines the interval in seconds between attempts to establish a connection to the remote machine.
The time is approximate. From IBM MQ 8.0, zero means that another connection attempt is made as soon as possible.
Specify a value in the range 0 - 999 999. Values exceeding this value are treated as 999 999.
This parameter is valid only for
ChannelType
values of MQCHT_SENDER, MQCHT_SERVER, MQCHT_CLUSSDR, or MQCHT_CLUSRCVR.
SSLCipherSpec
(MQCFST)- CipherSpec (parameter identifier: MQCACH_SSL_CIPHER_SPEC). Specifies the CipherSpec that is used on the
channel. The length of the string is MQ_SSL_CIPHER_SPEC_LENGTH. Attention: On IBM MQ for z/OS, you can also specify the two digit hexadecimal code of a CipherSpec, whether or not it appears in the following table. On IBM i, you can also specify the two digit hexadecimal code of a CipherSpec, whether or not it appears in the following table. Also, on IBM i, installation of AC3 is a prerequisite for the use of TLS.
SSLClientAuth
(MQCFIN)- Client authentication (parameter identifier: MQIACH_SSL_CLIENT_AUTH). The value can be any of the following values:
- MQSCA_REQUIRED
- Client authentication required.
- MQSCA_OPTIONAL
- Client authentication optional.
Defines whether IBM MQ requires a certificate from the SSL client.
The SSL client is the end of the message channel that initiates the connection. The SSL Server is the end of the message channel that receives the initiation flow.
The parameter is used only for channels with SSLCIPH specified. If SSLCIPH is blank, the data is ignored and no error message is issued.
SSLPeerName
(MQCFST)- Peer name (parameter identifier: MQCACH_SSL_PEER_NAME). Note: An alternative way of restricting connections into channels by matching against the SSL or TLS Subject Distinguished Name, is to use channel authentication records. With channel authentication records, different SSL or TLS Subject Distinguished Name patterns can be applied to the same channel. If both SSLPEER on the channel and a channel authentication record are used to apply to the same channel, the inbound certificate must match both patterns in order to connect. For more information, see Channel authentication records.
On platforms other than z/OS, the length of the string is MQ_SSL_PEER_NAME_LENGTH. On z/OS, it is MQ_SSL_SHORT_PEER_NAME_LENGTH.
Specifies the filter to use to compare with the Distinguished Name of the certificate from the peer queue manager or client at the other end of the channel. (A Distinguished Name is the identifier of the SSL certificate.) If the Distinguished Name in the certificate received from the peer does not match the SSLPEER filter, the channel does not start.
This parameter is optional; if it is not specified, the Distinguished Name of the peer is not checked when the channel is started. (The Distinguished Name from the certificate is still written into the SSLPEER definition held in memory, and passed to the security exit). If SSLCIPH is blank, the data is ignored and no error message is issued.
This parameter is valid for all channel types.
The SSLPEER value is specified in the standard form used to specify a Distinguished Name. For example:
SSLPEER('SERIALNUMBER=4C:D0:49:D5:02:5F:38,CN="H1_C_FR1",O=IBM,C=GB')
You can use a semi-colon as a separator instead of a comma.
The possible attribute types supported are:IBM MQ only accepts uppercase letters for the attribute types.Attribute Description SERIALNUMBER Certificate serial number MAIL Email address E Email address (Deprecated in preference to MAIL) UID or USERID User identifier CN Common Name T Title OU Organizational Unit name DC Domain component O Organization name STREET Street / First line of address L Locality name ST (or SP or S) State or Province name PC Postal code / zip code C Country UNSTRUCTUREDNAME Host name UNSTRUCTUREDADDRESS IP address DNQ Distinguished name qualifier If any of the unsupported attribute types are specified in the SSLPEER string, an error is output either when the attribute is defined or at run time (depending on which platform you are running on), and the string is deemed not to have matched the Distinguished Name of the flowed certificate.
If the Distinguished Name of the flowed certificate contains multiple OU (organizational unit) attributes, and SSLPEER specifies these attributes to be compared, they must be defined in descending hierarchical order. For example, if the Distinguished Name of the flowed certificate contains the OUsOU=Large Unit,OU=Medium Unit,OU=Small Unit
, specifying the following SSLPEER values work:
but specifying the following SSLPEER values fail:('OU=Large Unit,OU=Medium Unit') ('OU=*,OU=Medium Unit,OU=Small Unit') ('OU=*,OU=Medium Unit')
('OU=Medium Unit,OU=Small Unit') ('OU=Large Unit,OU=Small Unit') ('OU=Medium Unit')
Any or all the attribute values can be generic, either an asterisk (*) on its own, or a stem with initiating or trailing asterisks. This value allows the SSLPEER to match any Distinguished Name value, or any value starting with the stem for that attribute.
If an asterisk is specified at the beginning or end of any attribute value in the Distinguished Name on the certificate, you can specify \* to check for an exact match in SSLPEER. For example, if you have an attribute of CN=Test* in the Distinguished Name of the certificate, you can use the following command:
SSLPEER('CN=Test\*')
TpName
(MQCFST)- Transaction program name (parameter identifier: MQCACH_TP_NAME).
This name is the LU 6.2 transaction program name.
The maximum length of the string is MQ_TP_NAME_LENGTH.- On IBM i, HP Integrity NonStop Server, UNIX systems, and Windows, this parameter can be set only to blanks. The actual name is taken instead from the CPI-C Communications Side Object or (on Windows ) from the CPI-C symbolic destination name properties.
This parameter is valid only for channels with a
TransportType
of MQXPT_LU62. It is not valid for receiver channels.
-
TPRoot
(MQCFST) - Topic root for an AMQP channel. (parameter identifier: MQCACH_TOPIC_ROOT).
The default value for TPRoot is SYSTEM.BASE.TOPIC. With this value, the topic string an AMQP client uses to publish or subscribe has no prefix, and the client can exchange messages with other MQ pub/sub applications. To have AMQP clients publish and subscribe under a topic prefix, first create an MQ topic object with a topic string set to the prefix you want, then set TPRoot to the name of the MQ topic object you created.
This parameter is valid only for AMQP channels.
TransportType
(MQCFIN)- Transmission protocol type (parameter identifier: MQIACH_XMIT_PROTOCOL_TYPE). No check is made that the correct transport type has been specified if the channel is initiated from the other end. The value can be any of the following values:
- MQXPT_LU62
- LU 6.2.
- MQXPT_TCP
- TCP.
- MQXPT_NETBIOS
- NetBIOS.
This value is supported in Windows. It also applies to z/OS for defining client-connection channels that connect to servers on the platforms supporting NetBIOS.
- MQXPT_SPX
- SPX.
This value is supported in Windows. It also applies to z/OS for defining client-connection channels that connect to servers on the platforms supporting SPX.
-
UseCltId
(MQCFIN) - Determines how authorization checks are done for AMQP channels. (parameter identifier:
MQIACH_USE_CLIENT_ID).
Specifies that the client ID should be used for authorization checks for an AMQP channel, instead of the MCAUSER attribute value.
This parameter is valid only for AMQP channels.
UseDLQ
(MQCFIN)- Determines whether the dead-letter queue is used when messages
cannot be delivered by channels. (parameter identifier: MQIA_USE_DEAD_LETTER_Q). The value can be any of the following values:
- MQUSEDLQ_NO
- Messages that cannot be delivered by a channel are treated as a failure. The channel either discards the message, or the channel ends, in accordance with the NonPersistentMsgSpeed setting.
- MQUSEDLQ_YES
- When the DEADQ queue manager attribute provides the name of a dead-letter queue, then it is used, else the behavior is as for MQUSEDLQ_NO.
UserIdentifier
(MQCFST)- Task user identifier (parameter identifier: MQCACH_USER_ID).
This parameter is used by the message channel agent when attempting to initiate a secure SNA session with a remote message channel agent. On IBM i and UNIX systems, it is valid only for
ChannelType
values of MQCHT_SENDER, MQCHT_SERVER, MQCHT_REQUESTER, MQCHT_CLNTCONN, MQCHT_CLUSSDR, or MQCHT_CLUSRCVR. On z/OS, it is valid only for aChannelType
value of MQCHT_CLNTCONN.The maximum length of the string is MQ_USER_ID_LENGTH. However, only the first 10 characters are used.
XmitQName
(MQCFST)- Transmission queue name (parameter identifier: MQCACH_XMIT_Q_NAME).
The maximum length of the string is MQ_Q_NAME_LENGTH.
A transmission queue name is required (either previously defined or specified here) if
ChannelType
is MQCHT_SENDER or MQCHT_SERVER. It is not valid for other channel types.
Error codes (Change, Copy, and Create Channel)
This command might return the following error codes in the response format header, in addition to those codes listed in Error codes applicable to all commands.
Reason
(MQLONG)- The value can be any of the following values:
- MQRCCF_BATCH_INT_ERROR
- Batch interval not valid.
- MQRCCF_BATCH_INT_WRONG_TYPE
- Batch interval parameter not allowed for this channel type.
- MQRCCF_BATCH_SIZE_ERROR
- Batch size not valid.
- MQRCCF_CHANNEL_NAME_ERROR
- Channel name error.
- MQRCCF_CHANNEL_NOT_FOUND
- Channel not found.
- MQRCCF_CHANNEL_TYPE_ERROR
- Channel type not valid.
- MQRCCF_CLUSTER_NAME_CONFLICT
- Cluster name conflict.
- MQRCCF_DISC_INT_ERROR
- Disconnection interval not valid.
- MQRCCF_DISC_INT_WRONG_TYPE
- Disconnection interval not allowed for this channel type.
- MQRCCF_HB_INTERVAL_ERROR
- Heartbeat interval not valid.
- MQRCCF_HB_INTERVAL_WRONG_TYPE
- Heartbeat interval parameter not allowed for this channel type.
- MQRCCF_LONG_RETRY_ERROR
- Long retry count not valid.
- MQRCCF_LONG_RETRY_WRONG_TYPE
- Long retry parameter not allowed for this channel type.
- MQRCCF_LONG_TIMER_ERROR
- Long timer not valid.
- MQRCCF_LONG_TIMER_WRONG_TYPE
- Long timer parameter not allowed for this channel type.
- MQRCCF_MAX_INSTANCES_ERROR
- Maximum instances value not valid.
- MQRCCF_MAX_INSTS_PER_CLNT_ERR
- Maximum instances per client value not valid.
- MQRCCF_MAX_MSG_LENGTH_ERROR
- Maximum message length not valid.
- MQRCCF_MCA_NAME_ERROR
- Message channel agent name error.
- MQRCCF_MCA_NAME_WRONG_TYPE
- Message channel agent name not allowed for this channel type.
- MQRCCF_MCA_TYPE_ERROR
- Message channel agent type not valid.
- MQRCCF_MISSING_CONN_NAME
- Connection name parameter required but missing.
- MQRCCF_MR_COUNT_ERROR
- Message retry count not valid.
- MQRCCF_MR_COUNT_WRONG_TYPE
- Message-retry count parameter not allowed for this channel type.
- MQRCCF_MR_EXIT_NAME_ERROR
- Channel message-retry exit name error.
- MQRCCF_MR_EXIT_NAME_WRONG_TYPE
- Message-retry exit parameter not allowed for this channel type.
- MQRCCF_MR_INTERVAL_ERROR
- Message retry interval not valid.
- MQRCCF_MR_INTERVAL_WRONG_TYPE
- Message-retry interval parameter not allowed for this channel type.
- MQRCCF_MSG_EXIT_NAME_ERROR
- Channel message exit name error.
- MQRCCF_NET_PRIORITY_ERROR
- Network priority value error.
- MQRCCF_NET_PRIORITY_WRONG_TYPE
- Network priority attribute not allowed for this channel type.
- MQRCCF_NPM_SPEED_ERROR
- Nonpersistent message speed not valid.
- MQRCCF_NPM_SPEED_WRONG_TYPE
- Nonpersistent message speed parameter not allowed for this channel type.
- MQRCCF_PARM_SEQUENCE_ERROR
- Parameter sequence not valid.
- MQRCCF_PUT_AUTH_ERROR
- Put authority value not valid.
- MQRCCF_PUT_AUTH_WRONG_TYPE
- Put authority parameter not allowed for this channel type.
- MQRCCF_RCV_EXIT_NAME_ERROR
- Channel receive exit name error.
- MQRCCF_SEC_EXIT_NAME_ERROR
- Channel security exit name error.
- MQRCCF_SEND_EXIT_NAME_ERROR
- Channel send exit name error.
- MQRCCF_SEQ_NUMBER_WRAP_ERROR
- Sequence wrap number not valid.
- MQRCCF_SHARING_CONVS_ERROR
- Value given for Sharing Conversations not valid.
- MQRCCF_SHARING_CONVS_TYPE
- Sharing Conversations parameter not valid for this channel type.
- MQRCCF_SHORT_RETRY_ERROR
- Short retry count not valid.
- MQRCCF_SHORT_RETRY_WRONG_TYPE
- Short retry parameter not allowed for this channel type.
- MQRCCF_SHORT_TIMER_ERROR
- Short timer value not valid.
- MQRCCF_SHORT_TIMER_WRONG_TYPE
- Short timer parameter not allowed for this channel type.
- MQRCCF_SSL_CIPHER_SPEC_ERROR
- SSL CipherSpec not valid.
- MQRCCF_SSL_CLIENT_AUTH_ERROR
- SSL client authentication not valid.
- MQRCCF_SSL_PEER_NAME_ERROR
- SSL peer name not valid.
- MQRCCF_WRONG_CHANNEL_TYPE
- Parameter not allowed for this channel type.
- MQRCCF_XMIT_PROTOCOL_TYPE_ERR
- Transmission protocol type not valid.
- MQRCCF_XMIT_Q_NAME_ERROR
- Transmission queue name error.
- MQRCCF_XMIT_Q_NAME_WRONG_TYPE
- Transmission queue name not allowed for this channel type.