public final class TopicUtil extends Object
| Modifier and Type | Field and Description |
|---|---|
static String |
TOPIC_LAYER |
static String |
TOPIC_WILDCARDS_MORE |
static String |
TOPIC_WILDCARDS_ONE |
| Constructor and Description |
|---|
TopicUtil() |
| Modifier and Type | Method and Description |
|---|---|
static Object |
getFieldValue(Object obj,
String fieldName)
获取字段值
|
static String |
getTopicFilter(String topicTemplate)
获取处理完成之后的 topic,需要考虑 test/${abc}123 也要替换成 test/+ 而非 test/+123
|
static String[] |
getTopicParts(String topic)
以 / 切分 topic,如果以 / 开头和 / 结尾会多一级,比 split 性能要好
|
static Map<String,String> |
getTopicVars(String topicTemplate,
String topic)
解析 topic 模板中的变量,不匹配时返回空 Map
例如 $SYS/brokers/${node}/clients/${clientid}/disconnected 中提取 node 和 clientid
|
static boolean |
hasVariable(String input)
判断是否含有 ${x} 这样的变量
|
static boolean |
match(String topicFilter,
String topicName)
判断 topicFilter topicName 是否匹配
|
static String |
resolveTopic(String topicTemplate,
Object payload)
解析 topic 中的变量,变量的格式为 ${x},x 为 payload 中的字段名
|
static org.tio.utils.mica.Pair<String,Integer> |
retainTopicName(String topicName)
解析保留消息主题, topicName
|
static void |
validateTopicFilter(List<String> topicFilterList)
校验 topicFilter
|
static void |
validateTopicFilter(String topicFilter)
校验 topicFilter
|
static void |
validateTopicName(String topicName)
校验 topicName
|
public static final String TOPIC_LAYER
public static final String TOPIC_WILDCARDS_ONE
public static final String TOPIC_WILDCARDS_MORE
public static void validateTopicFilter(List<String> topicFilterList)
topicFilterList - topicFilter 集合public static void validateTopicFilter(String topicFilter) throws IllegalArgumentException
topicFilter - topicFilterIllegalArgumentExceptionpublic static void validateTopicName(String topicName) throws IllegalArgumentException
topicName - topicNameIllegalArgumentExceptionpublic static org.tio.utils.mica.Pair<String,Integer> retainTopicName(String topicName)
topicName - topicNamepublic static boolean match(String topicFilter, String topicName)
topicFilter - topicFiltertopicName - topicNamepublic static String getTopicFilter(String topicTemplate)
topicTemplate - topic 模板public static boolean hasVariable(String input)
input - inputpublic static String resolveTopic(String topicTemplate, Object payload)
topicTemplate - topic 模板payload - payloadpublic static Object getFieldValue(Object obj, String fieldName)
obj - objfieldName - fieldNamepublic static String[] getTopicParts(String topic)
topic - topicCopyright © 2025. All rights reserved.