MQ_TOPIC


#定义主题
DEFINE TOPIC(WEST) TOPICSTR(NBA/LAKER) DESCR('This is a TOPIC') PUB(ASPARENT) SUB(ENABLED) + WILDCARD(PASSTHRU)


TOPIC:主题名字。
TOPIC STR:主题字符串。
DESCR:对主题的描述。
PUB:是否允许发布者在这个主题上发布消息,它有三个选项:ENABLED 允许,DISABLED 禁止,ASPARENT 继承父节点。
#ASPARENT 继承于根结点 SYSTEM.BASE.TOPIC 的属性。

SUB:是否允许订阅者在这个主题上订阅操作。它有三个选项:ENABLED 允许,DISABLED 禁止,ASPARENT 继承父节点。
WILDCARD:通配符。选项:PASSTHRU(默认) 和 BLOCK(禁止,子节点接收发布内容)。
PASSTHRU:
BLOCK: ALTER TOPIC(FOOTBALL) WILDCARD(BLOCK) 修改主题 FOOTBALL 禁止子节点接收
若一个订阅者订阅主题字符串“#”,这会导致在主题树中所有主题上的发布内容被发送到订阅者。


#显示主题信息
dis topic(*) 显示所有主题
dis topic(*) where(topicstr EQ topicstrName) where 语句根据主题字符串的值等于(EQ) FIFA 对主题过滤。


#主题字符串所在节点的状态

DISPLAY TPSTATUS(+) 返回主题树“根节点”的状态。
DISPLAY TPSTATUS('#') 返回主题树中所有节点的状态(单引号必须)

dis tpstatus('topstrName') 返回 topstrName节点状态
dis tpstatus('topstrName/+')返回 topstrName节点的下一级所有节点的状态
dis tpstatus('topstrName/#')返回 topstrName节点本身&所有子节点的状态(单引号必须,否则语句异常)

#WHERE 语句中使用“*”作为过滤条件
DISPLAY TPSTATUS('topstrName/#') WHERE(TOPICSTR LK FIFA/EURO/E*) ALL


#订阅
#Destination Class---DESTCLAS(Managed 队列管理器提供动态队列作为 Destination, Provided该值必须是已经存在的队列)
#Managed 类型订阅(无需设置DESTCLAS):
DEFINE SUB(SUBNAME) TOPICSTR(https://www.360docs.net/doc/8318302600.html,) DEST(QNAME)

#Provided类型订阅(设置Managed(PROVIDED))
DEFINE sub(TESTSUB) topicstr('Log/#') topicobj('SYSTEM.FTE') DEST(TESTSUB) DESTQMGR(QM_FTE)


#主题中的通配符(TOPIC)
主题级别分隔符“/”: “USA/Alaska/“
多级别通配符“#”: “USA/Alaska/#”,那么您会接收到关于主题“USA/Alaska”和“USA/Alaska/Juneau”
单一级别通配符“+” 单一级别通配符“+”与一个主题级别匹配,并且只能与一个主题级别匹配。“USA/+”与“USA/Alabama”匹配

#通配符无效:在主题级别中将通配符“+”和“#”与其他字符(包括这两个字符本身)混合使用时,这两个字符没有任何特殊含义。
1)level0/level1/+/level4/#
2)level0/level1/#+/level4/level#

在第一个示例中,字符“+”和“#”将作为通配符进行处理,在要发布至的主题字符串中无效,但在预订中有效。
在第二个示例中,字符“+”和“#”将不会作为通配符进行处

理,因此可以发布和预订该主题字符串。(#+)合并通配符失效


#集群主题--主题字符串中的通配符(TOPICSTR)
通配符 含义
星号(*) 没有字符或多个字符
问号(?) 一个字符

预订的主题字符串中包含星号(*)或问号(?),那么必须使用百分号(%)作为转义字符.
主题字符串中使用一个 % 字符,那么必须指定两个百分号(%%)。
主题字符串中百分号(%)的后面必须始终跟有星号(*)、问号(?)或另一个百分号(%)。





相关主题
相关文档
最新文档