#include "rocketmq/DefaultMQProducer.h"
using namespace rocketmq;
class DefineSelectMessageQueue : public MessageQueueSelector
MQMessageQueue select(const std::vector<MQMessageQueue> &mqs, const MQMessage &msg, void *arg)
int orderId = *static_cast<int *>(arg);
int index = orderId % mqs.size();
DefaultMQProducer producer("producer_group_name");
producer.setNamesrvAddr("accesspoint");
producer.setSessionCredentials("ak", "sk", "volc");
DefineSelectMessageQueue *queueSelector = new DefineSelectMessageQueue();
for (int i = 0; i < count; ++i)
MQMessage msg("you_topic_name", "TAG", "msg content");
SendResult sendResult = producer.send(msg, queueSelector, &i, 3, false);
std::cout << "SendResult:" << sendResult.getSendStatus() << ", Message ID: " << sendResult.getMsgId() << std::endl;
this_thread::sleep_for(chrono::seconds(1));
std::cout << "ErrorCode: " << e.GetError() << " Exception:" << e.what() << std::endl;
std::cout << "Send " << count << " messages OK, costs" << std::endl;