ALTER 队列 (改变队列设置)

使用 MQSC ALTER 命令可更改队列的参数。 队列可以是本地队列 (ALTER QLOCAL) ,别名队列 (ALTER QALIAS) ,模型队列 (ALTER QMODEL) ,远程队列,队列管理器别名或应答队列别名 (ALTER QREMOTE)。

使用 MQSC 命令

有关如何使用 MQSC 命令的信息,请参阅 使用 MQSC 命令管理 IBM® MQ

ALTER 队列命令中未指定的参数会导致这些参数的现有值保持不变。

[z/OS]您可以从源代码 2CR发出此命令。 有关源符号的说明,请参阅 可在 IBM MQ for z/OS®上发出 MQSC 和 PCF 命令的源。

ALTER 队列的语法图

ALTER 队列的用法说明

ALTER QUEUE 的参数描述

表 1 列出了各类队列的相关参数。 在表后描述了每个参数。
队列名称
队列的本地名称,远程队列除外,该远程队列是远程队列的本地定义。
请参阅 用于命名 IBM MQ 对象的规则
ACCTQ
指定是否对队列启用记帐数据收集。 在 z/OS上,收集的数据是类 3 记帐数据 (线程级和队列级记帐)。 为了收集此队列的记帐数据,还必须启用此连接的记帐数据。 通过在 MQCONNX 调用上设置 ACCTQ 队列管理器属性或 MQCNO 结构中的选项字段来开启记帐数据收集。
QMGR
记帐数据的收集基于队列管理器定义上 ACCTQ 参数的设置。
ON
除非 ACCTQ 队列管理器参数的值为 NONE ,否则队列将启用会计数据收集功能。
[z/OS]z/OS 系统上,必须使用 START TRACE 命令启用 Class 3 会计功能。
OFF
已禁用队列的记帐数据收集。
BOQNAME(队列名称)
过多的回退重排队列名称。
此参数仅在本地队列和模型队列上才受支持。
使用此参数可设置或更改本地队列或模型队列的回退队列名称属性。 除了允许查询其值之外,队列管理器不会根据此属性的值执行任何操作。 IBM MQ classes for JMS 将回退到该队列的最大次数的消息传输到该队列。 最大值由 BOTHRESH 属性指定。
BOTHRESH(整数)
回退阈值。
此参数仅在本地队列和模型队列上才受支持。
使用此参数可设置或更改本地或模型队列的回退阈值属性的值。 除了允许查询其值之外,队列管理器不会根据此属性的值执行任何操作。 IBM MQ classes for JMS 使用该属性来确定允许回退消息的次数。 当超过该值时,会将消息传输到由 BOQNAME 属性指定的队列。
指定 0-999,999,999 范围内的值。
[MQ 9.3.1 2022 年 10 月][UNIX、Linux、Windows、IBM i]CAPEXPRY(整数)
最长时间 (以十分之一秒为单位) ,直到在解析路径中将对象句柄与此对象配合使用的消息变为适合到期处理为止。
[z/OS]重要: You cannot use the CAPEXPRY attribute introduced in IBM MQ 9.3.1 with a cluster if the full repository is on z/OS.
有关消息到期处理的更多信息,以及从较低版本的产品迁移时发生的情况,请参阅 强制缩短到期时间
整数
该值必须在范围 1 到 999 999 999 之间。
NOLIMIT
对于使用此对象放入的消息的到期时间没有限制。 这是缺省值。
如果将 CAPEXPRY 设置为 NOLIMIT ,则还可以设置 CUSTOM CAPEXPRY 属性。
请注意,在 CAPEXPRY中进行更改之前,队列中的现有消息不受更改影响 (即,其到期时间保持不变)。 只有在 CAPEXPRY 中的更改后放入队列中的新消息才具有新的到期时间。
[z/OS]CFSTRUCT(结构名)
指定在使用共享队列时要存储消息的耦合设施结构的名称。
此参数仅在本地队列和模型队列的 z/OS 上受支持。
名称:
  • 不能超过 12 个字符
  • 必须以大写字母 (A-Z) 开头
  • 只能包含字符 A-Z 和 0-9
队列管理器所连接的队列共享组的名称以您提供的名称作为前缀。 队列共享组的名称始终为 4 个字符,必要时使用 @ 符号填充。 例如,如果使用名为 NY03 的队列共享组并提供名称 PRODUCT7,那么生成的耦合设施结构名称为 NY03PRODUCT7。 队列共享组 (在本例中为 NY03CSQ_ADMIN) 的管理结构不能用于存储消息。
对于 ALTER QLOCALALTER QMODELDEFINE QLOCAL (含 REPLACE) 和 DEFINE QMODEL (含 REPLACE ) ,适用以下规则:
  • QSGDISP ( SHARED ) 的本地队列中, CFSTRUCT 不能更改。
  • 如果更改 CFSTRUCTQSGDISP 值,那么必须删除并重新定义队列。 要保留队列上的任何消息,必须先卸载消息,然后才能删除队列。 在重新定义队列后重新装入消息,或者将消息移至另一个队列。
  • 在带有 DEFTYPE ( SHAREDYN ) 的模型队列中, CFSTRUCT 不能为空。
  • QSGDISP 不是 SHARED 的本地队列上,或在 DEFTYPE 不是 SHAREDYN 的模型队列上, CFSTRUCT 的值并不重要。
对于具有 NOREPLACEDEFINE QLOCAL 和具有 NOREPLACEDEFINE QMODEL ,耦合设施结构:
  • 在带有 QSGDISP ( SHARED ) 的本地队列或带有 DEFTYPE ( SHAREDYN ) 的模型队列中, CFSTRUCT 不能为空。
  • QSGDISP 不是 SHARED 的本地队列上,或在 DEFTYPE 不是 SHAREDYN 的模型队列上, CFSTRUCT 的值并不重要。
注: 在可以使用队列之前,必须在耦合设施资源管理 (CFRM) 策略数据集中定义结构。
CLCHNAME(频道名称)

此参数仅在传输队列上受支持。

