我在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助手,看看我创建的队列。
如何设置端口而没有例外?
答案 0 :(得分:1)
RabbitMQ的操作协议的默认端口是5672;端口15672是管理插件的默认端口(" GUI")。
答案 1 :(得分:0)
RabbitMQ的不同版本具有不同的默认端口。如果代码在没有setPort()
调用的情况下工作,那么我希望RabbitMQ客户端运行时库使用的默认值 - 无论是什么 - 是正确的,并且您对15672的具体选择不正确。
“拒绝连接”几乎总是意味着没有任何东西实际上正在侦听指定的端口。