最近在看rocketmq,下了5.0,然后根据官方文档写了一段代码测试事务类型消息,发送后一直提提示无法发送,异常信息:
Current message type not match with topic accept message types, topic=transactionTopic, actualMessageType=TRANSACTION, acceptMessageTypes=[NORMAL]
虽然我知道是消息类型不对,可是翻遍官方文档、百度也没找到方法,憋了2天,今天不死心去github找到了这个问题答案:
在mqadmin updateTopic时可以使用 -a +message.type=xxx 指定主题容纳的消息类型
如下:
sh bin/mqadmin updatetopic -n {NameSrvAddr} -t {YourTopic} -c {YourCluster} -a +message.type=TRANSACTION
message.type可以使用 TRANSACTION, FIFO, DELAY 或NORMAL,如未指定该属性,默认是NORMAL。
希望对搜到这里的朋友有帮助