CLCHNAME 是将此队列用作传输队列的集群发送方通道的通用名称。 该属性指定哪些集群发送方通道将消息从此集群传输队列发送到集群接收方通道。
您还可以手动将传输队列属性 CLCHNAME 属性设置为集群发送方通道。 发往通过集群发送方通道连接的队列管理器的消息将存储在识别集群发送方通道的传输队列中, 而不会存储在缺省集群传输队列中。 如果将 CLCHNAME 属性设置为空白,那么通道将在通道重新启动时切换到缺省集群传输队列。 缺省队列为 SYSTEM.CLUSTER.TRANSMIT.ChannelNameSYSTEM.CLUSTER.TRANSMIT.QUEUE,具体取决于队列管理器 DEFCLXQ 属性的值。
通过在 CLCHNAME中指定星号 " * ",可以将传输队列与一组集群发送方通道相关联。 星号可以位于通道名称字符串的开头、结尾或中间任意位置。 CLCHNAME 的长度限制为 48 个字符, MQ_OBJECT_NAME_LENGTH。 通道名称限制为 20 个字符: MQ_CHANNEL_NAME_LENGTH。 如果指定星号,还必须设置 SHARE 属性,以便多个通道可以同时访问传输队列。
[z/OS] 如果在 *CLCHNAME ,要获取通道配置文件名称,必须在引号内指定通道配置文件名称。 如果未在引号内指定通用通道名称,那么将收到消息 CSQ9030E
缺省队列管理器配置是让所有集群发送方通道从单个传输队列 SYSTEM.CLUSTER.TRANSMIT.QUEUE 发送消息。 可以通过更改队列管理器属性 DEFCLXQ来修改缺省配置。 该属性的缺省值为 SCTQ。 您可以将值更改为 CHANNEL。 如果将 DEFCLXQ 属性设置为 CHANNEL ,则每个群集发送通道默认使用特定的群集传输队列 SYSTEM.CLUSTER.TRANSMIT.ChannelName
[z/OS]z/OS 上,如果设置了该参数,则队列:
  • 必须可共享,通过指定队列属性 SHARE。
  • 必须通过指定 INDXTYPE (CORRELID) 对相关标识建立索引。
  • 不能是动态队列或共享队列。
