kaliop / queueingbundle-stomp
Kaliop 队列组件 - Stomp 插件
Requires
- fusesource/stomp-php: ^2.1
- kaliop/queueingbundle: ~0.8
- symfony/config: ^2.4 || ^3.0 || ^4.0
- symfony/dependency-injection: ^2.4 || ^3.0 || ^4.0
- symfony/http-kernel: ^2.4 || ^3.0 || ^4.0
Requires (Dev)
- phpunit/phpunit: ^5.7 || ^7.5
- symfony/symfony: ^2.4 || ^3.0 || ^4.0
This package is auto-updated.
Last update: 2024-09-21 02:29:52 UTC
README
为 Kaliop 队列组件添加 STOMP 协议支持
STOMP 是一个被多个消息代理(如 ActiveMQ、Apache Apollo 和 RabbitMQ)使用的协议(但我们建议您使用 AMQP 与 RabbitMQ 通信,这是队列组件原生支持的)
目前该组件已在 Apache Apollo 和 Apache ActiveMQ 上进行测试。
请参阅:[https://stomp.github.io](https://stomp.github.io) 和 [https://github.com/kaliop-uk/kueueingbundle](https://github.com/kaliop-uk/kueueingbundle) 以获取更多信息。
安装
-
通过 Composer 安装该组件。
-
在您的内核类 registerBundles() 中启用 KaliopQueueingPluginsStompBundle 组件。
-
如果不是开发环境,请清除所有缓存
用法
-
启动您选择的消息代理
-
使用适当的管理控制台创建队列
-
Apollo:无需操作,队列和主题基于需求创建
-
ActiveMQ:无需操作,队列和主题基于需求创建
-
RabbitMQ
-
-
根据您的代理设置配置
- 将此组件中的 queueingbundle_stomp_sample.yml 复制到您的 app/config 文件夹,确保您需要它,并对其进行编辑
-
检查您是否可以列出队列
php app/console kaliop_queueing:managequeue list-configured -istomp
尚未支持:从代理请求队列信息
php app/console kaliop_queueing:managequeue info -istomp <queue>
-
向队列推送消息
php app/console kaliop_queueing:queuemessage -istomp <queue> <jsonpayload>
-
从队列接收消息
php app/console kaliop_queueing:consumer -istomp <queue>
注意
-
Stomp 不会像 RabbitMQ 那样原生支持路由键。此外,主题和队列消息模式的实现留给单个代理。
此组件确实添加了对路由键的支持。它还力求在使用的任何代理中复制相同的信息模式。实现方式因代理而异。
特别是
- Apollo 使用具有持久订阅的主题
- ActiveMQ 使用“虚拟主题”( https://activemq.apache.ac.cn/virtual-destinations.html )
- 注意:ActiveMQ 5.5 在使用 '#' 作为键时似乎存在一个与通配符支持相关的错误。如果您遇到此问题,请升级到较新版本
在组件配置中,无论使用哪个代理,都应使用相同的通配符字符:# 和 *