主题级别分隔符用于将结构引入主题,从而可在主题中进行指定以实现该目的。
多级通配符和单级通配符可以用于预订,但是不能在主题中由消息的发布程序使用。
但是,如果发布程序将“+”或“#”字符与其他字符一起用于主题中的任何主题级别,这些字符不会被视为通配符,且不具任何特殊含义。
主题级别分隔符字符“/”用于为主题空间提供分层结构。它必须由应用程序使用以分隔主题树内的级别。 当在订户指定的主题中出现两个通配符时,使用主题级别分隔符具有非常重要的意义。
主题层次结构在访问控制管理中很重要。
多点传送通配符“#”用于匹配主题内的任何级别数。例如,使用上述示例主题树,如果预订“USA/Alaska/#”,您将收到有关“USA/Alaska”和“USA/Alaska/Juneau”主题的消息。
多级通配符可以代表零个或更多级别。因此,“USA/#”还可以与单独的“USA”匹配,其中 # 表示零个级别。主题级别分隔符在此环境中没有意义,因为没有要分隔的级别。
只能指定独立使用多级通配符,或将其指定在主题级别分隔符字符旁。因此,“#”和“USA/#”为有效主题 ,其中“#”字符被视为通配符。虽然“USA#”也是有效主题,但“#”字符不被视为通配符,并且不具有任何特殊意义。请参阅当通配符不通配时获取更多信息。
单一级别通配符“+”与一个且只有一个主题级别匹配。例如,“USA/+”与“USA/Alabama”匹配,但与“USA/Alabama/Auburn”不匹配。同时,因为单级通配符仅与单一级别匹配,因此“USA/+”与“USA”不匹配。
单级通配符能在主题树中的任何级别使用,并可与多级通配符一起使用。除非指定了独立使用单级通配符,否则必须将其指定在主题级别分隔符旁。 因此,“+”和“USA/+”为有效主题,其中“+”字符被视为通配符。 虽然“USA+”也是有效主题,但“+”字符不被视为通配符,并且不具任何特殊意义。请参阅当通配符不通配时获取更多信息。