Go to file
2023-08-03 09:52:25 +08:00
example composer update 2023-07-09 18:12:14 +08:00
src feat:新增消费端类型 2023-08-03 09:52:25 +08:00
.gitignore 初始化 2023-07-07 16:20:30 +08:00
composer.json composer update 2023-07-09 17:20:38 +08:00
README.md doc:更新文档 2023-07-11 14:26:17 +08:00

rocket-mq-thinkphp 适配客户端

使用说明

本客户端对接公司mq实现mq消息推送与订阅目前支持一对一与一对多订阅

安装

  1. 添加镜像地址
{
  "repositories": [{
    "type": "composer",
    "url": "http://composer.saas.test.tianmagroup.com"
  }]
}

  1. composer安装
composer  require  tm_xls/rocket-mq-client-thinkphp

配置



return [
    'host'          => env('mq_host', 'http://192.168.21.170:8085'), //mq地址
    'callback_host' => env('mq_callback_host', 'http://192.168.21.170:8085'),//回调host
    'callback'      => '/rocketmq/producer/notify',//回调地址默认不做修改
    //订阅节点
    'subscribe'     => [

    ]
];

生产者

见example "Producer"

消费者

消费者执行逻辑由开发者定义,但是仍遵循如下规则:

  1. 首先在config/rocket_mq.php 文件subscribe节点配置订阅
return [
    'subscribe' => [
        //节点配置 由mq的topic.tag为标识 
        '[topic].[tag]' => [
            Test:class
        ] 
    ]
]

  1. Test:class 需要实现 tm\xls\rocketMq\thinkphp\consumer\contract\ListenerInterface 接口


namespace example;


use tm\xls\rocketMq\thinkphp\consumer\contract\ListenerInterface;
use tm\xls\rocketMq\thinkphp\consumer\message\Message;

class Consumer implements ListenerInterface
{

    private $message;

    /**
      * 所有订阅监听会自动注入 tm\xls\rocketMq\thinkphp\consumer\message\Message 对象 
      * 
      * @param Message $message
     */
    public function __construct(Message $message)
    {
        $this->message = $message;
    }

    public function handle()
    {
        //队列消息
        $this->message;
        //处理订阅逻辑
        // code ...
    }

    public function enable(): bool
    {
        // 这边判断是否执行
        return true;
    }
}