d5582b0d26
Update README.md See merge request xls/vendor/rocketmq!1 |
||
---|---|---|
example | ||
src | ||
.gitignore | ||
composer.json | ||
README.md |
rocket-mq-thinkphp 适配客户端
使用说明
本客户端对接公司mq,实现mq消息推送与订阅,目前支持一对一与一对多订阅!
安装
- 添加镜像地址
{
"repositories": [{
"type": "composer",
"url": "http://composer.saas.test.tianmagroup.com"
}]
}
- composer安装
composer require tm_xls/rocket-mq-client-thinkphp
安装过程中需要允许
tm_xls/composer-thinkphp-installer
插件运行以便自动生成配置文件
配置
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"
消费者
消费者执行逻辑由开发者定义,但是仍遵循如下规则:
- 首先在config/rocket_mq.php 文件subscribe节点配置订阅
return [
'subscribe' => [
//节点配置 由mq的topic.tag为标识
'[topic].[tag]' => [
Test:class
]
]
]
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;
}
}