kaliop/queueingbundle-stomp

Kaliop 队列组件 - Stomp 插件

v0.3.1 2019-10-28 22:33 UTC

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) 以获取更多信息。

安装

  1. 通过 Composer 安装该组件。

  2. 在您的内核类 registerBundles() 中启用 KaliopQueueingPluginsStompBundle 组件。

  3. 如果不是开发环境,请清除所有缓存

用法

  1. 启动您选择的消息代理

  2. 使用适当的管理控制台创建队列

    • Apollo:无需操作,队列和主题基于需求创建

    • ActiveMQ:无需操作,队列和主题基于需求创建

    • RabbitMQ

  3. 根据您的代理设置配置

    • 将此组件中的 queueingbundle_stomp_sample.yml 复制到您的 app/config 文件夹,确保您需要它,并对其进行编辑
  4. 检查您是否可以列出队列

     php app/console kaliop_queueing:managequeue list-configured -istomp
    

    尚未支持:从代理请求队列信息

     php app/console kaliop_queueing:managequeue info -istomp <queue>
    
  5. 向队列推送消息

     php app/console kaliop_queueing:queuemessage -istomp <queue> <jsonpayload>
    
  6. 从队列接收消息

     php app/console kaliop_queueing:consumer -istomp <queue>
    

注意

  • Stomp 不会像 RabbitMQ 那样原生支持路由键。此外,主题和队列消息模式的实现留给单个代理。

    此组件确实添加了对路由键的支持。它还力求在使用的任何代理中复制相同的信息模式。实现方式因代理而异。

    特别是

    • Apollo 使用具有持久订阅的主题
    • ActiveMQ 使用“虚拟主题”( https://activemq.apache.ac.cn/virtual-destinations.html
    • 注意:ActiveMQ 5.5 在使用 '#' 作为键时似乎存在一个与通配符支持相关的错误。如果您遇到此问题,请升级到较新版本

    在组件配置中,无论使用哪个代理,都应使用相同的通配符字符:# 和 *

License Latest Stable Version Total Downloads

Build Status Scrutinizer Code Quality SensioLabsInsight