2

我无法在 8080 上启动 rabbitmq。我该怎么做?我也无法在 ubuntu 上找到 rabbitmq.conf。请帮我解决这个问题。

ConnectionFactory factory = new ConnectionFactory();
factory.setHost("localhost");
factory.setPort(8080);
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();

    channel.queueDeclare(QUEUE_NAME, false, false, false, null);
String message = "Hello World!";
channel.basicPublish("", QUEUE_NAME, null, message.getBytes());
System.out.println(" [x] Sent '" + message + "'");
channel.close();
connection.close();

当我运行它时,我得到了这些错误:

Exception in thread "main" java.net.ConnectException: Connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
    at java.net.Socket.connect(Socket.java:579)
    at com.rabbitmq.client.ConnectionFactory.createFrameHandler(ConnectionFactory.java:445)
    at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:504)
    at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:533)
    at javaapplication3.rabbitchat.main(rabbitchat.java:26)
4

5 回答 5

4

您可以使用以下命令在端口 8080 上启动 rabbitmq 服务:

:~$ RABBITMQ_NODE_PORT=8080 rabbitmq-server

默认情况下,如果在启动时未配置,第一个实例的节点名称为“rabbit”。如果您想使用不同NODENAME或多个 rabbitmq 服务器实例启动 rabbitmq 服务以进行集群,您将需要更改NODENAME以及为NODE_PORT您启动的每个实例更改:

:~$ RABBITMQ_NODE_PORT=<PORT> RABBITMQ_NODENAME=<UNIQUE_NODENAME> rabbitmq-server
于 2012-07-24T12:03:30.730 回答
1

如果有人仍然感兴趣,我会收到“连接被拒绝”错误,只有当我使用推荐“setPort”时。当我评论它时,它起作用了!

我也有输出端口号的代码,它说它设置为 8080,尽管我把 setPort(8080) 拿出来了……很奇怪……

于 2013-03-11T21:18:57.237 回答
1

您确定没有其他进程在端口 8080 上运行吗?这是一个非常受欢迎的港口。(Oracle 使用它,很多应用服务器等)

于 2012-07-24T13:45:44.313 回答
0

Oracle 将在 8080 端口上运行。所以如果你需要在 8080 上运行 rabbitmq,请停止 Oracle 服务。

于 2013-09-20T12:35:18.180 回答
0

rabbitmq.conf 文件通常不附带 Rabbitmq 的 apt 版本,但是 Rabbit 将始终在启动时查找该文件,因此您可以手动创建它。http://www.rabbitmq.com/configure.html#configuration-file

正如 Kurt Du Bois 所说,确保该端口上没有其他任何东西在运行,运行netstat -anlp | grep 8080应该会为您提供该信息。

于 2012-08-06T17:07:36.767 回答