zoukankan      html  css  js  c++  java
  • rabbitmq新版本使用

    生产者

    <?php
    $exchangeName = "sendMessage";
    $queueName = "sendMessageQueue";
    $routeKey = "sendMessageKey";
    
    $message = "hello rabbitmq message!";
    
    $connection  = new AMQPConnection(['host'=>'127.0.0.1','port'=>'5672','vhost'=>'/','login'=>'guest','password'=>'guest']);
    $connection->connect() or die('can not connect broker server !');
    
    $channel = new AMQPChannel($connection);
    //$channel->setPerfetchCount(1);
    
    $exchange = new AMQPExchange($channel);
    $exchange->setName($exchangeName);
    $exchange->setType(AMQP_EX_TYPE_DIRECT);
    $exchange->setFlags(AMQP_DURABLE);
    $exchange->declareExchange();
    
    $queue = new AMQPQueue($channel);
    $queue->setName($queueName);
    $queue->setFlags(AMQP_DURABLE);
    $queue->declareQueue();
    
    $queue->bind($exchangeName, $routeKey);
    
    for($i=0;$i<100;$i++) {
        $exchange->publish($message, $routeKey);
    }
    $connection->disconnect();

    消费者

    <?php
    $exchangeName = 'sendMessage';
    $queueName="sendMessageQueue";
    $routeKey = 'sendMessageKey';
    
    $connection = new AMQPConnection(['host'=>'127.0.0.1','port'=>'5672','vhost'=>'/','login'=>'guest','password'=>'guest']);
    $connection->connect() or die('can not connect broker server !');
    
    $channel = new AMQPChannel($connection);
    //$channel->setPerfetchCount(1);
    
    $exchange = new AMQPExchange($channel);
    $exchange->setName($exchangeName);
    $exchange->setType(AMQP_EX_TYPE_DIRECT);
    $exchange->setFlags(AMQP_DURABLE);
    $exchange->declareExchange();
    
    $queue = new AMQPQueue($channel);
    $queue->setName($queueName);
    $queue->setFlags(AMQP_DURABLE);
    $queue->declareQueue();
    
    $queue->bind($exchangeName, $routeKey);
    
    echo "message ........";
    while(true){
        $queue->consume('dealMsg');
    }
    
    $connection->disconnect();
    
    function dealMsg($event, $q){
        $msg = $event->getBody();
        echo $msg."
    ";
        $q->ack($event->getDeliveryTag());
    }
  • 相关阅读:
    Squirrel GUI+ Phoenix 连接Hbase
    Hadoop_Hbase集群完全离线安装[CDH 5.13.1]
    cmake生成Makefile时指定c/c++编译器
    一步一步搭建:spark之Standalone模式+zookeeper之HA机制
    linux 安装nginx
    string和json转换的简单应用
    RHEL7 添加用户,含sudo权限
    RHEL7 Ansible
    RHEL安装docker-compose
    博客园仿github的markdown样式
  • 原文地址:https://www.cnblogs.com/dawuge/p/13612685.html
Copyright © 2011-2022 走看看