[AIX、Linux 和 Windows][z/OS]CLUSNL(名称
名称列表的名称,它指定了队列所属的一系列集群。
此参数仅在别名,本地和远程队列上受支持。
更改该参数不会影响已经打开的队列实例。

只有 CLUSNLCLUSTER 的其中一个结果值可以是非空白值; 不能同时指定这两个值的值。

在本地队列上,无法为以下队列设置此参数:
  • 传输队列
  • SYSTEM.CHANNEL.xx 队列
  • SYSTEM.CLUSTER.xx 队列
  • SYSTEM.COMMAND.xx 队列
  • [z/OS]仅在 z/OSSYSTEM.QSG.xx 队列
该参数仅在以下平台上有效:
  • AIX®, Linux®, and Windows
  • z/OS
[AIX、Linux 和 Windows][z/OS]CLUSTER(集群名称)
队列所属的集群的名称。
此参数仅在别名,本地和远程队列上受支持。
最大长度为 48 个字符,符合 IBM MQ对象的命名规则。 更改该参数不会影响已经打开的队列实例。

只有 CLUSNLCLUSTER 的其中一个结果值可以是非空白值; 不能同时指定这两个值的值。

在本地队列上,无法为以下队列设置此参数:
  • 传输队列
  • SYSTEM.CHANNEL.xx 队列
  • SYSTEM.CLUSTER.xx 队列
  • SYSTEM.COMMAND.xx 队列
  • [z/OS]仅在 z/OSSYSTEM.QSG.xx 队列
该参数仅在以下平台上有效:
  • AIX, Linux, and Windows
  • z/OS
CLWLPRTY(整数)
指定队列的优先级以用于集群工作负载分发。 此参数仅对本地,远程和别名队列有效。 该值必须在范围 0 到 9 之间,其中 0 是最低优先级, 9 是最高优先级。 有关此属性的更多信息,请参阅 CLWLPRTY 队列属性
CLWLRANK (整数)
指定队列的列组以用于集群工作负载分布。 此参数仅对本地,远程和别名队列有效。 该值必须在范围 0 到 9 之间,其中零是最低等级, 9 是最高等级。 有关此属性的更多信息,请参阅 CLWLRANK 队列属性
CLWLUSEQ
指定当目标队列具有本地实例和至少一个远程集群实例时, MQPUT 操作的行为。 当 MQPUT 源自集群通道时,此参数无效。 此参数仅对本地队列有效。
QMGR
行为由队列管理器定义的 CLWLUSEQ 参数指定。
ANY
队列管理器要将本地队列视为集群队列的另一个实例,以用于工作负载分布。
LOCAL
本地队列是 MQPUT 操作的唯一目标。
[z/OS]CMDSCOPE
此参数仅适用于 z/OS 。 它指定当队列管理器是队列共享组的成员时命令的运行位置。
CMDSCOPE 必须为空,如果 设置为 或 ,则必须为本地队列管理器。 QSGDISP GROUP SHARED
''
该命令在输入该命令的队列管理器上运行。
QmgrName
如果队列管理器在队列共享组中处于活动状态,那么该命令将在您指定的队列管理器上运行。

可以指定队列管理器名称,但输入命令的队列管理器除外。 仅当您正在使用队列共享组环境并且已启用命令服务器时,才能指定其他名称。

*
该命令在本地队列管理器上运行,并且还会传递到队列共享组中的每个活动队列管理器。 * 的效果与在队列共享组中的每个队列管理器上输入命令相同。
CUSTOM(字符串 )
该属性包含属性值,以名称和值对的形式,至少用一个空格隔开。
属性名-值对的形式为 NAME(VALUE)。 以 IBM, AMQ, CSQMQ 开头的属性名称仅供 IBM 使用。 附加保留属性为 CAPEXPRYSQGETTMRPAGEVAL。 作为管理员,您可以为自己的目的设置和使用其他名称。
最大长度由 IBM MQ 常量 MQ_CUSTOM_LENGTH 定义,在所有平台上都设置为 128。
CUSTOM 值是一个由零个或多个属性-值对组成的列表,采用 MQSC 风格的语法,至少用一个空格隔开。 属性名称和值区分大小写,并且必须使用大写形式指定。 数值可以包含空格、括号和单引号(必须用另一个单引号转义)。 其他字符,包括嵌套的括号(),也可以用两个单引号括起来。 有效语法的示例有:
  • CUSTOM('')
  • CUSTOM('A(B)')
  • CUSTOM('C(D) E(F)')
  • CUSTOM('G(5000) H(''9.20.4.6(1415)'')')
最后一种语法使用的是成对的单引号,而不是双引号。
[MQ 9.3.1 2022 年 10 月][UNIX、Linux、Windows、IBM i]注: 对于来自 IBM MQ 9.3.1IBM MQ for Multiplatforms 上的 Continuous DeliveryCAPEXPRY 队列属性取代了 CUSTOM 字段中 CAPEXPRY 选项的使用。 如果 CUSTOM 字段中已定义了 CAPEXPRY 属性,则不能设置 CAPEXPRY 属性。 您应更改现有队列,以设置新的 CAPEXPRY 字段,并从 CUSTOM 字段中取消设置 CAPEXPRY 属性。 例如:
ALTER QL(Q1) CAPEXPRY(1000) CUSTOM(' ')
有关允许值的更多信息,请参阅 CAPEXPRY.
[长期支持][z/OS]对于 IBM MQ for z/OSLong Term SupportIBM MQ for MultiplatformsCUSTOM 属性可与 CAPEXPRY 属性一起使用,具体如下。
资本支出 (整数)
最长时间 (以十分之一秒为单位) ,直到在解析路径中将对象句柄与此对象配合使用的消息变为适合到期处理为止。

有关消息到期处理的更多信息,请参阅 强制缩短到期时间

整数
该值必须在范围 1 到 999 999 999 之间。
NOLIMIT
对于使用此对象放入的消息的到期时间没有限制。 这是缺省值。
[z/OS]IBM MQ for z/OS 上,您可以使用 CUSTOM 属性设置 CAPEXPRY
例如:
ALTER QL(Q1) CUSTOM('CAPEXPRY(1000)')
例如,要取消设置 IBM MQ for z/OS 上的 CAPEXPRY 属性,请输入以下命令:
ALTER QL(Q1) CUSTOM(' ')
注意:z/OS 上,单引号之间必须留一个空格,否则命令会失败。
CAPEXPRY 指定无效的值不会导致命令失败。 而是使用缺省值。
请注意,在 CAPEXPRY中进行更改之前,队列中的现有消息不受更改影响 (即,其到期时间保持不变)。 只有在 CAPEXPRY 中的更改后放入队列中的新消息才具有新的到期时间。
DEFBIND
指定当应用程序在 MQOPEN 调用上指定 MQOO_BIND_AS_Q_DEF 时要使用的绑定,并且该队列是集群队列。
OPEN
队列打开时,队列句柄与集群队列的特定实例绑定。
NOTFIXED
队列句柄未绑定到集群队列的任何实例。 当使用 MQPUT放入消息时,队列管理器将选择特定队列实例。 如果需要,它将在以后更改该选择。
GROUP
允许应用程序请求将一组消息分配给同一个目标实例。
可以在队列管理器集群中公布具有相同名称的多个队列。 应用程序可以将所有消息发送到单个实例 MQOO_BIND_ON_OPEN。 它可以允许工作负载管理算法在每个消息的基础上选择最合适的目标 MQOO_BIND_NOT_FIXED。 它可以允许应用程序请求将一组消息全部分配给同一目标实例。 工作负载均衡在消息组之间重新选择目标,而不需要队列的 MQCLOSEMQOPEN
MQPUT1 调用的行为始终与指定 NOTFIXED 相同。
此参数在所有平台上都有效。
DEFPRESP
MQPMO 选项中的 put 响应类型设置为 MQPMO_RESPONSE_AS_Q_DEF 时,指定应用程序使用的行为。
SYNC
将操作放入指定 MQPMO_RESPONSE_AS_Q_DEF 的队列中,就像改为指定了 MQPMO_SYNC_RESPONSE 一样。
ASYNC
将操作放入指定 MQPMO_RESPONSE_AS_Q_DEF 的队列中,就像改为指定了 MQPMO_ASYNC_RESPONSE 一样; 请参阅 MQPMO 选项 (MQLONG)
DEFPRTY(整数)
放入队列中的消息的缺省优先级。 值必须在 0 - 9 范围内。 零是到 MAXPRTY 队列管理器参数的最低优先级。 MAXPRTY 的缺省值为 9。
DEFPSIST
指定应用程序指定 MQPER_PERSISTENCE_AS_Q_DEF 选项时要使用的消息持久性。
NO
此队列上的消息在队列管理器重新启动时会丢失。
YES
此队列上的消息在队列管理器重新启动时继续存在。
[z/OS]z/OS 上, NY 被接受为 NOYES 的同义词。
DEFREADA
指定传递到客户机的非持久消息的缺省预读行为。 启用预读可以提高使用非持久消息的客户机应用程序的性能。
NO
除非将客户机应用程序配置为请求预读,否则不会预读非持久消息。
YES
在应用程序请求非持久消息之前,会将这些消息发送到客户机。 如果客户机异常结束或者如果客户机未删除其发送的所有消息,那么可能会丢失非持久消息。
DISABLED
未对此队列启用非持久消息预读。 无论客户机应用程序是否请求预读,都不会将消息发送到客户机。
DEFSOPT
打开此队列以进行输入的应用程序的缺省共享选项:
EXCL
打开请求用于从队列进行独占输入。
[z/OS]z/OS 上, EXCL 是默认值。
SHARED
打开请求用于从队列进行共享输入。
[UNIX、Linux、Windows、IBM i]在多平台上, SHARED 是默认值。
DEFTYPE
队列定义类型。
此参数仅在模型队列上受支持。
PERMDYN
当应用程序发出具有对象描述符 (MQOD) 中指定的此模型队列的名称的 MQOPEN MQI 调用时,将创建永久动态队列。

[z/OS]z/OS 上,动态队列的布局为 QMGR

[z/OS]SHAREDYN
此选项仅在 z/OS 上可用。
当应用程序发出具有对象描述符 (MQOD) 中指定的此模型队列的名称的 MQOPEN API 调用时,将创建永久动态队列。
动态队列的配置为 SHARED
TEMPDYN
当应用程序发出具有在对象描述符 (MQOD) 中指定的此模型队列的名称的 MQOPEN API 调用时,将创建临时动态队列。
[z/OS]z/OS 上,动态队列的布局为 QMGR
[z/OS]对于 DEFPSIST 参数为 YES 的模型队列定义,请勿指定该值。
[z/OS]如果指定了该选项,请不要指定 INDXTYPE(MSGTOKEN)。
DESCR(字符串 )
纯文本注释。 它在操作员发出 DISPLAY QUEUE 命令时提供有关对象的描述性信息。
它必须只包含可显示的字符。 最大长度为 64 个字符。 在 DBCS 安装中,它可以包含 DBCS 字符(最大长度为 64 个字节)。
注: 使用此队列管理器的编码字符集标识 (CCSID) 中的字符。 如果不执行此操作,并且将信息发送到另一个队列管理器,那么这些信息可能转换不正确。
[AIX、Linux 和 Windows]DISTL
设置伙伴队列管理器是否支持分发列表。
YES
伙伴队列管理器支持分发列表。
NO
伙伴队列管理器不支持分发列表。
注: 您通常不会更改此参数,因为它是由 MCA 设置的。 但是,如果目标队列管理器的分发列表功能已知,那么可以在定义传输队列时设置此参数。
此参数仅在 AIX, Linux, and Windows上有效。
FORCE
此参数仅适用于别名,本地和远程队列上的 ALTER 命令。
指定此参数以在以下情况下强制完成命令。
对于别名队列,如果以下两个语句都为 true:
  • TARGET 参数指定队列
  • 应用程序已打开此别名队列
对于本地队列,如果以下两个语句均为 true:
  • 指定了 NOSHARE 参数
  • 多个应用程序打开了队列以进行输入
如果以下两个语句都为 true ,那么还需要 FORCE :
  • USAGE 参数已更改
  • 一个或多个消息位于队列上,或者一个或多个应用程序打开了队列

在队列中存在消息时,请勿更改 USAGE 参数; 将消息放入传输队列时,这些消息的格式会更改。

对于远程队列,如果以下两个语句均为 true:
  • XMITQ 参数已更改
  • 一个或多个应用程序将此队列作为远程队列打开
如果以下两个语句都为 true ,那么还需要 FORCE :
  • 已更改任何 RNAMERQMNAMEXMITQ 参数
  • 一个或多个应用程序具有通过此定义解析为队列管理器别名的队列打开
注: 如果此定义仅用作应答队列别名,那么不需要 FORCE

如果未在描述的环境中指定 FORCE ,那么该命令将失败。

使用带有 FORCE 参数的 ALTER QLOCAL 命令时, IBM MQ 会强制允许队列中已打开句柄的更改。 但是,这些现有的打开句柄会因某些属性而失效,对这些打开句柄的下一步操作将返回错误信息:
mqrc_object_changed (2041)
以下任何操作都会失败,出现错误 MQRC 2041
  • MQPUT
  • MQGET
  • MQINQ
  • MQSET
  • MQCTL
  • MQCB
您可以修复收到错误的应用程序MQRC_OBJECT_CHANGED具体步骤如下
  1. 关闭手柄 (MQCLOSE)
  2. 重新打开对象 (MQOPEN) 以选择新队列定义
GET
指定是否允许应用程序从此队列获取消息:
ENABLED
可以通过适当的授权应用程序从队列中检索消息。
DISABLED
应用程序不能从队列检索消息。
还可以使用 MQSET API 调用来更改此参数。
HARDENBONOHARDENBO
指定是否固化回退消息的次数。 当已硬化计数时,在 MQGET 操作返回消息之前,会将消息描述符的 BackoutCount 字段的值写入日志。 将该值写入日志可确保该值在队列管理器重新启动时准确无误。
此参数仅在本地队列和模型队列上才受支持。
硬化回退计数后,此队列上持久消息的 MQGET 操作的性能会受到影响。
HARDENBO
将对此队列上的消息的消息回退计数进行硬化,以确保计数准确。
NOHARDENBO
此队列上消息的消息回退计数未固化,并且在队列管理器重新启动时可能不准确。
[z/OS]注: 该参数仅影响 z/OS。 您可以在多平台上设置此参数,但此参数无效。
[UNIX、Linux、Windows、IBM i]IMGRCOVQ
指定如果正在使用线性日志记录,那么是从介质映像恢复本地动态队列对象还是永久动态队列对象。 可能的值为:
YES
这些队列对象可恢复。
这些对象不允许使用 rcdmqimg(记录媒体图像) 和 rcrmqobj (重新创建对象) 命令,而且如果启用了自动媒体图像,也不会为这些对象写入自动媒体图像。
QMGR
如果指定 QMGR ,并且队列管理器的 IMGRCOVQ 属性指定 YES ,这些队列对象是可以恢复的。
如果指定 QMGR ,并且队列管理器的 IMGRCOVQ 属性指定 NO ,则这些对象不允许使用 rcdmqimg(记录媒体图像) 和 rcrmqobj (重新创建对象) 命令,并且这些对象不会写入自动媒体图像(如果已启用)。
QMGR 为默认值。
此参数在 z/OS上无效。
[z/OS]INDXTYPE
队列管理器为加速队列上的 MQGET 操作而维护的索引类型。 对于共享队列,索引类型确定可以使用的 MQGET 操作的类型。
此参数仅在 z/OS上受支持。
此参数仅在本地队列和模型队列上才受支持。
仅当维护了相应的索引类型时,才能使用选择条件来检索消息,如下表所示:
表 2. 不同检索选择标准所需的索引类型
检索选择条件 需要索引类型
  共享队列 其他队列
无 (顺序检索) 任意 任意
消息标识 MSGIDNONE 任意
相关标识 CORRELID 任意
消息和相关标识 MSGIDCORRELID 任意
组标识 GROUPID 任意
分组 GROUPID GROUPID
消息令牌 不允许 MSGTOKEN
其中 INDXTYPE 参数的值具有以下值:
NONE
没有维护索引。 在通常按顺序检索邮件时,使用 NONE ,或在 MQGET 调用中将邮件标识符和相关标识符作为选择标准。
MSGID
维护消息标识的索引。 当通常在 MQGET 调用中使用信息标识符作为选择标准检索信息,并将相关标识符设为 NULL 时,请使用 MSGID
CORRELID
维护相关标识的索引。 当通常在 MQGET 调用中使用相关标识符作为选择标准检索报文,并将报文标识符设为 NULL 时,请使用 CORRELID
GROUPID
维护组标识的索引。 使用邮件分组选择标准检索邮件时,请使用 GROUPID
注:
  1. 如果队列是传输队列,则不能将 INDXTYPE 设置为 GROUPID
  2. 队列必须使用 CFLEVEL(3) 的 CF 结构,以指定与 INDXTYPE ( GROUPID ) 共享队列。
[z/OS] MSGTOKEN
维护消息令牌的索引。 如果队列是由 WLM 管理的队列,并与 z/OS 的工作负载管理器功能一起使用,请使用 MSGTOKEN
注意: 如果出现以下情况,则不能将 INDXTYPE 设置为 MSGTOKEN
  • 队列是一个模型队列,定义类型为 SHAREDYN
  • 队列是临时动态队列
  • 队列是传输队列
  • 您指定 QSGDISP ( SHARED )
对于未共享且不使用分组或消息标记的队列,索引类型不会限制检索选择的类型。 但是,索引用于加速队列上的 GET 操作,因此请选择与最常见的检索选择相对应的类型。
如果要变更或替换现有本地队列,那么只能在下表中指示的情况下更改 INDXTYPE 参数:
表 3. 根据队列共享和队列中是否存在消息,允许索引类型更改
队列类型 非共享 SHARED
队列状态 未落实的活动 没有未落实的活动,消息存在 没有未落实的活动,并且为空 打开或显示消息 未打开,且为空
INDXTYPE 从: 收件人: 是否允许更改?
NONE MSGID Yes Yes Yes
NONE CORRELID Yes Yes Yes
NONE MSGTOKEN Yes - -
NONE GROUPID Yes Yes
MSGID NONE Yes Yes Yes
MSGID CORRELID Yes Yes Yes
MSGID MSGTOKEN Yes - -
MSGID GROUPID Yes Yes
CORRELID NONE Yes Yes Yes
CORRELID MSGID Yes Yes Yes
CORRELID MSGTOKEN Yes - -
CORRELID GROUPID Yes Yes
MSGTOKEN NONE Yes Yes - -
MSGTOKEN MSGID Yes Yes - -
MSGTOKEN CORRELID Yes Yes - -
MSGTOKEN GROUPID Yes - -
GROUPID NONE Yes Yes
GROUPID MSGID Yes Yes
GROUPID CORRELID Yes Yes
GROUPID MSGTOKEN Yes - -
INITQ(字符串 )
此队列管理器上与此队列相关的触发器消息写入的启动队列的局部名。 请参阅 用于命名 IBM MQ 对象的规则
此参数仅在本地队列和模型队列上才受支持。
LIKE(qtype-name )
队列的名称,带有用于对此定义建模的参数。
如果未完成此字段,那么将从下列其中一个定义中获取未定义的参数字段的值。 选项取决于队列类型:
表 4. 队列类型及其相应定义
队列类型 定义
别名队列 SYSTEM.DEFAULT.ALIAS.QUEUE
本地队列 SYSTEM.DEFAULT.LOCAL.QUEUE
模型队列 SYSTEM.DEFAULT.MODEL.QUEUE
远程队列 SYSTEM.DEFAULT.REMOTE.QUEUE
例如,不完成此参数等同于为别名队列定义 LIKE 的以下值:
LIKE(SYSTEM.DEFAULT.ALIAS.QUEUE)
如果所有队列需要不同的缺省定义,请更改缺省队列定义,而不是使用 LIKE 参数。
[z/OS]z/OS 上,队列管理器会搜索名称和队列类型为 QMGRCOPYSHARED 的对象。 LIKE 对象的处置不会复制到您定义的对象中。
注:
  1. QSGDISP( GROUP ) 不搜索对象。
  2. LIKE 如果指定了 ( ),则"...... "将被忽略。 QSGDISPCOPY
[AIX、Linux 和 Windows][z/OS]MAXDEPTH(整数)
队列上允许的最大消息数。
此参数仅在本地队列和模型队列上才受支持。
在以下平台上,指定范围在 0 到 999999999 之间的值:
  • [AIX、Linux 和 Windows]AIX, Linux, and Windows
  • [z/OS]z/OS
在任何其他 IBM MQ 平台上,指定范围在 0 到 640000 之间的值。
其他因素仍会导致队列被视为已满,例如,如果没有更多可用硬盘空间。
如果减小此值,那么已在队列中超过新最大值的任何消息将保持不变。
[UNIX、Linux、Windows、IBM i]MAXFSIZE
队列文件可增长到的最大大小 (以兆字节为单位)。 如果将值配置为低于当前队列文件大小,那么队列文件可能会超过此大小。
如果发生这种情况,那么队列文件将不再接受新消息,而是允许使用现有消息。 当队列文件大小低于配置的值时,可以将新消息放入队列中。
注: 此图可能与队列上配置的属性值不同,因为队列管理器内部可能需要使用较大的块大小来达到所选大小。 请参阅 修改 IBM MQ 队列文件 ,以获取有关更改队列文件大小以及块大小和粒度的更多信息。
当由于此属性已增大而需要更改粒度时,将显示警告消息 AMQ7493WGranularity changed写入 AMQERR 日志。 这将指示您需要规划要清空的队列,以便 IBM MQ 采用新的粒度。
指定大于或等于 20 且小于或等于 267,386,880 的值。
此属性的缺省值为 DEFAULT,这等同于硬编码值 2,088,960 MB ,这是 IBM MQ 9.1.5之前的 IBM MQ 版本中队列的最大值。
MAXMSGL(整数)
此队列上消息的最大长度 (以字节计)。
此参数仅在本地队列和模型队列上才受支持。
[AIX、Linux 和 Windows]AIX, Linux, and Windows 上,为队列管理器指定一个从 0 到最大报文长度范围内的值。 请参阅 ALTER QMGR 命令的 MAXMSGL 参数 ALTER QMGR MAXMSGL
[z/OS]z/OS 上,指定一个范围在 0 到 100 MB(104 857 600 字节)之间的值。
消息长度包括用户数据的长度和头的长度。 对于放在传输队列上的消息,存在其他传输头。 对于所有消息头,允许额外的 4000 字节。
如果减小此值,那么队列中已存在的长度超过新最大值的任何消息都不会受到影响。
应用程序可以使用此参数来确定用于从队列中检索消息的缓冲区大小。 因此,仅当知道此缩减不会导致应用程序操作不正确时,才能减小该值。
请注意,通过向消息添加数字签名和密钥, Advanced Message Security 会增加消息的长度。
MONQ
控制队列联机监视数据的收集。
此参数仅在本地队列和模型队列上才受支持。
QMGR
根据队列管理器参数 MONQ的设置收集监视数据。
OFF
对此队列关闭联机监视数据收集。
LOW
如果队列管理器的 MONQ 参数值不是 NONE ,则会为该队列打开在线监控数据收集功能。
MEDIUM
如果队列管理器的 MONQ 参数值不是 NONE ,则会为该队列打开在线监控数据收集功能。
HIGH
如果队列管理器的 MONQ 参数值不是 NONE ,则会为该队列打开在线监控数据收集功能。
LOWMEDIUMHIGH 的值之间没有区别。 这些值都开启数据收集,但不影响收集速率。
ALTER 队列命令中使用此参数时,更改仅在下次打开队列时生效。
MSGDLVSQ
消息传递顺序。
此参数仅在本地队列和模型队列上才受支持。
PRIORITY
在优先级内以先进先出 (FIFO) 顺序传递消息 (响应 MQGET API 调用)。
FIFO
按 FIFO 顺序传递消息 (响应 MQGET API 调用)。 对于此队列上的消息,将忽略优先级。
当队列中有报文时,报文传送顺序参数可从 PRIORITY 更改为 FIFO 。 不会更改队列中已存在的消息的顺序。 稍后添加到队列中的消息将采用队列的缺省优先级,因此可能会在某些现有消息之前进行处理。
如果报文传送顺序从 FIFO 改为 PRIORITY ,则在队列设置为 FIFO 时放入队列的报文将获得默认优先级。
[z/OS]注: 如果 INDXTYPE(GROUPID) 与 MSGDLVSQ(PRIORITY) 一起指定,则检索组的优先级基于每个组内第一条信息的优先级。 队列管理器使用优先级 0 和 1 来优化按逻辑顺序检索消息。 每个组中的第一条消息不得使用这些优先级。 如果存在,那么会将消息存储为优先级为 2 的消息。
[UNIX、Linux、Windows、IBM i]NPMCLASS
要分配给放入队列的非持久消息的可靠性级别:
NORMAL
发生故障或队列管理器关闭后,将丢失非持久消息。 在队列管理器重新启动时,将废弃这些消息。
HIGH
队列管理器尝试通过队列管理器重新启动或切换来保留此队列上的非持久消息。
[z/OS]不能在 z/OS 上设置该参数。
PROCESS(字符串 )
IBM MQ 进程的本地名称。
此参数仅在本地队列和模型队列上才受支持。
此参数是流程实例的名称,用于标识发生触发器事件时由队列管理器启动的应用程序; 请参阅 用于命名 IBM MQ 对象的规则
在定义本地队列时,不会检查进程定义,但该进程定义必须可用才能发生触发器事件。
如果队列是传输队列,那么进程定义包含要启动的通道的名称。 对于以下平台上的传输队列,此参数是可选的:
  • [IBM i]IBM i
  • [AIX、Linux 和 Windows]AIX, Linux, and Windows
  • [z/OS]z/OS
如果未指定此参数,那么将从为 TRIGDATA 参数指定的值中获取通道名称。
PROPCTL
属性控制属性。 此属性是可选的。 它适用于本地队列,别名队列和模型队列。
注: 如果应用程序正在打开别名队列,那么必须在别名队列和目标队列上都设置此值。
PROPCTL 选项如下所示。 这些选项不会影响 MQMDMQMD 扩展中的消息属性。
ALL

设置 ALL 后,应用程序就能从 MQRFH2 头信息或信息句柄属性中读取信息的所有属性。

ALL 选项使无法更改的应用程序能够从 MQRFH2 标头访问所有报文属性。 可以更改的应用程序可以将消息的所有属性作为消息句柄的属性进行访问。

在某些情况下,接收到的消息中的 MQRFH2 头中的数据格式可能与发送消息时的格式不同。

COMPAT
设置 COMPAT 后,那些希望 JMS 相关属性出现在 MQRFH2 报文数据头中的未修改应用程序就能像以前一样继续工作。 可以更改的应用程序可以将消息的所有属性作为消息句柄的属性进行访问。
如果消息包含前缀为 mcd.jms.usr.mqext.的属性,那么所有消息属性都将传递到应用程序。 如果未提供消息句柄,那么将在 MQRFH2 头中返回属性。 如果提供了消息句柄,那么将在消息句柄中返回所有属性。
如果消息不包含具有其中一个前缀的属性,并且应用程序未提供消息句柄,那么不会将任何消息属性返回到应用程序。 如果提供了消息句柄,那么将在消息句柄中返回所有属性。

在某些情况下,接收到的消息中的 MQRFH2 头中的数据格式可能与发送消息时的格式不同。

FORCE
强制所有应用程序从 MQRFH2 头读取消息属性。
无论应用程序是否指定消息句柄,都将始终在 MQRFH2 头中的消息数据中返回属性。
将忽略 MQGET 调用上 MQGMO 结构的 MsgHandle 字段中提供的有效消息句柄。 无法使用消息句柄来访问消息的属性。

在某些情况下,接收到的消息中的 MQRFH2 头中的数据格式可能与发送消息时的格式不同。

NONE
如果提供了消息句柄,那么将在消息句柄中返回所有属性。
在将消息传递到应用程序之前,将从消息体中除去所有消息属性。
PUT
指定是否可在队列中放入消息。
ENABLED
可以将消息添加到队列 (通过适当的授权应用程序)。
DISABLED
不能向队列添加消息。
还可以使用 MQSET API 调用来更改此参数。
QDEPTHHI(整数)
用于比较队列深度以生成 "队列深度上限" 事件的阈值。
此参数仅在本地队列和模型队列上才受支持。
[z/OS]有关 z/OS 上共享队列对该事件影响的更多信息,请参阅 z/OS 上的共享队列和队列深度事件
此事件指示应用程序将消息放在队列上会导致队列上的消息数大于或等于队列深度高阈值。 请参阅 QDPHIEV 参数。
该值表示为最大队列深度 (MAXDEPTH 参数) 的百分比,并且必须在范围 0 到 100 之间且不小于 QDEPTHLO
QDEPTHLO(整数)
将队列深度与之进行比较以生成 "队列深度下限" 事件的阈值。
此参数仅在本地队列和模型队列上才受支持。
[z/OS]有关 z/OS 上共享队列对该事件影响的更多信息,请参阅 z/OS 上的共享队列和队列深度事件
此事件指示应用程序从队列中检索消息,导致队列上的消息数小于或等于队列深度下限阈值。 请参阅 QDPLOEV 参数。
该值表示为最大队列深度的百分比 (MAXDEPTH 参数) ,并且必须在范围 0 到 100 之间且不大于 QDEPTHHI
QDPHIEV
控制是否生成 "队列深度高" 事件。
此参数仅在本地队列和模型队列上才受支持。
"队列深度上限" 事件指示应用程序将消息放入队列中,导致队列上的消息数大于或等于队列深度上限阈值。 请参阅 QDEPTHHI 参数。
ENABLED
生成队列深度上限事件。
DISABLED
不生成队列深度上限事件。
注: 此参数的值可以隐式更改。

[z/OS]z/OS 上,共享队列会影响事件。

有关此事件的更多信息,请参阅 队列深度高
QDPLOEV
控制是否生成 "队列深度下限" 事件。
此参数仅在本地队列和模型队列上才受支持。
"队列深度下限" 事件指示应用程序从队列中检索消息,导致队列上的消息数小于或等于队列深度下限阈值。 请参阅 QDEPTHLO 参数。
ENABLED
生成队列深度下限事件。
DISABLED
不生成队列深度下限事件。
注: 此参数的值可以隐式更改。

[z/OS]z/OS 上,共享队列会影响事件。

有关此事件的更多信息,请参阅 队列深度下限
QDPMAXEV
控制是否生成 "队列已满" 事件。
此参数仅在本地队列和模型队列上才受支持。
"队列已满" 事件指示由于队列已满而拒绝放入队列。 队列深度达到其最大值。
ENABLED
生成队列满事件。
DISABLED
不生成队列满事件。
注: 此参数的值可以隐式更改。

[z/OS]z/OS 上,共享队列会影响事件。

有关此事件的更多信息,请参阅 队列已满
[z/OS]QSGDISP
此参数仅适用于 z/OS
指定组中对象的处置。
表 5. ALTER 的操作,具体取决于 QSGDISP的不同值。
QSGDISP 更改
COPY 对象定义位于执行该命令的队列管理器的页集上。 该对象是使用带有 QSGDISP ( COPY ) 参数的命令定义的。任何驻留在共享存储库中的对象,或使用带有 QSGDISP ( QMGR ) 参数的命令定义的对象,都不受这条命令的影响。
GROUP 对象定义位于共享存储库中。 该对象是使用带有 QSGDISP ( GROUP ) 参数的命令定义的。任何驻留在执行命令的队列管理器页面集上的对象(该对象的本地副本除外),或使用带有参数 QSGDISP ( SHARED ) 的命令定义的对象,都不受这条命令的影响。 如果该命令成功,那么将生成以下命令并将其发送到队列共享组中的所有活动队列管理器,以尝试刷新页集 0 上的本地副本:
DEFINE QUEUE(QNAME)
REPLACE QSGDISP(COPY)
无论使用 QSGDISP ( COPY ) 生成的命令是否失败,组对象的 ALTER 命令都会生效。
PRIVATE 该对象位于执行命令的队列管理器的页面集上,用 QSGDISP ( QMGR ) 或 QSGDISP ( COPY ) 定义。任何驻留在共享存储库中的对象都不会受到影响。
QMGR 对象定义位于执行该命令的队列管理器的页集上。 该对象是使用带有 QSGDISP ( QMGR ) 参数的命令定义的。任何驻留在共享存储库中的对象,或此类对象的任何本地副本,都不受这条命令的影响。
SHARED 此值仅适用于本地队列。 对象定义位于共享存储库中。 该对象是使用带有 QSGDISP ( SHARED ) 参数的命令定义的。执行命令的队列管理器页面集中的任何对象,或使用带有 QSGDISP ( GROUP ) 参数的命令定义的任何对象,都不受这条命令的影响。 如果队列是集群队列,那么将生成一个命令并将其发送到队列共享组中的所有活动队列管理器,以通知他们此集群共享队列。
QSVCIEV
控制是生成 "服务时间间隔高" 还是 "服务时间间隔正常" 事件。
仅在本地队列和模型队列上支持此参数,如果在共享队列上指定此参数,那么此参数无效。
当检查指示至少在 QSVCINT 参数指示的时间内未从队列中检索消息时,将生成 "服务时间间隔高" 事件。
当检查指示在 QSVCINT 参数指示的时间内从队列中检索消息时,将生成 "服务时间间隔正常" 事件。
注: 此参数的值可以隐式更改。 有关更多信息,请参阅 队列服务时间间隔高队列服务时间间隔好中 "服务时间间隔高" 和 "服务时间间隔好" 事件的描述。
HIGH
生成服务时间间隔高事件
OK
生成服务时间间隔正常事件
NONE
未生成服务时间间隔事件
QSVCINT(整数)
用于比较以生成 "服务时间间隔高" 和 "服务时间间隔正常" 事件的服务时间间隔。
仅在本地队列和模型队列上支持此参数,如果在共享队列上指定此参数,那么此参数无效。
请参阅 QSVCIEV 参数。
该值以毫秒为单位,必须在范围 0 到 999999999 之间。
RETINTVL(整数)
从定义队列开始的小时数,在此之后不再需要该队列。 该值必须在 0-999,999,999 范围内。
此参数仅在本地队列和模型队列上才受支持。
CRDATECRTIMEDISPLAY QUEUE 命令显示。
此信息可供操作员或清理应用程序用于删除不再需要的队列。
注: 队列管理器不会根据此值删除队列,也不会阻止队列在其保留时间间隔未到期时删除。 用户负责执行任何必需的操作。
RNAME(字符串 )
远程队列的名称。 此参数是由 RQMNAME指定的队列管理器上定义的队列的局部名。
此参数仅在远程队列上受支持。
  • 如果此定义用于远程队列的本地定义,那么当发生打开时, RNAME 不得为空。
  • 如果此定义用于队列管理器别名定义,那么当发生打开时, RNAME 必须为空白。

    在队列管理器集群中,此定义仅适用于创建此定义的队列管理器。 要将别名发布到整个集群,请将 CLUSTER 属性添加到远程队列定义。

  • 如果此定义用于应答队列别名,那么此名称是要作为应答队列的队列的名称。
不检查名称以确保它仅包含队列名称通常允许的那些字符; 请参阅 用于命名 IBM MQ 对象的规则
RQMNAME(字符串 )
定义了队列 RNAME 的远程队列管理器的名称。
此参数仅在远程队列上受支持。
  • 如果应用程序打开远程队列的本地定义,那么 RQMNAME 不得为空或本地队列管理器的名称。 当打开时,如果 XMITQ 为空白,那么必须有此名称的本地队列,该队列将用作传输队列。
  • 如果此定义用于队列管理器别名,那么 RQMNAME 是要设置别名的队列管理器的名称。 它可以是本地队列管理器的名称。 否则,如果 XMITQ 为空,那么在打开时,必须存在此名称的本地队列,该队列将用作传输队列。
  • 如果 RQMNAME 用于应答队列别名,那么 RQMNAME 是要作为应答队列管理器的队列管理器的名称。
不检查名称以确保它仅包含通常允许用于 IBM MQ 对象名称的那些字符; 请参阅 用于命名 IBM MQ 对象的规则
[AIX、Linux 和 Windows]SCOPE
指定队列定义的作用域。
此参数仅在别名,本地和远程队列上受支持。
QMGR
队列定义具有队列管理器作用域。 这意味着队列的定义不会扩展到拥有该队列的队列管理器之外。 您可以通过以下两种方式之一打开另一个队列管理器拥有的输出队列:
  1. 指定拥有队列管理器的名称。
  2. 在另一个队列管理器上打开队列的本地定义。
CELL
队列定义具有单元作用域。 单元作用域表示该队列对于单元中的所有队列管理器都是已知的。 可以仅通过指定队列的名称来打开具有单元作用域的队列以进行输出。 无需指定拥有该队列的队列管理器的名称。

如果单元目录中已有同名的队列,那么该命令将失败。 REPLACE 选项不会影响此情况。

仅当配置了支持单元目录的名称服务时,此值才有效。
限制: 不再支持 DCE 名称服务。
此参数仅在 AIX, Linux, and Windows上有效。
SHARENOSHARE
指定多个应用程序是否可以从此队列获取消息。
此参数仅在本地队列和模型队列上才受支持。
SHARE
多个应用程序实例可以从队列中获取消息。
NOSHARE
只有单个应用程序实例可以从队列中获取消息。
[MQ 9.3.0 2022 年 7 月][MQ 9.3.0 2022 年 7 月]STATQ
指定是否启用统计数据收集:
QMGR
统计信息数据收集基于队列管理器的 STATQ 参数的设置。
ON
如果队列管理器的 STATQ 参数值不是 NONE ,则会启用队列的统计数据收集功能。
[z/OS]z/OS 系统上,必须使用 START TRACE 命令启用第 5 类统计。
OFF
已禁用队列的统计信息数据收集。
如果在 ALTER 队列命令中使用此参数,那么此更改仅对在更改此参数之后与队列管理器建立的连接有效。
[z/OS]STGCLASS(字符串 )
存储类的名称。
此参数仅在本地队列和模型队列上才受支持。
注: 仅当队列为空且已关闭时,才能更改此参数。
此参数是安装定义的名称。 名称的第一个字符必须是大写 A 到 Z ,后续字符必须是大写 A 到 Z 或数字 0 到 9。
此参数仅在 z/OS上有效; 请参阅 存储类
[MQ 9.3.0 2022 年 6 月]STREAMQ
放置每条消息副本的辅助队列的名称。
注意: 如果设置 STREAMQ 属性的用户在所选流队列上没有更改权限,那么该命令将失败并返回错误消息 AMQ8135Ez/OS上的等效消息 CSQ9016E

此外,如果流队列不存在,那么将返回错误消息 AMQ8135E ( z/OS上的CSQ9016E ) ,而不是返回 AMQ8147Ez/OS上的等效消息 CSQM125I

[z/OS][MQ 9.3.1 2022 年 10 月] 有关何时可以设置 STREAMQ 的信息,请参阅流队列限制
[MQ 9.3.0 2022 年 6 月]STRMQOS
将消息传递到流式队列时要使用的服务质量。
该值可以是下列其中一项:
贝 STEF
如果可以传递原始消息,但流式消息无法传递,那么原始消息仍将传递到其队列。
这是缺省值。
必须
队列管理器确保将原始消息和流式消息都成功传递到其队列。
如果由于某种原因无法将流式消息传递到其队列,那么原始消息也不会传递到其队列。 放置应用程序接收到错误原因码,必须尝试再次放置消息。
TARGET(字符串 )
要对其进行别名的队列或主题对象的名称; 请参阅 用于命名 IBM MQ 对象的规则。 对象可以是由 TARGTYPE定义的队列或主题。 最大长度为 48 个字符。
此参数仅在别名队列上受支持。
仅当应用程序进程打开别名队列时,才需要定义此对象。
IBM WebSphere® MQ 6.0中定义的 TARGQ 参数将从 V 7.0 重命名为 TARGET ,并进行通用化以允许您指定队列或主题的名称。 TARGET 的缺省值是队列,因此 TARGET(my_queue_name)TARGQ(my_queue_name)相同。 为了与现有程序兼容,将保留 TARGQ 属性。 如果指定 TARGET,那么不能同时指定 TARGQ
TARGTYPE(字符串 )
别名解析为的对象的类型。
QUEUE (缺省值)
别名解析为队列。
TOPIC
别名解析为主题。
TRIGDATA(字符串 )
在触发器消息中插入的数据。 字符串的最大长度为 64 个字节。
此参数仅在本地队列和模型队列上才受支持。
对于传输队列,可以使用此参数来指定要启动的通道的名称。
还可以使用 MQSET API 调用来更改此参数。
TRIGDPTH(整数)
如果 TRIGTYPEDEPTH ,在写入触发报文之前队列中必须有的报文数。 该值必须在 1-999,999,999 范围内。 缺省值为 1
此参数仅在本地队列和模型队列上才受支持。
还可以使用 MQSET API 调用来更改此参数。
TRIGGERNOTRIGGER
指定是否将触发器消息写入由 INITQ 参数指定的启动队列,以触发由 PROCESS 参数指定的应用程序:
TRIGGER
触发处于活动状态,触发器消息将写入启动队列。
NOTRIGGER
触发未处于活动状态,并且触发器消息未写入启动队列。 这是缺省值。

此参数仅在本地队列和模型队列上才受支持。

还可以使用 MQSET API 调用来更改此参数。
TRIGMPRI(整数)
触发此队列的消息优先级号。 该值范围必须从 0 到 MAXPRTY 队列管理器参数;详情请参见 DISPLAY QMGR(显示队列管理器设置)。 缺省值为零。
还可以使用 MQSET API 调用来更改此参数。
TRIGTYPE
指定是否以及在什么条件下将触发器消息写入启动队列。 启动队列 (由 INITQ 参数指定)。
此参数仅在本地队列和模型队列上才受支持。
FIRST
每当第一条优先级等于或大于队列的 TRIGMPRI 参数指定的优先级的消息到达队列时。 这是缺省值。
EVERY
每次消息到达队列时,其优先级等于或大于队列的 TRIGMPRI 参数指定的优先级。
DEPTH
当优先级等于或大于 TRIGMPRI 指定的优先级的消息数等于 TRIGDPTH 参数指示的数目时。
NONE
不写入任何触发器消息。
还可以使用 MQSET API 调用来更改此参数。
USAGE
队列使用情况。
此参数仅在本地队列和模型队列上才受支持。
NORMAL
此队列不是传输队列。
XMITQ
该队列是传输队列,用于保存以远程队列管理器为目标的消息。 当应用程序将消息放入远程队列时,该消息将存储在相应的传输队列上。 它停留在那里,等待传输到远程队列管理器。

如果指定此选项,请勿指定 CLUSTERCLUSNL的值。

[z/OS]此外,在 z/OS 上,不要指定 INDXTYPE(MSGTOKEN) 或 INDXTYPE(GROUPID)。

XMITQ(字符串 )
要用于将消息转发到远程队列的传输队列的名称。 XMITQ 与远程队列或队列管理器别名定义配合使用。
此参数仅在远程队列上受支持。
如果 XMITQ 为空,那么将使用与 RQMNAME 同名的队列作为传输队列。
如果定义用作队列管理器别名,并且 RQMNAME 是本地队列管理器的名称,那么将忽略此参数。
如果此定义用作应答队列别名定义,那么也忽略它。