// 设置生产组名称DefaultMQProducer producer(groupName);// 设置服务接入地址producer.setNamesrvAddr(nameserver);// 设置用户权限producer.setSessionCredentials(accessKey, // 角色密钥secretKey, // 角色名称"");// 设置命名空间(命名空间全称)producer.setNameSpace(namespace);// 请确保参数设置完成在启动之前producer.start();
参数 | 说明 |
groupName | 生产者组名称,在控制台集群管理中 Group tab 中获取。 |
nameserver | 集群接入地址,在集群基本信息中,根据使用需求,使用不同的内网/公网接入地址。 |
secretKey | 角色名称,在 集群权限 页面复制 SecretKey 复制。 |
accessKey | 角色密钥,在 集群权限 页面复制 AccessKey 复制。 |
// 初始化消息内容MQMessage msg(topicName, // topic名称TAGS, // 消息tagKEYS, // 消息业务key"Hello cpp client, this is a message." // 消息内容);try {// 发送消息SendResult sendResult = producer.send(msg);std::cout << "SendResult:" << sendResult.getSendStatus() << ", Message ID: " << sendResult.getMsgId()<< std::endl;} catch (MQException e) {std::cout << "ErrorCode: " << e.GetError() << " Exception:" << e.what() << std::endl;}
参数 | 说明 |
topicName | Topic 的名称,在控制台 topic 页面复制。 |
TAGS | 用来设置消息的 TAG。 |
KEYS | 设置消息业务 key。 |
// 释放资源producer.shutdown();
// 消息监听class ExampleMessageListener : public MessageListenerConcurrently {public:ConsumeStatus consumeMessage(const std::vector<MQMessageExt> &msgs) {for (auto item = msgs.begin(); item != msgs.end(); item++) {// 业务std::cout << "Received Message Topic:" << item->getTopic() << ", MsgId:" << item->getMsgId() << ", TAGS:"<< item->getTags() << ", KEYS:" << item->getKeys() << ", Body:" << item->getBody() << std::endl;}// 消费成功返回CONSUME_SUCCESSreturn CONSUME_SUCCESS;// 消费失败返回RECONSUME_LATER,该消息将会被重新消费// return RECONSUME_LATER;}};// 初始化消费者DefaultMQPushConsumer *consumer = new DefaultMQPushConsumer(groupName);// 设置服务地址consumer->setNamesrvAddr(nameserver);// 设置用户权限consumer->setSessionCredentials(accessKey,secretKey,"");// 设置命名空间consumer->setNameSpace(namespace);// 设置实例名称consumer->setInstanceName("CppClient");// 请注册自定义侦听函数用来处理接收到的消息,并返回响应的处理结果。ExampleMessageListener *messageListener = new ExampleMessageListener();// 订阅消息consumer->subscribe(topicName, TAGS);// 设置消息监听consumer->registerMessageListener(messageListener);// 准备工作完成,必须调用启动函数,才可以正常工作。consumer->start();
参数 | 说明 |
groupName | 消费者组名称。在控制台集群管理中 Group 页签中获取。 |
nameserver | 集群接入地址,在集群管理页面操作列的获取接入地址获取。 |
secretKey | 角色名称,在 集群权限 页面复制 SecretKey 复制。 |
accessKey | 角色密钥,在 集群权限 页面复制 AccessKey 复制。 |
topicName | Topic 的名称,在控制台 topic 页面复制。 |
TAGS | 用来设置订阅消息的 TAG。 |
// 资源释放consumer->shutdown();
本页内容是否解决了您的问题?