postgresql - 消息不进入队列

标签 postgresql rabbitmq

我已经安装并运行了带有 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 中创建了一个交换器和 channel ,用于将消息从 PGSQL 发送到:

enter image description here enter image description here enter image description here enter image description here

当我从 CLI 登录到 PGSQL 并尝试发送 NOTIFY 消息时,它从未通过:

enter image description here

我错过了什么,我已经按照 Rabbit 的 GIT 页面和文档上的说明进行操作了吗?

最佳答案

来自github reference你提供的,

交易所的行为类似于 direct exchange ,这意味着您需要在交换“MyChannel”和队列“MyChannel”之间提供适当的绑定(bind)(建议您在投入生产之前更改它们的名称,顺便说一句)

您已经定义了一个具有空路由键的绑定(bind)。

在你的测试中(再次基于github信息):

NOTIFY MyChannel, 'This is a test'

将创建一 strip 有路由键“MyChannel”的消息。 由于您配置的绑定(bind)(空字符串)与提供的路由键“MyChannel”不匹配,因此消息不会传输到队列。

关于postgresql - 消息不进入队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47891938/

相关文章:

postgresql - 相同的查询在不同版本的 postgresql 中给出不同的结果!

python - 如何将 numpy 字符串数组(带逗号)保存到 CSV?

postgresql - 我可以在学说 2 中使用窗口函数吗?

python - 连接问题 - Celery/Django

python - 使用 Rabbitmq 作为代理, celery worker 在推送 api 或拉 api 上工作吗?

sql - 如何在 PostgreSQL 中组合两列整数?

postgresql - PostgreSQL的external_pid_file是否检查关闭?

windows - RabbitMQ 启动失败

connection - RabbitMQ客户端无法连接到远程RabbitMQ服务器

.net - 对 Rabbit + .Net + Windows 的 SSL 支持