RabbitMQ第五课 使用技巧

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RabbitMQ第五课 使用技巧相关的知识,希望对你有一定的参考价值。

1) C++ 获取消息数据
amqp_rpc_reply_t ret;
timeval tvTimeout;
tvTimeout.tv_sec = 1;
tvTimeout.tv_usec = 0;
ret = amqp_consume_message(conn, &envelope, &valTimeOut, 0);

if (AMQP_RESPONSE_NORMAL == ret.reply_type)
{
   std::string strAMQPMsg((char*)envelope.message.body.bytes, envelope.message.body.len);
}

误区: std::string strAMQPMsg = char*)envelope.message.body.bytes 存在多余的数据
误区: 没有设置接收超时,而是直接传递NULL,导致函数进入死循环


2)发送消息的时候,返回错误信息:AMQP_STATUS_SOCKET_ERROR
AMQP_STATUS_SOCKET_ERROR = -0x0009,               /**< A socket error occurred */
需要跟服务器Broker重新建立连接


3)确认数据是否已经发送成功

      关于消费者就不用代码来获取消息了,直接在RabbitMQ Management点击某个队列的名字,然后Get Message(s) 即可获取消息内容


以上是关于RabbitMQ第五课 使用技巧的主要内容,如果未能解决你的问题,请参考以下文章

java 第五课 异常

Python第五课(字典)

Qpid第五课 消息总线使用经验

微搭低代码零基础入门课(第五课)

第五课——备份恢复

Jsp第五课 过滤器的概念与使用