• 技术文章 >后端开发 >php教程

    PHP如何使用ActiveMQ实例分享

    小云云小云云2018-02-05 16:34:55原创1696
    点对点模型特点:只有一个消费者可以接收到消息,不能重复消费。本文主要和大家分享PHP如何使用ActiveMQ实例分享,希望能帮助到大家。

    生产者producer.php代码:

    <?
    phptry {  
      // 1.建立连接    $stomp = new Stomp('tcp://47.52.119.21:61613');    
    // 2.实例化类    $obj = new Stdclass();    
    // 3.获取数据    for($i=0; $i<3; $i++)
    {        $obj->username = 'test';        
    $obj->password = '123456';        
    $queneName     = "/queue/userReg";        
    // 4.发送一个注册消息到队列       
     $stomp->send($queneName, json_encode($obj));   
     }} catch (StompException $e) 
    {    die('Connection failed: ' 
    . $e->getMessage());
    }

    消费者1consumer1.php代码:

    <?
    php$stomp = new Stomp('tcp://localhost:61613');
    $stomp->subscribe('/queue/userReg');while (true) 
    {    //判断是否有读取的信息    if ($stomp->hasFrame()) 
    {        $frame = $stomp->readFrame();        
    $data  = json_decode($frame->body, true);       
    var_dump($data);       
     $stomp->ack($frame);   
     }}

    消费者2consumer2.php代码:

    <?php
    $stomp = new Stomp('tcp://localhost:61613');$stomp->subscribe('/queue/userReg');while (true) 
    {    //判断是否有读取的信息    if ($stomp->hasFrame())
    {        $frame = $stomp->readFrame();       
    $data  = json_decode($frame->body, true);      
      var_dump($data);        $stomp->ack($frame);  
      }}

    执行结果图如下:

    1.jpg

    使用发布/订阅(Publish Subscribe)模型

    发布/订阅模型特点:

    多个消费者都可以收到消息

    能重复消费

    生产者producer.php代码:

    <?phptry

    {    // 1.建立连接    
    $stomp = new Stomp('tcp://47.52.119.21:61613');  
     // 2.实例化类    $obj = new Stdclass();   
     // 3.获取数据    for($i = 0; $i < 3; $i++)
    {        $obj->username = 'test';      
      $obj->password = '123456';        
    $queneName     = "/topic/userReg";      
      // 4.发送一个注册消息到队列     
       $stomp->send($queneName, json_encode($obj));   
     }} 
    catch (StompException $e)
     {    die('Connection failed: ' . $e->getMessage());
    }

    消费者1consumer1.php代码:

    <?php$stomp = new Stomp('tcp://localhost:61613');$stomp->subscribe('/topic/userReg');
    while (true) {    //判断是否有读取的信息    if ($stomp->hasFrame())
     {        $frame = $stomp->readFrame();       
     $data  = json_decode($frame->body, true);    
        var_dump($data);        $stomp->ack($frame);  
      }}

    消费者2consumer2.php代码:

    <?php$stomp = new Stomp('tcp://localhost:61613');$stomp->subscribe('/topic/userReg');
    while (true) {    //判断是否有读取的信息    if ($stomp->hasFrame()) 
    {        $frame = $stomp->readFrame();    
        $data  = json_decode($frame->body, true);       
     var_dump($data);      
      $stomp->ack($frame);   
     }}

    执行结果图如下:

    2.jpg

    相关推荐:

    ActiveMQ中Session设置的相关理解

    php-activemq之ajax调用配置问题

    以上就是PHP如何使用ActiveMQ实例分享的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:ActiveMQ php 分享
    上一篇:jQuery实现IE6的淡入淡出提示功能效果实例 下一篇:php自定义函数记录log日志
    Web大前端开发直播班

    相关文章推荐

    • 此函数是PHP中哪方面的学问,其功能是何 • PHP框架YII札记之1 • CakePHP中运用TinyMce详解 • php除了字符串首尾中英文空格 • php的一个数组有关问题

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网