this.setTags(tags);
if (keys != null && keys.length() > 0)
this.setKeys(keys);
this.setWaitStoreMsgOK(waitStoreMsgOK);
}
消息生产者相关代码都是在client
模块中,DefaultMQProducer
该类为默认的消息生产者实现类,它继承了ClientConfig
同时实现了MQProducer
接口。对于RocketMQ,生产者就是发送消息的客户端,所以在发送消息前需要初始化对应的实例来进行消息的发送。
public class DefaultMQProducer extends ClientConfig implements MQProducer {
…
}
类图关系如下所示:
DefaultMQProducer
的相关属性如下所示:
/**
- 生产者所属组
*/
private String producerGroup;
/**
- 默认的topicKey
*/
private String createTopicKey = MixAll.AUTO_CREATE_TOPIC_KEY_TOPIC;
/**
- 默认主题中的Broker队列的数量
*/
private volatile int defaultTopicQueueNums = 4;
/**
- 消息发送默认超时时间为3s
*/
private int sendMsgTimeout = 3000;
/**
- 消息体大小超过默认值则需要进行压缩,此处默认为4K
*/
priva