作者:Healthcen健康 | 来源:互联网 | 2023-05-30 18:29
篇首语:本文由编程笔记#小编为大家整理,主要介绍了消息不会进入队列相关的知识,希望对你有一定的参考价值。 我已经使用Erlang 20.1设置并运行RabbitMQ 3.5.7。我也在同一台服务器上运
篇首语:本文由编程笔记#小编为大家整理,主要介绍了消息不会进入队列相关的知识,希望对你有一定的参考价值。
我已经使用Erlang 20.1设置并运行RabbitMQ 3.5.7。我也在同一台服务器上运行PostgreSQL 9.5。
在Rabbit中我从这里安装了插件pgsql-listen-exchange
:
https://github.com/gmr/pgsql-listen-exchange
根据rabbitmq-plugins list
它在那里并运行:
[E*] pgsql_listen_exchange 0.3.0-v3.5.x
我在Rabbit Management UI中创建了一个交换和通道,以便将来自PGSQL的消息发送到:
当我从CLI登录PGSQL并尝试发送NOTIFY
消息时,它永远不会通过:
我错过了什么,我遵循了GIT页面上的指示和Rabbit的文档?
答案
从你提供的github reference,
交换的行为类似于direct exchange,这意味着您需要在交换“MyChannel”和队列“MyChannel”之间提供正确的绑定(建议您在开始生产之前更改那些名称,顺便说一下)。
您已使用空路由键定义了一个绑定。
在您的测试中(再次基于github信息):
NOTIFY MyChannel, 'This is a test'
将使用路由键“MyChannel”创建一条消息。由于您配置的绑定(空字符串)与“MyChannel”提供的路由密钥不匹配,因此消息不会传输到队列。