前面我们已经学了怎样部署ActiveMQ

我们知道通过ActiveMQ的一个管理后台能够查看任务队列。

今天

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ2l0aHViXzI2NjcyNTUz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="这里写图片描写叙述" title="">

用PHP来操作ActiveMQ。我们能够借助一个第三方扩展。

下载:

composer require fusesource/stomp-php:2.0.*

然后新建test.php:

<?

php

require __DIR__.'/vendor/autoload.php'; //引入自己主动载入的文件

$connect = new \FuseSource\Stomp\Stomp('tcp://10.211.55.13/:61613');
$connect->connect(); $userId = 1001;
$result = $connect->send('email',$userId); //比方发邮件
var_dump($result);



发送消息成功。打印bool(true)

我们在ActiveMQ自带的管理后台查看,确实有一个名为”email”的队列。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ2l0aHViXzI2NjcyNTUz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="这里写图片描写叙述" title="">

上面我们发送的一个id,我们还能够发送json数据。

$data = array('id'=>1001,'email'=>'110@qq.com','content'=>'test');
$result = $connect->send('email',json_encode($data));

我们在MQ后台能够查看消息具体

上面的代码到这里,还不够完美。假设我们server重新启动了activemq。没有处理的消息会丢失。

这个时候我们须要用到send()方法的第三个參数。

//消息持久化 persistent为true,字符串的'true'
$result = $connect->send('email',json_encode($data),array('persistent'=>'true'));

前面我们完毕了『发送』

给mqserver发送消息(email消息)。

那么在mq的队列中的任务,又是怎么处理的呢?

<?php

require __DIR__.'/vendor/autoload.php'; //引入自己主动载入的文件

$connect = new \FuseSource\Stomp\Stomp('tcp://10.211.55.13/:61613');
$connect->connect();

//订阅队列消息
$connect->subscribe('email');

if ($connect->hasFrameToRead()){
$frame = $connect->readFrame();
print_r(

posted @
2017-08-18 16:34 
yxysuanfa 
阅读(...) 
评论(...) 
编辑 
收藏

最新文章

  1. YourSQLDba开源项目发布到codeplex网站了
  2. 微信小程序-视图
  3. hdu 1561 The more, The Better (树上背包)
  4. 【转】WEB测试到移动测试的转换
  5. python中的小技巧
  6. Anchor和Dock的区别
  7. 译文:Javascript-function&#39;s return
  8. delta
  9. hdoj 2896 病毒侵袭(AC自动机)
  10. SQLite语句
  11. junit4X系列--Builder、Request与JUnitCore
  12. 【luogu3174】【HAOI2009】毛毛虫
  13. quartz入门详解
  14. 算法之路(二)呈现O(logN)型的三个算法
  15. ELK-filebeat收集日志到Kafka,并转存ES
  16. spring boot 采坑
  17. js中split()方法得到的数组长度
  18. 实战UITableview深度优化
  19. .net asp 实现json 格式跨域访问 的方法
  20. crontab定时时间解释

热门文章

  1. Easyui dialog Y轴滚动条定位
  2. Java 8函数式接口functional interface的秘密
  3. 【BZOJ】【4146】 【AMPPZ2014】Divisors
  4. 数据库savepoint
  5. matlib常用知识
  6. 2.2 dubbo-spi源码解析
  7. [leetcode]Subsets @ Python
  8. Matplotlib绘图双纵坐标轴设置及控制设置时间格式
  9. VS调试快捷键
  10. Eclipse中GitLab的配置和使用入门