如何在 IBM Websphere MQ 中创建指向队列的别名主题?

Posted

技术标签:

【中文标题】如何在 IBM Websphere MQ 中创建指向队列的别名主题?【英文标题】:How to create an alias topic pointing to a queue in IBM Websphere MQ? 【发布时间】:2016-06-21 14:06:16 【问题描述】:

我正在尝试通过 MQTT 协议在使用 WebSphere MQ 队列的应用程序和使用 Websphere MQ 主题的 nodeJS 应用程序之间发送消息。

我知道我们可以创建一个别名队列:

指向一个主题(在这种情况下,应用程序通过别名队列监听新发布), 指向另一个队列。

现在,我想要相反的过程:

如何创建指向队列的别名主题? 在这种情况下,nodeJS 应用程序将能够通过别名主题从另一个将消息推送到原始队列的应用程序来监听传入的消息。

配置:

WebSphere v7.5 节点 v5.5.0 协议 MQTT v3

【问题讨论】:

您能否更新您的问题,提供更多关于场景的详细信息?指向队列的别名主题对您的案例有何帮助? 【参考方案1】:

终于,我自己找到了答案。

为了解决这个问题,我必须创建一个订阅,指定主题源和队列目标。为此,在 IBM WebSphere MQ Explorer 中:

进入导航器 -> IBM WebSphereMQ -> 队列管理器 -> 选择您的队列 -> 订阅 -> 新建 -> 订阅 输入您的订阅名称 -> 点击“下一步” 输入/选择默认属性“SYSTEM.DEFAULT.SUB” 输入主题名称(可以在右侧按钮中现有的选项中选择) 输入现有队列目标的名称 点击“终止”

就是这样!制作它有最低限度的先决条件,但您可以指定其他选项。 您可以通过此链接查看文档中的订阅属性: https://www.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.explorer.doc/e_properties_subs.htm

注意:说明文字可能略有不同,因为我将 Websphere MQ 软件的功能从法语翻译成英语来回答这个帖子。

(编辑)解释:

我的 NodeJS 应用程序必须以两种方式(发布/接收)与其他应用程序进行通信。 正如@Shashi 在 cmets 中所说,MQTT 协议基本上只适用于发布/订阅模型。 但是,它能够与队列通信感谢 IBM WebSphere MQ 软件的“订阅”功能,正如我之前解释的那样。

确实,据我了解,“订阅”功能是一种“桥梁”链接/转换主题(对于 NodeJS)到目标队列(对于应用程序)。

这与 AliasQueue 在 IBM Websphere MQ 中的主题相反:

“别名也可以解析为主题。如果应用当前将消息放入队列,则可以通过将队列名称设为主题的别名来发布到主题。无需更改应用代码是必要的。” (from the documentation)

【讨论】:

你的NodeJS应用是发布消息还是接收消息?据我所知,MQTT 协议仅适用于发布/订阅模型,尚不适用于队列。所以想知道 NodeJS 应用程序如何能够从队列中接收消息。

以上是关于如何在 IBM Websphere MQ 中创建指向队列的别名主题?的主要内容,如果未能解决你的问题,请参考以下文章

如何正确设置IBM WebSphere MQ 实现群发消息

IBM WebSphere MQ请求/回复方案

IBM websphere MQ 消息发送与获取

IBM WebSphere MQ 请求/回复场景

IBM WebSphere MQ安装集成

IBM WebSphere MQ安装集成