使用WebSphere MQ我想设置一个使用队列的主题,以便当应用程序或入站集群连接尝试将消息发送到“队列”时, 实际上使用一个主题,并将其发布到2个订阅,即 他们自己2个独立的队列。从本质上讲,我想从入境出发 按名称排队,但将其映射到2个单独的队列,如
AF_TO_DAAS是入站主题/今天是实际的 群集队列别名
=>转到AF_TO_APP1和
=>转到AF_TO_APP2
如果这些是我认为的分发列表中的队列,那就好了。
这两件事是本地队列。
我迷失在/ topic / node业务中,将其映射到订阅 和模型队列,什么不...
答案 0 :(得分:4)
WebSphere MQ允许别名指向队列或主题。它还提供了一种在管理上创建持久订阅的方法。要完成此设置,请通过将现有别名替换为指向主题的别名来连接点。然后使用两个管理订阅将发布路由到两个(或更多)队列。
* First, define the topic
DEFINE TOPIC('AF_TO_DAAS.TOPIC') +
TOPICSTR('AF_TO_DAAS') +
REPLACE
* Now, create an alias over the topic.
* Sending apps think this is a queue.
DEFINE QALIAS('AF_TO_DAAS') +
TARGET('AF_TO_DAAS.TOPIC') +
TARGTYPE(TOPIC) +
REPLACE
* Queues for the two recvr apps
DEFINE QLOCAL('AF_TO_APP1') +
REPLACE
DEFINE QLOCAL('AF_TO_APP2') +
REPLACE
* Now set up adminsitrative subs to route
* messages to the two app queues.
DEFINE SUB('AF_TO_DAAS.SUB') +
TOPICSTR('') +
TOPICOBJ('AF_TO_DAAS.TOPIC') +
DEST('AF_TO_APP1') +
PSPROP(NONE) +
REPLACE
DEFINE SUB('AF_TO_APP2.SUB') +
TOPICSTR('') +
TOPICOBJ('AF_TO_DAAS.TOPIC') +
DEST('AF_TO_APP2') +
PSPROP(NONE) +
REPLACE
因为这是一个发布,所以消息将包含一个包含主题字符串的属性Top
。订阅条目中的PSPROP(NONE)
会导致此操作被禁止,因此消息看起来像原始发布。
另请注意,出版物上的MQMD.MsgID
与不同,而不是原始邮件。