在rocketmq中,MQProducer是承载消息发送的,消息的发送又可以分为常规消息的发送和事务消息的发送,其中常规消息发送用的是DefaultMQProducer,事务消息的发送用的是TransactionMQProducer。他们集成关系图如:

DefaultMQProducer
在DefaultMQProducer 中有一些常规的producer端的配置,如下所示:
producerGroup: 生产者所属的组;defaultTopicQueueNums:在创建topic时,topic上默认的队列数,默认为4 ;sendMsgTimeout:发送消息的超时时间,默认为3000ms;compressMsgBodyOverHowmuch:压缩消息体的阙值,默认为1024*4=4k,即当消息的body大小为4k的时候对body内容进行压缩;retryTimesWhenSendFailed:同步发送失败时重试的次数,默认为2次;retryTimesWhenSendAsyncFailed:异步发送失败时重试的次数,默认为2次;retryAnotherBrokerWhenNotStoreOK:表示当发送失败的时候是否重试发送到另一个broker,默认为false;maxMessageSize:消息body最大值,1024*1024*4 = 4M
DefaultMQProducer相关配置源码信息如下:
1 | /** |
TransactionMQProducer
在TransactionMQProducer中的附加配置项主要是针对事务回查的,如下所示:
1 | private int checkThreadPoolMinSize = 1; |
其中checkRequestHoldMax是事务回查请求阻塞等待队列的最大值,即最多支持2000个请求等待。