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

PHP中使用ActiveMQ实现消息队列

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

安装第三方扩展

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

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

测试

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

代码语言:txt
AI代码解释
复制
<?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 条评论
热度
最新
推荐阅读
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档