使用amqp扩展将消息从PostgreSQL发布到RabbitMQ时出错 - 在代理1上登录失败

问题描述 投票:0回答:1

我试图从PostgreSQL发布消息到RabbitMQ(都在Docker上运行)

SELECT amqp.publish(1, 'amqp.direct', 'EMAIL', 'message');

但它返回false和警告消息:

警告:代理1上的amqp [my_host_address:my_port]登录失败

更新:RabbitMQ Docker容器日志中存在错误:

无法协商连接参数:协商的channel_max = 0(无限制)高于允许的最大值(2047)

amqp.broker表中的代理参数 - 主机,端口,虚拟主机,用户名,密码是正确定义的。可以使用Curl和相同的连接参数将消息从我的计算机控制台发布到RabbitMQ,并将它们添加到消息队列中。

postgresql docker rabbitmq amqp postgresql-11
1个回答
0
投票

有两种可能的解决方案:

  1. 在RabbitMQ portainer堆栈中添加环境变量:
    RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS: '-rabbit channel_max 0'
  1. 修复src/librabbitmq/amqp_socket.c https://github.com/omniti-labs/pg_amqp/issues/23
© www.soinside.com 2019 - 2024. All rights reserved.