更改,复制和创建预订

"更改预订 PCF" 命令可更改现有预订定义。 "复制" 和 "创建预订" 命令创建新的预订定义-"复制" 命令使用现有预订定义的属性值。

"更改预订" (MQCMD_CHANGE_SUBSCRIPTION) 命令用于更改现有 IBM® MQ 预订的指定属性。 对于省略的任何可选参数,该值不会更改。

"复制预订" (MQCMD_COPY_SUBSCRIPTION) 命令使用现有预订的属性值 (对于命令中未指定的属性) 来创建 IBM MQ 预订。

"创建预订" (MQCMD_CREATE_SUBSCRIPTION) 命令创建 IBM MQ 管理预订,以便现有应用程序可以参与发布/预订应用程序。

必需参数 (更改预订)

SubName (MQCFST)
要更改的预订定义的名称 (参数标识 :MQCACF_SUB_NAME)。

字符串的最大长度为 MQ_SUB_NAME_LENGTH。

SubId (MQCFBS)
要更改的预订定义的唯一标识 (参数标识 :MQBACF_SUB_ID)。

字符串的最大长度为 MQ_CORREL_ID_LENGTH。

必需参数 (复制预订)

ToSubscriptionName(MQCFBS)
要复制到的预订的名称 (参数标识 :MQCACF_TO_SUB_NAME)。

字符串的最大长度为 MQ_SUB_NAME_LENGTH。

您至少需要 FromSubscriptionNameSubId中的一个。

FromSubscriptionName(MQCFST)
要从中复制的预订定义的名称 (参数标识 :MQCACF_FROM_SUB_NAME)。

[z/OS]z/OS® 上,队列管理器会搜索具有您指定的名称和 MQQSGD_Q_MGR 或 MQQSGD_COPY 处置的对象,以便从该对象复制。 如果为 QSGDisposition指定了值 MQQSGD_COPY ,那么将忽略此参数。 在此情况下,将使用具有 ToSubscriptionName 指定的名称和处置 MQQSGD_GROUP 的对象。

字符串的最大长度为 MQ_SUB_NAME_LENGTH。

SubId (MQCFBS)
要更改的预订定义的唯一标识 (参数标识 :MQBACF_SUB_ID)。

字符串的最大长度为 MQ_CORREL_ID_LENGTH。

必需参数 (创建预订)

您必须提供 SubName

SubName (MQCFST)
要更改的预订定义的名称 (参数标识 :MQCACF_SUB_NAME)。

字符串的最大长度为 MQ_SUB_NAME_LENGTH。

您至少需要 TopicObjectTopicString中的一个。

TopicObject (MQCFST)
先前定义的主题对象的名称,从该对象获取预订的主题名称 (参数标识 :MQCA_TOPIC_NAME)。 虽然接受该参数,但指定的值不能与 "更改预订" 的原始值不同。

字符串的最大长度为 MQ_TOPIC_NAME_LENGTH。

TopicString (MQCFST)
已解析的主题字符串 (参数标识 :MQCA_TOPIC_STRING)。

字符串的最大长度为 MQ_TOPIC_STR_LENGTH。

可选参数 ("更改" , "复制" 和 "创建预订")

[z/OS]
CommandScope (MQCFST)
命令作用域 (参数标识 :MQCACF_COMMAND_SCOPE)。 此参数仅适用于 z/OS
指定当队列管理器是队列共享组的成员时如何处理命令。 可以指定下列之一:
  • 空白 (或完全省略参数)。 在输入此命令的队列管理器上处理此命令。
  • 队列管理器名称。 在您指定的队列管理器上处理该命令,前提是该命令在队列共享组中处于活动状态。 如果指定的队列管理器名称不是输入该队列管理器的队列管理器,那么必须使用队列共享组环境,并且必须启用命令服务器。
  • 星号 (*)。 该命令在本地队列管理器上进行处理,并且还会传递到队列共享组中的每个活动队列管理器。

最大长度为 MQ_QSG_NAME_LENGTH。

目标 (MQCFST)
目标 (参数标识 :MQCACF_DESTINATION)。

指定此预订的消息所放入的别名队列、本地队列、远程队列或集群队列的名称。

如果 DestinationClass 设置为 MQDC_PROVIDED ,那么此参数是必需的,但如果 DestinationClass 设置为 MQDC_MANAGED ,那么此参数不适用。

DestinationClass (MQCFIN)
目标类 (参数标识 :MQIACF_DESTINATION_CLASS)。

指定是否管理目标。

指定下列其中一项:
MQDC_MANAGED
目标是受管目标。
MQDC_PROVIDED
目标队列在 Destination 字段中指定。
虽然接受该参数,但指定的值不能与 "更改预订" 的原始值不同。
DestinationCorrelId(MQCFBS)
目标相关标识 (参数标识 :MQBACF_DESTINATION_CORREL_ID)。

提供一个相关标识,该标识放置在发送到此预订的所有消息的消息描述符的 CorrelId 字段中。

最大长度为 MQ_CORREL_ID_LENGTH。

DestinationQueueManager(MQCFST)
目标队列管理器 (参数标识 :MQCACF_DESTINATION_Q_MGR)。

指定要将预订的消息转发到的目标队列管理器 (本地或远程) 的名称。

字符串的最大长度为 MQ_Q_MGR_NAME_LENGTH。

