PHPackages                             imiphp/imi-amqp - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Queues &amp; Workers](/categories/queues)
4. /
5. imiphp/imi-amqp

ActiveLibrary[Queues &amp; Workers](/categories/queues)

imiphp/imi-amqp
===============

支持在 imi 框架中使用 支持 AMQP 协议的消息队列，如：RabbitMQ

v2.1.34(2y ago)53761MulanPSL-2.0PHPCI failing

Since Dec 25Pushed 2y ago1 watchersCompare

[ Source](https://github.com/imiphp/imi-amqp)[ Packagist](https://packagist.org/packages/imiphp/imi-amqp)[ RSS](/packages/imiphp-imi-amqp/feed)WikiDiscussions 2.0 Synced today

READMEChangelog (10)Dependencies (5)Versions (81)Used By (0)

imi-amqp
========

[](#imi-amqp)

[![Latest Version](https://camo.githubusercontent.com/5796e6e7d0f752a27e300b81bddce6c9184d9dcad7615e4b6bc45570ec9ef802/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f696d697068702f696d692d616d71702e737667)](https://packagist.org/packages/imiphp/imi-amqp)[![Php Version](https://camo.githubusercontent.com/4a5c2ab20974058a8bab53ecb30ac4c2e6bb961df6229b7386fdc097ab53dfa8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d2533453d372e342d627269676874677265656e2e737667)](https://secure.php.net/)[![Swoole Version](https://camo.githubusercontent.com/f4210afc3f396a720a75802010218d847f3ba4f7ae5182c570b1fb2504ec9ec3/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f73776f6f6c652d2533453d342e372e302d627269676874677265656e2e737667)](https://github.com/swoole/swoole-src)[![IMI License](https://camo.githubusercontent.com/d7a1ac172e8cfd3a55b4fd829f4d241d03e330330cf420460472c54db339803f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f696d697068702f696d692d616d71702e737667)](https://github.com/imiphp/imi-amqp/blob/master/LICENSE)

介绍
--

[](#介绍)

支持在 imi 框架中使用 支持 AMQP 协议的消息队列，如：RabbitMQ

支持消息发布和消费

> 本仓库仅用于浏览，不接受 issue 和 Pull Requests，请前往：

Composer
--------

[](#composer)

本项目可以使用composer安装，遵循psr-4自动加载规则，在你的 `composer.json` 中加入下面的内容:

```
{
    "require": {
        "imiphp/imi-amqp": "~2.0.0"
    }
}
```

然后执行 `composer update` 安装。

使用说明
----

[](#使用说明)

可以参考 `example` 目录示例，包括完整的消息发布和消费功能。

在项目 `config/config.php` 中配置：

```
[
    'components'    =>  [
        // 引入组件
        'AMQP'   =>  'Imi\AMQP',
    ],
]
```

连接池配置：

```
[
    'pools'    =>    [
        'rabbit'    =>  [
            'sync'    =>    [
                'pool'    =>    [
                    'class'        =>    \Imi\AMQP\Pool\AMQPSyncPool::class,
                    'config'    =>    [
                        'maxResources'    =>    10,
                        'minResources'    =>    0,
                    ],
                ],
                'resource'    =>    [
                    'host'      => '127.0.0.1',
                    'port'      => 5672,
                    'user'      => 'guest',
                    'password'  => 'guest',
                ]
            ],
            'async'    =>    [
                'pool'    =>    [
                    'class'        =>    \Imi\AMQP\Pool\AMQPCoroutinePool::class,
                    'config'    =>    [
                        'maxResources'    =>    10,
                        'minResources'    =>    1,
                    ],
                ],
                'resource'    =>    [
                    'host'      => '127.0.0.1',
                    'port'      => 5672,
                    'user'      => 'guest',
                    'password'  => 'guest',
                ]
            ],
        ],
    ]
]
```

默认连接池：

```
[
    'beans' =>  [
        'AMQP'  =>  [
            'defaultPoolName'   =>  'rabbit',
        ],
    ],
]
```

### 连接配置项

[](#连接配置项)

属性名称说明host主机port端口user用户名vhostvhost，默认`/`insistinsistloginMethod默认`AMQPLAIN`loginResponseloginResponselocale默认`en_US`connectionTimeout连接超时readWriteTimeout读写超时keepalivekeepalive，默认`false`heartbeat心跳时间，默认`0`channelRpcTimeout频道 RPC 超时时间，默认`0.0`sslProtocolssl 协议，默认`null`### 消息定义

[](#消息定义)

继承 `Imi\AMQP\Message` 类，可在构造方法中对属性修改。

根据需要可以覆盖实现`setBodyData`、`getBodyData`方法，实现自定义的消息结构。

```
