WebSphere MQ V7 发布/订阅技术
主题(Topic)和订阅(Subscription)是发布/订阅中重要的对象,MQ V7 把它们作为新增加的对象并整合到队列管理器中。本文将从主题和订阅展开讲解,详细讲述它们在 MQ V7 中的定义和属性以及 MQ V7 是如何通过主题和订阅对发布/订阅进行管理。接下来本文将通过复杂的 MQ V7 发布/订阅环境讲解分布式发布/订阅技术,这部分内容是 MQ V7 发布/订阅技术中的高级部分,以使读者对 MQ V7 发布/订阅技术有更深入的了解。
?
对于管理节点,需要预先定义主题对象,在 MQ V7 中,可以通过 MQSC 或 MQ Explorer 定义主题对象。清单 1 中使用 MQSC 脚本命令定义一个主题,主题名字是 WEST, 主题字符串是 NBA/LAKER。
清单 1. 定义主题
清单 2. 修改 WILDCARD 属性为 BLOCK?点击“Subscription”打开创建新的“Subscription”窗口,如图 5:
图 5. 创建 Subscription 步骤二?在图 5 中可以通过 Select 按钮选择已经存在的主题,也可以在 Topic Name 和 Topic String 处输入。参数 Destination Class 有两个值 Managed 和 Provided,如果选择 Managed,队列管理器提供动态队列作为 Destination。如果选择 Provided,用户需要输入 Destination 值,该值必须是已经存在的队列。
使用 MQSC 脚本管理订阅
WebSphere MQ V7 引入了新的 MQSC 命令定义和管理订阅。清单 9 使用 DEFINE SUB 命令定义新的订阅 SUB1,指定 Q1 为 Destination。
清单 9. 使用 MQSC 定义订阅DEFINE SUB(SUB1) TOPICSTR(NEWS/SPORTS) DEST(Q1)6 : DEFINE SUB(SUB1) TOPICSTR(NEWS/SPORTS) DEST(Q1)AMQ8094: WebSphere MQ subscription created.定义 Managed 类型的订阅可以不用指定 DEST 参数,清单 10 定义了 Managed 类型的 订阅 SUB2。
清单 10. 定义 Managed 类型订阅DEFINE SUB(SUB2) TOPICSTR(NEWS/ENT) DESTCLAS(MANAGED)1 : DEFINE SUB(SUB2) TOPICSTR(NEWS/ENT) DESTCLAS(MANAGED)AMQ8094: WebSphere MQ subscription created.清单 11 使用 DISPLAY SUB 命令显示订阅的定义。
清单 11. 显示订阅定义DIS SUB(SUB2)1 : DIS SUB(SUB2)AMQ8096: WebSphere MQ subscription inquired.SUBID(414D5120514D35202020202020202020E3DB4F4920145108)SUB(SUB2) TOPICSTR(NEWS/ENT)TOPICOBJ( )DEST(SYSTEM.MANAGED.DURABLE.494FDBE307511420)DESTQMGR(QM5) PUBAPPID( )SELECTOR( ) USERDATA( )PUBACCT(16010515000000B218D7C0694A597186E61BE3F603000000000000000000000B)DESTCORL(414D5120514D35202020202020202020E3DB4F4920145108)DESTCLAS(MANAGED) DURABLE(YES)EXPIRY(UNLIMITED) PSPROP(MSGPROP)PUBPRTY(ASPUB) REQONLY(NO)SUBSCOPE(ALL) SUBLEVEL(1)SUBTYPE(ADMIN) VARUSER(ANY)WSCHEMA(TOPIC) SUBUSER(root)在以上的章节,我们为您讲述了 MQ V7 对主题和订阅这两个对象的管理。接下来,我们将为您介绍两种分布式发布/订阅结构以帮助您更好的理解 MQ V7 发布/订阅技术。