20

ここから「hello world」アプリケーションを作成しようとしています: RabbitMQ Hello World

私のプロデューサークラスのコードは次のとおりです。

package com.mdnaRabbit.producer;

import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.Channel;

import java.io.IOException;

public class App {

    private final static String QUEUE_NAME = "hello";

    public static void main( String[] argv) throws IOException{
        ConnectionFactory factory = new ConnectionFactory();
        factory.setHost("localhost");
        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" + "'");
        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 com.mdnaRabbit.producer.App.main(App.java:16)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

Process finished with exit code 1

これは何が原因ですか?

ここで私の問題の解決策を見つけました ソケット接続の作成中にエラーが発生しました

4

8 に答える 8

20

これに対処するために、RabbitMQサーバーをインストールしました。rabbitmq-serverがインストールされていない場合、このエラーがスローされます。http:// localhost:15672 /にアクセスして、RabbitMQサーバーがインストールされ、稼働していることを確認してください。

于 2013-03-21T05:59:09.550 に答える
3

この「接続が拒否されました」というエラーも表示されました。

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:392)
at java.net.Socket.connect(Socket.java:579)
at com.rabbitmq.client.impl.FrameHandlerFactory.create(FrameHandlerFactory.java:32)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:588)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:612)
at ReceiveLogs.main(ReceiveLogs.java:14)

/etc/rabbitmq/rabbitmq-env.conf内部からの IP アドレスを間違った IP アドレスに設定して、間違いを犯しました。

NODE_IP_ADDRESS=10.0.1.45

この構成パラメーターを削除したところ、エラーはなくなりました。

于 2014-09-08T22:48:02.340 に答える
1

実行するだけでこの問題を解決しました:

 sudo rabbitmq-server
于 2015-10-25T15:04:16.747 に答える
1

私の場合、サーバーを起動しようとすると次のエラーが表示されました <Rabbit intall path>\rabbitmq_server-3.6.0\sbin>rabbitmq-server.bat start ERROR: epmd error for host Protocol: inet_tcp: register/listen error: econnrefused: nxdomain (non-existing domain)

私がしたことは、hostファイルに次の行を追加することでした: 127.0.0.1 localhost

そしてrabbitmq-serverが起動しました。この後、connection refuseエラーが発生しなくなりました。お役に立てれば。

于 2016-03-03T19:05:26.253 に答える
1

Rabbit MQ サーバーを起動します。このサーバーを起動するためのバッチ ファイルは、rabbitmq_server-3.6.0\sbin>rabbitmq-server.bat start の下にあり、動作します。

于 2016-02-01T21:49:17.423 に答える