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 相关文章推荐
PHP网站提速三大“软”招
Oct 09 PHP
SMARTY学习手记
Jan 04 PHP
一个自定义位数的php多用户计数器代码
Mar 11 PHP
PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
Jun 17 PHP
php配置php-fpm启动参数及配置详解
Nov 04 PHP
使用php清除bom示例
Mar 03 PHP
php使用timthumb生成缩略图的方法
Jan 22 PHP
PHPCMS2008广告模板SQL注入漏洞修复
Oct 11 PHP
YII2自动登录Cookie总是失效的解决方法
Jun 28 PHP
PHP whois查询类定义与用法示例
Apr 03 PHP
php使用redis的有序集合zset实现延迟队列应用示例
Feb 20 PHP
php双向队列实例讲解
Nov 17 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
模仿OSO的论坛(二)
2006/10/09 PHP
php生成静态页面的简单示例
2014/04/17 PHP
php微信开发之谷歌测距
2018/06/14 PHP
PHP单例模式实例分析【防继承,防克隆操作】
2019/05/22 PHP
javascript replace方法与正则表达式
2008/02/19 Javascript
js创建数据共享接口——简化框架之间相互传值
2011/10/23 Javascript
js中判断数字\字母\中文的正则表达式 (实例)
2012/06/29 Javascript
别了 JavaScript中的isXX系列
2012/08/01 Javascript
jQuery表格插件ParamQuery简单使用方法示例
2013/12/05 Javascript
jQuery实现的Div窗口震动特效
2014/06/09 Javascript
jQuery操作cookie方法实例教程
2014/11/25 Javascript
使用AngularJS和PHP的Laravel实现单页评论的方法
2015/06/19 Javascript
7个去伪存真的JavaScript面试题
2016/01/07 Javascript
vue父子组件的数据传递示例
2017/03/07 Javascript
JS实现的ajax和同源策略(实例讲解)
2017/12/01 Javascript
jQuery中复合选择器简单用法示例
2018/03/31 jQuery
Node.js Buffer模块功能及常用方法实例分析
2019/01/05 Javascript
vue+element模态框中新增模态框和删除功能
2019/06/11 Javascript
15分钟学会vue项目改造成SSR(小白教程)
2019/12/17 Javascript
vue监听滚动事件的方法
2020/12/21 Vue.js
利用Vue实现简易播放器的完整代码
2020/12/30 Vue.js
Python用Pillow(PIL)进行简单的图像操作方法
2017/07/07 Python
Flask web开发处理POST请求实现(登录案例)
2018/07/26 Python
Python中一个for循环循环多个变量的示例
2019/07/16 Python
python循环嵌套的多种使用方法解析
2019/11/29 Python
查看端口并杀进程python脚本代码
2019/12/17 Python
商业企业管理专业求职信
2014/07/10 职场文书
2014年党的群众路线活动个人整改措施
2014/10/28 职场文书
构建和谐校园倡议书
2015/01/19 职场文书
先进个人总结范文
2015/02/15 职场文书
晚会开场白和结束语
2015/05/29 职场文书
投诉信格式范文
2015/07/02 职场文书
升学宴学生致辞
2015/09/29 职场文书
2016年优秀团员事迹材料
2016/02/25 职场文书
创业计划书介绍
2019/04/24 职场文书
Python获取江苏疫情实时数据及爬虫分析
2021/08/02 Python