PHP使用ActiveMQ实例


Posted in PHP onFebruary 05, 2018

使用点对点(Point To Point)模型

点对点模型特点:

  • 只有一个消费者可以接收到消息
  • 不能重复消费

生产者producer.php代码:

<?php
try {
  // 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);
  }
}

执行结果图如下:

PHP使用ActiveMQ实例

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

发布/订阅模型特点:

多个消费者都可以收到消息
能重复消费
生产者producer.php代码:

<?php
try {
  // 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);
  }
}

执行结果图如下:

PHP使用ActiveMQ实例

PHP 相关文章推荐
elgg 获取文件图标地址的方法
Mar 20 PHP
php5.3中连接sqlserver2000的两种方法(com与ODBC)
Dec 29 PHP
ThinkPHP框架实现session跨域问题的解决方法
Jul 01 PHP
推荐一款PHP+jQuery制作的列表分页的功能模块
Oct 14 PHP
PHP中iconv函数转码时截断字符问题的解决方法
Jan 21 PHP
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
Feb 12 PHP
WordPress中给媒体文件添加分类和标签的PHP功能实现
Dec 31 PHP
round robin权重轮循算法php实现代码
May 28 PHP
php计算多个集合的笛卡尔积实例详解
Feb 16 PHP
简单谈谈 php 文件锁
Feb 19 PHP
PHP那些琐碎的知识点(整理)
May 20 PHP
php中文乱码问题的终极解决方案汇总
Aug 01 PHP
详解PHP中mb_strpos的使用
Feb 04 #PHP
详解PHP文件的自动加载(autoloading)
Feb 04 #PHP
PHP实现QQ登录的开原理和实现过程
Feb 04 #PHP
PHP实现正则表达式分组捕获操作示例
Feb 03 #PHP
php实现解析xml并生成sql语句的方法
Feb 03 #PHP
PHP删除数组中指定下标的元素方法
Feb 03 #PHP
php学习笔记之mb_strstr的基本使用
Feb 03 #PHP
You might like
Thinkphp结合ajaxFileUpload实现异步图片传输示例
2017/03/13 PHP
PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)
2017/08/15 PHP
PHP等比例压缩图片的实例代码
2018/07/26 PHP
Extjs中常用表单介绍与应用
2010/06/07 Javascript
JavaScript实现twitter puddles算法实例
2014/12/06 Javascript
JS中的Replace方法使用经验分享
2015/05/20 Javascript
微信小程序 购物车简单实例
2016/10/24 Javascript
解决linux下node.js全局模块找不到的问题
2018/05/15 Javascript
安装vue-cli的简易过程
2018/05/22 Javascript
对类Vue的MVVM前端库的实现代码
2018/09/07 Javascript
优雅的在React项目中使用Redux的方法
2018/11/10 Javascript
vue.js的双向数据绑定Object.defineProperty方法的神奇之处
2019/01/18 Javascript
小程序关于请求同步的总结
2019/05/05 Javascript
编写更好的JavaScript条件式和匹配条件的技巧(小结)
2019/06/27 Javascript
Vue 微信端扫描二维码苹果端却只能保存图片问题(解决方法)
2020/01/19 Javascript
JavaScript事件概念详解(区分静态注册和动态注册)
2021/02/05 Javascript
[06:15]2016国际邀请赛中国区预选赛单车采访:我顶WINGS
2016/06/27 DOTA
详解Python_shutil模块
2019/03/15 Python
python多进程读图提取特征存npy
2019/05/21 Python
Python-copy()与deepcopy()区别详解
2019/07/12 Python
Python企业编码生成系统之系统主要函数设计详解
2019/07/26 Python
Pyecharts绘制全球流向图的示例代码
2020/01/08 Python
CSS3制作轮播图的一种方法
2019/11/11 HTML / CSS
使用HTML5 Canvas绘制圆角矩形及相关的一些应用举例
2016/03/22 HTML / CSS
美赞臣新加坡官方旗舰店:Enfagrow新加坡
2019/05/15 全球购物
台湾7-ELEVEN线上购物中心:7-11
2021/01/21 全球购物
学生宿舍管理制度
2014/01/30 职场文书
竞选体育委员演讲稿
2014/04/26 职场文书
局火灾防控工作方案
2014/05/25 职场文书
销售竞赛活动方案
2014/08/23 职场文书
讲文明知礼仪演讲稿
2014/09/13 职场文书
股指期货心得体会
2014/09/13 职场文书
国际贸易实训总结
2015/08/03 职场文书
Java 实现限流器处理Rest接口请求详解流程
2021/11/02 Java/Android
java中为什么说子类的构造方法默认访问的是父类的无参构造方法
2022/04/13 Java/Android
Android开发手册Chip监听及ChipGroup监听
2022/06/10 Java/Android