到期 (MQCFIN)
预订在其创建日期和时间之后到期的时间 (以十分之一秒为单位) (参数标识 :MQIACF_EXPIRY)。

MQEI_UNLIMITED 的缺省值表示预订永不到期。

在预订到期后,它将有资格被队列管理器废弃,并且不再接收任何其他发布。

PublishedAccountingToken(MQCFBS)
消息描述符 (参数标识 :MQBACF_ACCOUNTING_TOKEN) 的 AccountingToken 字段中使用的记帐令牌的值。

字符串的最大长度为 MQ_ACCOUNTING_TOKEN_LENGTH。

PublishedApplicationIdentifier(MQCFST)
消息描述符 (参数标识 :MQCACF_APPL_IDENTITY_DATA) 的 ApplIdentityData 字段中使用的应用程序身份数据的值。

字符串的最大长度为 MQ_APPL_IDENTITY_DATA_LENGTH。

PublishPriority (MQCFIN)
发送到此预订的消息的优先级 (参数标识 :MQIACF_PUB_PRIORITY)。
值可以是:
MQPRI_PRIORITY_AS_PUBLISHED
发送到此预订的消息的优先级从提供给已发布消息的优先级中获取。 此值是提供的缺省值。
MQPRI_PRIORITY_AS_QDEF
发送到此预订的消息的优先级由定义为目标的队列的缺省优先级确定。
0-9
为发送到此预订的消息提供显式优先级的整数值。
PublishSubscribeProperties(MQCFIN)
指定如何将发布/预订相关消息属性添加到发送到此预订的消息 (参数标识 :MQIACF_PUBSUB_PROPERTIES)。
值可以是:
MQPSPROP_COMPAT
如果原始发布是 PCF 消息,那么会将发布/预订属性添加为 PCF 属性。 否则,将在 MQRFH 版本 1 头中添加发布/预订属性。 此方法与为与先前版本的 IBM MQ配合使用而编码的应用程序兼容。
MQPSPROP_NONE
请勿向消息添加发布/预订属性。 此值是提供的缺省值。
MQPSPROP_RFH2
将在 MQRFH V 2 头中添加发布/预订属性。 此方法与编码为用于 IBM Integration Bus的应用程序 (以前称为 WebSphere® Message Broker) 兼容。
选择器 (MQCFST)
指定应用于发布到主题的消息的选择器 (参数标识 :MQCACF_SUB_SELECTOR)。 虽然接受该参数,但指定的值不能与 "更改预订" 的原始值不同。

只有那些满足选择条件的消息才会放入此预订指定的目标。

字符串的最大长度为 MQ_SELECTOR_LENGTH。

SubscriptionLevel (MQCFIN)
进行此预订的预订拦截层次结构中的级别 (参数标识 :MQIACF_SUB_LEVEL)。 要确保拦截应用程序在任何其他订户之前接收消息,请确保它具有所有订户的最高预订级别。 虽然接受该参数,但指定的值不能与 "更改预订" 的原始值不同。
值可以是:
0 - 9
0-9 范围内的整数。 缺省值为 1。 预订级别为 9 的订户在到达预订级别较低的订户之前拦截发布。
SubscriptionScope (MQCFIN)
确定是否将此预订传递到网络中的其他队列管理器 (参数标识 :MQIACF_SUBSCRIPTION_SCOPE)。 虽然接受该参数,但指定的值不能与 "更改预订" 的原始值不同。
值可以是:
MQTSCOPE_ALL
预订将转发给直接通过发布/预订集合体或层次结构连接的所有队列管理器。 此值是提供的缺省值。
MQTSCOPE_QMGR
预订仅转发在此队列管理器中的主题上发布的消息。
SubscriptionUser (MQCFST)
"拥有" 此预订的用户标识。 此参数是与预订的创建者相关联的用户标识,或者,如果允许预订接管,那么是上次接管预订的用户标识。 (参数标识 :MQCACF_SUB_USER_ID)。

字符串的最大长度为 MQ_USER_ID_LENGTH。

TopicString (MQCFST)
已解析的主题字符串 (参数标识 :MQCA_TOPIC_STRING)。 虽然接受该参数,但指定的值不能与 "更改预订" 的原始值不同。

字符串的最大长度为 MQ_TOPIC_STR_LENGTH。

用户数据 (MQCFST)
用户数据 (参数标识 :MQCACF_SUB_USER_DATA)。

指定与预订关联的用户数据

字符串的最大长度为 MQ_USER_DATA_LENGTH。

VariableUser (MQCFST)
指定创建预订的用户以外的用户 (即, SubscriptionUser 中显示的用户) 是否可以接管预订的所有权 (参数标识 :MQIACF_VARIABLE_USER_ID)。
值可以是:
MQVU_ANY_USER
任何用户都可以接管所有权。 此值是提供的缺省值。
MQVU_FIXED_USER
没有其他用户可以接管所有权。
WildcardSchema (MQCFIN)
指定解释 TopicString 中包含的任何通配符时要使用的模式 (参数标识 :MQIACF_WILDCARD_SCHEMA)。 虽然接受该参数,但指定的值不能与 "更改预订" 的原始值不同。
值可以是:
MQWS_CHAR
通配符表示用于与 IBM MQ V6.0 代理程序兼容的部分字符串。
MQWS_TOPIC
通配符表示主题层次结构的某些部分,以便与 IBM Integration Bus兼容。 此值是提供的缺省值。