Change, Copy, and Create Channel (MQTT)
The Change Channel command changes existing Telemetry channel definitions. The Copy and Create Channel commands create new Telemetry channel definitions - the Copy command uses attribute values of an existing channel definition.
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 a WebSphere® 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 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 WebSphere 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:
- MQCHT_MQTT
- Telemetry.
TrpType
(MQCFIN)- Transmission protocol type of the channel (parameter identifier:
MQIACH_XMIT_PROTOCOL_TYPE). This parameter is required for a create
command in telemetry. No check is made that the correct transport type has been specified if the channel is initiated from the other end. The value is:
- MQXPT_TCP
- TCP.
Port
(MQCFIN)- The port number to use if
TrpType
is set to MQXPT_TCP. This parameter is required for a create command in telemetry, ifTrpType
is set to MQXPT_TCP.
Required parameters (Copy Channel)
ChannelType
(MQCFIN)- Channel type (parameter identifier: MQIACH_CHANNEL_TYPE).
Specifies the type of the channel being changed, copied, or created. The value can be:
- MQCHT_MQTT
- Telemetry.
Optional parameters (Change, Copy, and Create Channel)
Backlog
(MQCFIN)- The number of concurrent connection requests that the telemetry channel supports at any one time (parameter identifier: MQIACH_BACKLOG).
JAASConfig
(MQCFST)- The file path of the JAAS configuration (parameter identifier: MQCACH_JAAS_CONFIG).
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:
[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.
- 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 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.
SSLCipherSuite
(MQCFST)- CipherSuite (parameter identifier: MQCACH_SSL_CIPHER_SUITE).
The length of the string is MQ_SSL_CIPHER_SUITE_LENGTH.
SSL CIPHER SUITE character channel parameter type.
SSLClientAuth
(MQCFIN)- Client authentication (parameter identifier: MQIACH_SSL_CLIENT_AUTH).
The value can be:
- MQSCA_REQUIRED
- Client authentication required.
- MQSCA_OPTIONAL
- Client authentication optional.
Defines whether IBM WebSphere 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.
SSLKeyFile
(MQCFST)- The store for digital certificates and their associated private keys (parameter identifier: MQCA_SSL_KEY_REPOSITORY).
SSLPassPhrase
(MQCFST)- The password for the key repository (parameter identifier: MQCACH_SSL_KEY_PASSPHRASE).
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:
- MQXPT_LU62
- LU 6.2.
- MQXPT_TCP
- TCP.
- MQXPT_NETBIOS
- NetBIOS.
This value is supported in Windows.
- MQXPT_SPX
- SPX.
This value is supported in Windows.
UseClientIdentifier
(MQCFIN)- Determines whether to use the client ID of a new connection as the user ID for that connection (parameter identifier: MQIACH_USE_CLIENT_ID).
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:
- 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.