在RocketMQ中,生产者使用Message
对象表示一条消息,本文对Message的属性和构造方法进行详细的讲解。
1 Message属性
Message的定义如下所示:
org.apache.rocketmq.common.message.Message
- public class Message implements Serializable {
- private String topic;
- private int flag;
- private Map<String, String> properties;
- private byte[] body;
- private String transactionId;
其中:
topic:表示消息要到的发送主题,必填
flag:选填,消息的标记,完全由应用设置,RocketMQ不做任何处理,类似于memcached中flag的作用。
properties:消息属性,主要存储一些消息的元数据信息
body:消息的内容,这是一个字节数组,序列化方式由应用决定,例如你可以将一个json转为字节数组,也可以通过protol buffer、hessian编码转为字节数组。
transactionId:事务id,仅在事务消息中使用到
Message