我已经使用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页面上的指示和兔子的文档?
答案 0 :(得分:1)
来自您提供的github reference,
交换的行为类似于direct exchange,这意味着您需要在交易所" MyChannel"之间提供正确的绑定。和队列" MyChannel" (建议您在投入生产之前更改其名称,顺便说一句)。
您已使用空路由键定义了一个绑定。
在您的测试中(同样基于github信息):
NOTIFY MyChannel, 'This is a test'
将使用路由键" MyChannel"创建一条消息。 由于您配置的绑定(空字符串)与提供的路由密钥(#34; MyChannel")不匹配,因此消息不会传输到队列。