The TopicMessageType
concept is introduced in RocketMQ 5.0, using the existing topic attribute feature to implement it.
The topic is created by mqadmin
tool declaring the message.type
attribute.
# default
sh ./mqadmin updateTopic -n <nameserver_address> -t <topic_name> -c DefaultCluster
# normal topic
sh ./mqadmin updateTopic -n <nameserver_address> -t <topic_name> -c DefaultCluster -a +message.type=NORMAL
# fifo topic
sh ./mqadmin updateTopic -n <nameserver_address> -t <topic_name> -c DefaultCluster -a +message.type=FIFO
# delay topic
sh ./mqadmin updateTopic -n <nameserver_address> -t <topic_name> -c DefaultCluster -a +message.type=DELAY
# transaction topic
sh ./mqadmin updateTopic -n <nameserver_address> -t <topic_name> -c DefaultCluster -a +message.type=TRANSACTION