前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP中使用ActiveMQ实现消息队列

PHP中使用ActiveMQ实现消息队列

原创
作者头像
Action
修改2021-11-10 17:54:37
8190
修改2021-11-10 17:54:37
举报
文章被收录于专栏:WEB开发~WEB开发~

安装第三方扩展

代码语言:txt
复制
composer require fusesource/stomp-php:2.0.*

安装完成后,目录结构如下:

测试

创建一个test.php,内容如下:

代码语言:txt
复制
<?php
//引入自动加载的文件
require __DIR__.'/vendor/autoload.php'; 

use FuseSource\Stomp\Stomp;

/**
 * PHP的ActiveMQ类
 */
class ActiveMQ {

    private $conn;
	private $tcp = 'tcp://1xx.xxx.xx.xx:xxxx';
    
    /**
     * 初始化
     */
    public function __construct()
    {
        $this->conn = new Stomp($this->tcp);
        $this->conn->connect();
    }
    
    /**
     * 推送数据
     *
     * @param [type] $data
     * @param string $queue
     * @return void
     */
    public function send($queue, $data)
    {
        //将数组JSON化
        if(is_array($data)){
            $data = json_encode($data, JSON_UNESCAPED_UNICODE);
        }

        //persistent设置为true,持久化
        $result = $this->conn->send($queue, $data, ['persistent' => 'true']);   
		return $result;
    }

    /**
     * 断开链接
     */
    function __destruct()
    {
        $this->conn->disconnect();
    }
}

//测试推送
$data  = [
	'name' => '张三',
	'age'  => '18'
];

$mqModel = new ActiveMQ();
$res = $mqModel->send('test', $data);
print($res);

运行结果

查看队列的数据

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装第三方扩展
  • 测试
  • 运行结果
  • 查看队列的数据
相关产品与服务
消息队列 CMQ 版
消息队列 CMQ 版(TDMQ for CMQ,简称 TDMQ CMQ 版)是一款分布式高可用的消息队列服务,它能够提供可靠的,基于消息的异步通信机制,能够将分布式部署的不同应用(或同一应用的不同组件)中的信息传递,存储在可靠有效的 CMQ 队列中,防止消息丢失。TDMQ CMQ 版支持多进程同时读写,收发互不干扰,无需各应用或组件始终处于运行状态。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档