当我设置默认端口时,Rabbitmq 拒绝连接

Rabbitmq refuses connection when I set default port

我在 java 中实现它并希望有一个终点的构造函数:

public EndPoint(final String endPointName, final String host, final int port){
    this.name=endPointName;
    ConnectionFactory factory = new ConnectionFactory();

    factory.setHost(host);
    factory.setPort(port);
    connection = factory.newConnection();

    channel = connection.createChannel();
    channel.queueDeclare(name, false, false, false, null);  

}   

而且我收到 EOFException:connection refused 即使我设置了参数 "localhost"15672 据我所知这被认为是默认的。问题出在方法 setPort() 上:没有它一切都会完美。

为什么我认为 15672 端口是正确的?如果没有 setPort(),我可以在 localhost:15672 打开我的浏览器 Rabbitmq 助手并查看我创建的队列。

如何设置端口无异常?

不同版本的 RabbitMQ 有不同的默认端口。如果代码在没有 setPort() 调用的情况下工作,那么我希望 RabbitMQ 客户端运行时库使用的默认值——不管它是什么——是正确的,而你对 15672 的特定选择是不正确的。

"connection refused" 几乎总是意味着实际上没有任何东西在指定端口上侦听。

RabbitMQ的运行协议默认端口为5672;端口 15672 是管理插件的默认端口 ("GUI")。