首页 > 其他 > 详细

rabbitmq生产与消费测试

时间:2021-05-31 00:08:31      阅读:34      评论:0      收藏:0      [点我收藏+]

消息生成者:

channel();//在已连接基础上建立生产者与mq之间的通道

$channel->exchange_declare($exchangeName,?‘direct‘,?false,?true,?false);?//声明初始化交换机
$channel->queue_declare($queueName,?false,?true,?false,?false);//声明初始化一条队列
$channel->queue_bind($queueName,?$exchangeName,?$routingKey);?//将队列与某个交换机进行绑定,并使用路由关键字

$msgBody?=?json_encode(["name"?=>?"iGoo",?"age"?=>?22]);
$msg?=?new?AMQPMessage($msgBody,?[‘content_type‘?=>?‘text/plain‘,?‘delivery_mode‘?=>?2]);?//生成消息
$channel->basic_publish($msg,?$exchangeName,?$routingKey);//推送消息到某个交换机

echo?"?[x]?Sent?‘Hello?World!‘\n";

$channel->close();
$connection->close();

  

消息消费者:

channel();

$channel->exchange_declare($exchangeName,?‘direct‘,?false,?true,?false);?//声明初始化交换机
$channel->queue_declare($queueName,?false,?true,?false,?false);
$channel->queue_bind($queueName,?$exchangeName,?$routingKey);?//将队列与某个交换机进行绑定,并使用路由关键字

echo?"?[*]?Waiting?for?messages.?To?exit?press?CTRL+C\n";

$callback?=?function?($msg)?{
????echo?‘?[x]?Received?‘,?$msg->body,?"\n";
};

$channel->basic_consume($queueName,?‘‘,?false,?true,?false,?false,?$callback);

while?($channel->is_consuming())?{//这个是阻塞模式,有消息就执行回调
????$channel->wait();
}

/*?$channel->close();
$connection->close();?*/

  

? ??

rabbitmq生产与消费测试

原文:https://blog.51cto.com/u_13227207/2834124

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!