2016-04-11 19 views
2

私のWindows 7マシンに "erlang"と "rabbitmq"がインストールされています。しかし、このコードを実行しようとすると、私は1つの例外が発生します。ACCESS_REFUSED - 認証メカニズムを使用してログインが拒否されました

package com.rabbitmq; 

import com.rabbitmq.client.Channel; 
import com.rabbitmq.client.Connection; 
import com.rabbitmq.client.ConnectionFactory; 
public class SendMessage { 
    private final static String QUEUE_NAME = "hello"; 
    public static void main(String[] argv) throws Exception { 
    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("UTF-8")); 
    System.out.println(" [x] Sent '" + message + "'"); 
    channel.close(); 
    connection.close(); 
    } 
} 

私はこの例外を取得しています。スレッド内

例外は、 "メイン" com.rabbitmq.client.AuthenticationFailureException:ACCESS_REFUSED - ログインが認証メカニズムPLAINを使用して拒否されました。詳細は ブローカーのログファイルを参照してください。

これはログである:

の11-apr-2016 :: 12:45: 'localhost' のバーチャルホスト

= INFO REPORT ====追加06 === 11- Apr-2016 :: 14:08:52 === AMQP接続を受け入れる< 0.360.0>(127.0.0.1:55327-> 127.0.0.1:5672)

= ERROR REPORT ==== 11-Apr- 2016 :: 14:08:52 === AMQP接続のエラー< 0.360.0>(127.0.0.1:55327 - > 127.0.0.1:5672、状態:開始):

= INFO REPORT ====の11-apr-2016 :: 14:08:AMQP接続< 0.360.0を閉じる52 ===>(127.0.0.1:55327 - > 127.0.0.1:5672)

私は既存のユーザーとADD_USERを取得していない午前ユーザーをリストしようとしています

はまたあなたが作成している場合は、ユーザー名とパスワードを設定する必要があなたのConnectionFactoryにcmdとlink

+0

あなたの投稿を編集し、コメントではなく例外を追加してください。 –

+0

暗号パッケージが不足しているようですが、Erlangのセットアップはどこからダウンロードしましたか? – Gabriele

+0

私は "http://erlangcentral.org/downloads/"からErlangファイルをダウンロードしました –

答えて

5

に動作していない任意のかパスワード "guest"を持つデフォルトユーザー "guest"を使用することができます。これはlocalhostからのみアクセスできます。

+0

はい、彼には別の問題があります。 – Gabriele

+0

はい私はこれを試みた。 factory.setHost( "localhost"); factory.setUsername( "guest"); factory.setPassword( "guest"); しかし、私は同じ例外を取得しています。 –

+0

エラーログの最初の行から:vhost 'localhost'を追加しています。あなたのローカルRabbitMQに新しい仮想ホストを作成しましたか?デフォルトの仮想ホストは "/"である必要があるためです。 – Manmay

0

新しいユーザー(userA)とパスワード(userA123)を作成できます。
そして、送信者と受信者のクラスで

factory.setHost("your_pc_ip"); 
factory.setUsername("userA"); 
factory.setPassword("userA123"); 

を設定します。

関連する問題