Monitoring 如何配置IIB 10以将监视事件消息作为persistent发布到持久性MQ队列?

Monitoring 如何配置IIB 10以将监视事件消息作为persistent发布到持久性MQ队列?,monitoring,ibm-mq,ibm-integration-bus,Monitoring,Ibm Mq,Ibm Integration Bus,我想配置IIB 10和MQ 8,以便将发布的监视事件消息持久化到持久化MQ队列中 手册载于: 有一张便条说: 默认情况下,发布解析为非持久性,但您可以通过在WebSphere®MQ中配置命名主题将发布更改为持久性。有关详细信息,请参阅中的订阅和消息持久性主题 不幸的是,这种对MQ旧版本的奇怪引用毫无意义 我阅读了MQ手册,该手册在Explorer中定义了主题定义中的字段,但没有帮助,因为“默认持久性”要求发布者使用MQPER\u persistence\u AS\u Q\u DEF。由于IIB的

我想配置IIB 10和MQ 8,以便将发布的监视事件消息持久化到持久化MQ队列中

手册载于: 有一张便条说:

默认情况下,发布解析为非持久性,但您可以通过在WebSphere®MQ中配置命名主题将发布更改为持久性。有关详细信息,请参阅中的订阅和消息持久性主题

不幸的是,这种对MQ旧版本的奇怪引用毫无意义

我阅读了MQ手册,该手册在Explorer中定义了主题定义中的字段,但没有帮助,因为“默认持久性”要求发布者使用
MQPER\u persistence\u AS\u Q\u DE
F。由于IIB的默认值为“not persistent”,我必须假设它没有使用此选项

如果有人能告诉我如何覆盖它并将persitent消息写入持久队列,我将非常感激

FWIW 我最初认为,将队列定义为持久性来接收事件消息会起到作用,但事实并非如此。
接下来,我尝试定义一个主题
XXX
,主题字符串
$SYS/Broker/int sver/monitoring/+/++
,将“默认持久性”设置为“Persistent”,这也不起作用。

您提到文档状态“出版物默认情况下解析为非持久性”,这并不意味着它们使用
MQPERU not_Persistent
,很可能他们使用
MQPER_PERSISTENCE\u作为_Q_DEF
或根本不指定任何内容,在这种情况下,默认情况与指定了
MQPER_PERSISTENCE\u作为_Q_DEF
时相同

问题在于您的主题字符串。主题对象是树中叶子的锚。它适用于该叶下的任何内容,除非应用了更具体的主题对象。因此,在您的例子中,字符串应该是
$SYS/Broker/int sver/monitoring
,末尾不带
/+/++

+
是一个通配符,通配符只在订阅时起作用,而不在主题上起作用


您可以在IBM MQ v8.0知识中心页面中找到更多信息:

主题对象是一个IBM®MQ对象,允许您分配 主题的特定、非默认属性

主题由发布或订阅主题的应用程序定义 特定主题字符串。主题字符串可以指定主题的层次结构 通过使用正斜杠(/)分隔主题。这个可以 可以通过主题树进行可视化。例如,如果应用程序 发布到主题字符串/运动/美式足球和 /运动/足球,将创建具有父节点的主题树 有两个孩子的运动,美式足球和足球

主题从第一个父管理对象继承其属性 在主题树中找到节点。如果没有管理主题 节点,则所有主题都将继承其 基本主题对象SYSTEM.base.topic的属性

您可以通过以下方式在主题树中的任何节点上创建主题对象: 在的TOPICSTR属性中指定该节点的主题字符串 主题对象。您还可以为对象定义其他属性 管理主题节点。如需有关这些的更多信息 属性,请参见, 或者。 默认情况下,每个主题对象将继承其属性 最近的父管理主题节点

主题对象还可用于隐藏完整的主题树,以防 应用程序开发人员。如果创建了名为FOOTBALL.US的主题对象 对于主题/运动/美式足球,应用程序可以发布或 订阅名为FOOTBALL.US的对象,而不是字符串 /体育/美式足球也有同样的结果

如果您在 主题对象中,该角色在 字符串,并被视为主题字符串的一部分 与主题对象关联

有关主题对象的详细信息,请参见


我能找到的最接近MQ v8.0上IIB KC中链接的页面是IBM MQ知识中心页面:

消息持久性 --

队列管理器维护其发布的持久性 转发到发布服务器设置的订阅服务器。出版商设置了 持久性是以下选项之一:

0
非持久性

1
持久的

2
持久性作为队列/主题定义

对于发布/订阅,发布者解析主题对象并 主题字符串到已解析的主题对象。如果发布者指定 作为队列/主题定义的持久性,然后是默认的持久性 从中,为发布设置已解析的主题对象


本文解释了如何生成和订阅代理生成的事件消息。 它不在文本中,但我认为生成的消息是持久的


在订阅队列中还可以设置DEFPSIST(是)

@JoshMc非常感谢。解决了的。我每天都在学习!我在topic SYSTEM.BASE.topic中有一个以“/#”结尾的现有子项,该子项将非持久性指定为默认值。从新主题中删除“+/+”。它将“persistent”指定为默认值,结果是已发布的消息是持久的。我正在开发一些东西来确认事件消息,到目前为止,我使用的是直接JMS子系统,队列是一个调试辅助工具。现在我还需要从一个perssitent队列中消费,所以我想知道这是可以做到的。如果你能提供一个简短的答复,我会将其标记为解决方案。John,我添加了一个答案,其中包含了我评论中的详细信息。请注意,在您引用的IIB页面底部,您可以单击“反馈”并选择“向IBM知识中心支持发送电子邮件”,以直接向维护KC信息的团队发送电子邮件。我继续这样做,并指出他们的链接,我发现,可能是什么最初的链接。你可能想做同样的事情,因为它可以得到m