IBM MQ 队列属性
可以为队列设置的属性取决于队列的类型。不同类型的 IBM® MQ 队列具有不同的属性。某些属性并不适用于所有类型的队列,有些特定于集群队列,而有些则特定于 z/OS® 队列。
以下各表列出了可以为所有类型的队列设置的属性:
对于每个属性,都有一个简短描述来说明在什么情况下您可能需要配置此属性。这些表还给出了 ALTER QUEUE 和 DISPLAY QUEUE 命令的等效 MQSC 参数。有关 MQSC 命令的更多信息,请参阅联机 IBM MQ 产品文档中的MQSC 命令。
“常规”页面
下表列出了您可以在“队列属性”对话框的常规页面上设置的属性。
属性 | 描述 | MQSC 参数 |
---|---|---|
队列名称 | 只读。在创建了队列之后,您就不能更改其名称。 | QNAME |
队列类型 | 只读。在创建了队列之后,您就不能更改其类型。 | QTYPE |
QSG 处置 | (仅限 z/OS 共享队列)只读。队列的队列共享组处置。指定对象的处置(在何处定义以及行为如何)。在创建了队列之后,您就不能更改其处置。队列管理器表示对象定义仅可用于托管它的队列管理器;组意味着对象定义存储在共享库中,并且队列共享组中的每个队列管理器都有一个此定义的副本;副本意味着对象定义是队列管理器的在共享库中的定义的副本;共享意味着对象定义存储在队列共享组的耦合设施中,并且可用于队列共享组中的所有队列管理器。 | QSGDISP |
描述 | 输入此队列用途的有意义的描述。请参阅属性对话框中的字符串。 | DESCR |
放置消息 | 要允许将消息放置到队列,请单击允许;要阻止将消息放置到队列,请单击禁止。 | PUT |
获取消息 | 要允许从队列获取消息,请单击允许;要阻止从队列获取消息,请单击禁止。 | GET |
缺省优先级 | 输入放入队列的消息的缺省优先级,范围是 0 - 9;0 是最低优先级。 | DEFPRTY |
缺省持久性 | 新队列的缺省持久性是非持久。选择持久以指定使用 MQPER_PERSISTENCE_AS_Q_DEF 的应用程序所创建的消息成为持久消息。选择非持久以指定使用 MQPER_PERSISTENCE_AS_Q_DEF 的应用程序所创建的消息成为非持久消息。 | DEFPSIST |
作用域 | 要将队列放置到单元目录中并使此单元内的所有队列管理器都知道此队列,请选择单元;要限制队列的作用域以便它不扩展至队列管理器之外,请选择队列管理器。 | SCOPE |
用法 | 要使队列成为本地队列,请选择正常;要使队列成为传输队列,请选择传输。当队列中存在消息时,不要更改“用法”属性。 | USAGE |
基本类型 | 选择别名队列所解析为的对象的类型(队列或主题)。缺省值为队列。 | TARGTYPE |
远程队列 | 输入远程队列定义所指向的队列的名称。 | RNAME |
远程队列管理器 | 输入主管远程队列的队列管理器的名称。 | RQMNAME |
传输队列 | 输入本地队列管理器用来将消息发送至远程队列管理器的传输队列的名称。 | XMITQ |
“扩展”页面
下表列出了您可以在“队列属性”对话框的扩展页面上设置的属性。
属性 | 描述 | MQSC 参数 |
---|---|---|
最大队列深度 | 输入队列中允许的最大消息数。指定一个范围在 0 至 999999999 之间的值。 | MAXDEPTH |
最大消息长度 | 输入队列中允许的最大消息长度(以字节计)。在除 z/OS 以外的其他所有平台上,指定范围在 0 到队列管理器最大消息长度之间的一个值。请参考队列管理器属性中的最大消息长度属性。在 z/OS 上,指定范围在 0 到 100 MB 之间的一个值。如果 QSG 处置属性的值是共享,或者定义类型属性的值是动态共享,那么此队列的最大消息长度值必须在 0 - 4 MB 范围内。在其他平台上,指定 0 - 4 MB 范围内的值。 | MAXMSGL |
可共享性 | 要共享队列以便应用程序的多个实例可打开此队列进行输入,请选择可共享;要限制队列以便一次只有应用程序的一个实例可打开队列,请选择不可共享。 | SHARE |
缺省输入打开选项 | 要允许打开队列进行输入的应用程序对该队列上的消息进行互斥访问,请选择互斥;要允许打开队列进行输入的多个应用程序访问该队列上的消息,请选择共享。 | DEFSOPT |
消息传递顺序 | 要指定按消息的优先级顺序从队列获取消息,请选择优先级。要指定按消息放入队列的顺序从队列获取消息,请选择 FIFO(先进先出)。 | MSGDLVSQ |
保留时间间隔 | 输入从创建队列的日期和时间算起,可能需要该队列的小时数(范围是 0 - 999999999)。您可使用此信息来确定不再需要此队列的时间。不再需要此队列时,不会将它删除。 | RETINTVL |
管道名称 | (仅限z/OS 共享队列)只读。 | |
索引类型 | (仅限z/OS 共享队列)要指定队列管理器为了加快队列上 MQGET 操作速度而保留的索引类型,请选择以下五个选项之一: 无: 不保留索引。当按顺序检索消息时,请使用此项。这是缺省值。 组标识:保留组标识的索引。如果要以逻辑方式对消息组进行排序,那么必须使用此索引类型。相关标识:保留相关标识的索引。当使用相关标识字段作为 MQGET 调用上的选择标准来检索消息时,请使用此项。 消息标识: 保留消息标识的索引。当使用消息标识字段作为 MQGET 调用上的选择标准来检索消息时,请使用此项。消息令牌:保留消息令牌的索引。 |
|
定义类型 | 对于本地队列,该属性是只读的:预定义表示队列由操作员或将命令消息发送至服务队列的授权应用程序创建;永久动态表示队列由使用对象描述符(MQOD)中指定的模型队列名称发出 MQOPEN 调用的应用程序创建,并且该队列是永久的;临时动态表示队列由发出 MQOPEN 调用的应用程序创建,但该队列是临时的;共享动态(仅限z/OS)也表示队列由发出 MQOPEN 调用的应用程序创建,但该队列是永久的,并且具有共享的队列共享组处置。 对于模型队列,此属性是可编辑的;要指定根据此模型队列创建永久动态队列,请选择永久动态(在 z/OS 上,动态队列具有队列管理器处置);要指定创建临时动态队列,请选择临时动态(在 z/OS 上,动态队列具有队列管理器处置);仅在 z/OS 上,要指定创建永久动态队列并具有共享处置,请选择共享动态。 |
DEFTYPE |
缺省预读 | 要在队列级别配置预读,请选择是。非持久消息由客户机在应用程序请求这些消息之前自动预读。如果客户机异常结束或客户机应用程序未处理完它发送的所有消息,那么可能会丢失非持久消息。 要配置队列,使客户机不会自动预读非持久消息,请选择否。这是缺省值。 消息不会由客户机在应用程序请求这些消息之前自动预读。仅当客户机请求时才预读消息。如果客户机异常结束,那么最多可能丢失一条非持久消息。 要在队列级别禁用预读,请选择禁用。无论客户机应用程序是否请求了预读,消息不会由客户机在应用程序请求这些消息之前预读。 |
DEFREADA |
缺省放置响应类型 | 放置消息的缺省响应类型。要指定以同步方式放置响应,请选择同步。要指定以异步方式放置响应,请选择异步。 | DEFPRESP |
分发列表 | 要允许将分发列表消息放置到队列,请选择启用。要阻止将分发列表消息放置到队列,请选择禁用。 | DISTL |
属性控制 (仅适用于在本地队列、别名队列和模型队列上) |
此属性定义当指定了 MQGMO_PROPERTIES_AS_Q_DEF
选项时,如何处理使用 MQGET 命令从队列中检索的消息的属性。 要包含除消息描述符(或扩展)中包含的属性之外的所有消息属性,请选择全部。全部值表示在将消息发送至远程队列管理器时,消息中会包含其自身的所有属性。除消息描述符(或扩展)中的属性外,其他属性将放置在消息数据的一个或多个 MQRFH2 头中。 要允许要求消息数据的 MQRFH2 中具有与 JMS 相关的属性的应用程序在不加修改的情况下继续工作,请选择兼容性。这是缺省值。兼容性意味着,如果消息包含具有前缀 mcd.、jms.、usr. 或 mqext. 的属性,那么所有消息属性将在 MQRFH2 头中传递给应用程序。否则,将废弃除消息描述符(或扩展)中包含的属性之外的所有消息属性,并且应用程序再也无法访问这些属性。 要确保始终返回消息数据中 MQRFH2 头中的属性,请选择强制 MQRFH2。将忽略执行 MQGET 调用时 MQGMO 结构的 MsgHandle 字段中提供的有效消息句柄。无法通过该消息句柄访问消息的属性。 要废弃除消息描述符(或扩展)中包含的属性之外的所有消息属性,请选择无。此值使不支持消息属性的应用程序不会受消息中包含的任何属性的影响。 V6COMPAT - MQRFH2 头未由属性代码修改。如果已提供消息属性,但未包含在原始 MQRFH2 头中,那么会在消息句柄中返回这些属性,否则会丢弃这些属性。可通过提供某个 MQGMO_PROPERTIES 选项来覆盖此行为。 注: 对于传输队列(即用法已设置为传输的本地队列),该队列的属性控制属性不相关,并且是控制消息属性行为的相应通道对象上的属性控制属性。
|
PROPCTL |
定制 | 定制参数是保留的,用于在引入单独的属性前配置新功能。可能的值为 0 或更多属性/值对的列表,采用 MQSC 样式语法,至少由 1 个空格分隔。 属性名称和值区分大小写,并且必须使用大写形式指定。这些值可包含空格和括号,但不得包含单引号。有效语法的示例有:
队列管理器会对值进行解析,但如果无法根据这些规则对字符串进行解析,或者字符串中包含无法识别的属性或值,那么队列管理器将忽略错误。 |
CUSTOM |
集群通道名称 | 设置集群传输队列上的集群通道名称参数以覆盖集群发送方通道与集群传输队列的缺省关联。您可以指定哪些集群发送方通道从该传输队列传输消息。 所有集群发送方通道的缺省值是从单一集群传输队列 SYSTEM.CLUSTER.TRANSMISSION.QUEUE 传输消息。 您可以更改队列管理器的缺省值,以便所有集群发送方通道从不同的传输队列传输消息。队列管理器属性是缺省集群传输队列。需要时,队列管理器将自动创建不同的传输队列。队列管理器不设置集群通道名称参数 将集群通道名称参数设置为单一集群发送方通道名称或者通用名称。通用名称将多个集群发送方通道与该传输队列关联。通用名称可在名称中的任意位置包含通配符“*”。所有与该名称匹配的集群发送方通道都从该传输队列传输消息,不会从任何其他传输队列。 在 z/OS 上,如果设置了该参数,那么该队列必须可共享、按相关标识建立索引,并且不能是动态或共享队列。 |
CLCHNAME |
“集群”页面
下表列出了您可以在“队列属性”对话框的集群页面上设置的属性。要在一个或多个集群中共享队列,编辑集群页面上的属性。
属性 | 描述 | MQSC 参数 |
---|---|---|
未在集群中共享 | 要指定此队列不能通过集群连接用于其他队列管理器,请选择此选项。 | (不适用。) |
在集群中共享 | 要使此队列仅可用于一个集群中的其他队列管理器,请选择此选项,然后输入此集群的名称。 | CLUSTER |
在集群列表中共享 | 要使此队列可用于多个集群中的其他队列管理器,请选择此选项,然后输入包含该组集群的名称列表的名称。 | CLUSNL |
缺省绑定类型 | 此属性指定当应用程序在 MQOPEN 调用中指定 MQ00_BIND_AS_Q_DEF 并且队列是集群队列时要使用的绑定。要在队列打开时将队列句柄绑定至集群队列的特定实例,请选择打开时;要在使用 MQPUT 放置消息时允许队列管理器选择特定队列实例并且在以后需要时可更改此选择,请选择不固定。 | DEFBIND |
CLWL 队列排名 | 此属性是集群工作负载 (CLWL) 队列排名。输入队列在集群中的排名,范围是 0 - 9;0 是最低优先级。有关更多信息,请参阅 IBM MQ 联机产品文档中的分布式排队和集群。 | CLWLRANK |
CLWL 队列优先级 | 此属性是集群工作负载 (CLWL) 队列优先级。 输入队列在集群中的优先级,范围是 0 - 9;0 是最低优先级。有关更多信息,请参阅 IBM MQ 联机产品文档中的分布式排队和集群。 | CLWLPRTY |
CLWL 使用队列 | 集群工作负载 (CLWL) 使用队列属性。它定义 MQPUT 在目标队列具有本地实例并且还至少具有一个远程集群实例时的行为。如果放置操作起源于集群通道,那么此属性不适用。选择以下某个选项: 选择队列管理器以使用所选队列所属的队列管理器的 CLWL 使用队列属性指定的值。这是缺省值。 选择任何以使用本地队列和远程队列。 选择本地以仅使用本地队列。 有关更多信息,请参阅 IBM MQ 联机产品文档中的分布式排队和集群。 |
CLWLUSEQ |
“触发”页面
下表列出了您可以在“队列属性”对话框的触发页面上设置的属性。要配置用于触发的队列,编辑触发页面上的属性。
属性 | 描述 | MQSC 参数 |
---|---|---|
触发器控制 | 要在队列上启用触发,请选择打开,然后为此队列配置其他触发器属性;要在队列上禁用触发,请选择关闭。 | TRIGGER |
触发器类型 | 要在队列的当前深度从 0 变为 1 时触发事件,请选择第一次;要在超出队列深度阈值时触发事件,请选择深度;要在每次将消息放入队列时触发事件,请选择每次。 | TRIGTYPE |
触发器深度 | 输入必须放置到队列才能触发事件的消息数。 | TRIGDEPTH |
触发器消息优先级 | 输入消息要对触发器事件进行计数所必须具有的最低优先级,范围是 1 - 9。当队列管理器确定是否创建触发器消息时,它会忽略具有较低优先级的消息。要对触发器事件的所有消息进行计数,输入 0。 | TRIGMPRI |
触发器数据 | 输入自由格式的数据,在此队列导致触发器事件时,队列管理器将把这些数据插入触发器消息。此数据对队列管理器不重要。此数据对于处理启动队列的触发器监视器应用程序或触发器监视器启动的应用程序有意义。 | TRIGDATA |
启动队列 | 输入启动队列的名称。当符合触发器事件的条件时,队列管理器将触发器消息放置到启动队列。 | INITQ |
进程名称 | IBM MQ 进程的局部名。
此参数仅在本地队列和模型队列上才受支持。 这是进程实例的名称,它标识了在发生触发器事件时由队列管理器启动的应用程序。在定义本地队列时不必定义该进程,但该进程必须可用于要发生的触发器事件。 如果该队列是传输队列,那么该进程定义包含要启动的通道的名称。此参数是可选的,如果您未指定进程名称,那么通道名称将取自为 TRIGDATA 参数指定的值。 |
PROCESS |
“事件”页面
下表列出了您可以在“队列属性”对话框的事件页面上设置的属性。要配置队列管理器以生成事件来响应队列上的某种条件,编辑事件页面上的属性。
属性 | 描述 | MQSC 参数 |
---|---|---|
队列深度最大事件 | 在将消息放置到队列但由于队列已满而遭到拒绝时,如果要生成“队列满”事件,请选择启用。 | QDPMAXEV |
队列深度太深事件 | 在将消息放置到队列而导致队列深度大于或等于队列深度上限属性值时,如果要生成“队列深度太深”事件,请选择启用。 | QDPHIEV |
队列深度上限 | 这是用作队列深度上限的最大队列深度的百分比值。输入最大队列深度限制百分比,队列管理器将当前队列深度与此限制百分比进行比较以确定是否生成“队列深度太深”事件。 | QDEPTHHI |
队列深度不够事件 | 在从队列检索消息而导致队列深度小于或等于队列深度下限属性值时,如果要生成“队列深度不够”事件,请选择启用。 | QDPLOEV |
队列深度下限 | 这是用作队列深度下限的最大队列深度的百分比值。输入最小队列深度限制百分比,队列管理器将当前队列深度与此限制百分比进行比较以确定是否生成“队列深度不够”事件。 | QDEPTHLO |
队列服务时间间隔事件 | 当一个检查表明,至少在由队列服务时间间隔属性指定的时间内未从队列检索到任何消息时,如果要生成“队列服务时间间隔太长”事件,请选择高;当一个检查表明在由队列服务时间间隔属性指定的时间内从队列检索到消息时,如果要生成“队列服务时间间隔正常”事件,请选择正常;要禁用“队列服务时间间隔”事件,请单击无。 | QSVCIEV |
队列服务时间间隔 | 输入服务时间间隔(毫秒),范围是 0 - 999999999。 队列管理器使用此值来确定是生成“队列服务时间间隔太长”事件还是生成“队列服务时间间隔正常”事件。 | QSVCINT |
“存储器”页面
下表列出了您可以在“队列属性”对话框的存储器页面上设置的属性。要配置 IBM MQ 处理已回退消息的方式,请编辑存储器页面上的属性。
属性 | 描述 | MQSC 参数 |
---|---|---|
回退重新排队队列 | 输入在消息回退次数超出回退阈值属性中指定的次数时传送消息的目标队列的名称。 | BOQNAME |
回退阈值 | 输入在将消息传送至回退重新排队队列属性中指定的回退队列之前可回退消息的次数。 | BOTHRESH |
固化获取回退 | 要确保在重新启动队列管理器时准确保留回退计数(MQGET 调用检索消息并随后回退消息的次数),请选择固化。固化计数对性能产生不利影响,因此,只有在精确计数对您来说很重要的情况下,才选择固化。如果精确计数并不重要,请选择不固化。 | HARDENBO |
NPM 类 | 此属性指定废弃队列上非持久消息的情况。要指定在重新启动队列管理器时废弃非持久消息,请选择正常;这仅对非共享队列有效。要指定队列管理器应该尝试使非持久消息在队列的生存期内成为持久消息,请选择高;这对非共享队列和共享队列都有效;在发生故障时,非持久消息仍可能丢失。 | NPMCLASS |
存储类名称 | (仅限z/OS 共享队列)这是将队列映射至页集的存储类的名称。队列的消息存储在该页集上。您可更改此属性,但首先队列必须是空的并且已关闭。该存储类名必须以大写形式输入。 | STGCLASS |
耦合设施名称 | (仅限z/OS 共享队列)这是存储队列消息的耦合设施结构的名称。您可更改此属性,但首先队列必须是空的并且已关闭。 | CFSTRUCT |
“统计信息”页面
下表列出了“队列属性”对话框的统计信息页面上的属性。统计信息页面显示有关队列的历史记录的信息。并非可以编辑所有属性。
属性 | 描述 | MQSC 参数 |
---|---|---|
创建日期 | 只读。这是创建队列的日期。 | CRDATE |
创建时间 | 只读。这是创建队列的时间。 | CRTIME |
打开输入计数 | 只读。这是当前连接至队列以从此队列获取消息的应用程序数。 | IPPROCS |
打开输出计数 | 只读。这是当前连接至队列以将消息放置到此队列的应用程序数。 | OPPROCS |
Current®当前队列深度 | 只读。这是当前在队列上的消息数。 | CURDEPTH |
变更日期 | 只读。这是最近一次变更队列的属性的日期。 | ALTDATE |
变更时间 | 只读。这是最近一次变更队列的属性的时间。 | ALTTIME |
队列监视 | 您可以将 IBM MQ 配置为收集有关该队列当前性能的联机监视数据。要继承队列管理器的队列监视属性值(请参阅队列管理器属性),请选择队列管理器。如果队列管理器的队列监视属性是无,那么将忽略队列的队列监视属性。 如果队列管理器的队列监视器属性不是无:
有关更多信息,请参阅 IBM MQ 联机产品文档中的监控和性能。 |
MONQ |
队列统计信息 | 您可以将 IBM MQ 配置为收集有关该队列活动的统计数据。要继承队列管理器的队列统计信息属性值(请参阅队列管理器属性),请选择队列管理器。如果队列管理器的队列统计信息属性是无,那么将忽略队列的队列统计信息属性。如果队列管理器的队列统计信息属性不是无:要覆盖队列管理器的设置并阻止此队列的数据收集,请选择关闭;要覆盖队列管理器的设置并收集数据,请选择打开。有关更多信息,请参阅 IBM MQ 联机产品文档中的监控和性能。 | STATQ |
队列记帐 | 您可以将 IBM MQ 配置为收集有关该队列的连接活动的统计数据。要继承队列管理器的队列记帐属性值(请参阅队列管理器属性),请选择队列管理器。如果队列管理器的队列记帐属性是无,那么将忽略队列的队列记帐属性。如果队列管理器的队列记帐属性不是无:要覆盖队列管理器的设置并阻止此队列的数据收集,请选择关闭;要覆盖队列管理器的设置并收集数据,请选择打开。有关更多信息,请参阅 IBM MQ 联机产品文档中的监控和性能。 | ACCTQ |