2016-04-11 4 views
2

Ich habe "erlang" und "rabbitmq" in meinem Windows 7-Rechner installiert. Aber wenn ich versuche, diesen Code auszuführen, bekomme ich eine Ausnahme.ACCESS_REFUSED - Login wurde mit Authentifizierungsmechanismus abgelehnt PLAIN

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(); 
    } 
} 

Ich erhalte diese Ausnahme.

Exception in thread "main" com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED - Anmeldung verweigert wurde PLAIN Authentifizierungsmechanismus verwenden. Details finden Sie unter in der Broker-Protokolldatei.

Dies ist der log:

11-Apr-2016 :: 12: 45: 06 === Hinzufügen vHost localhost

= INFO REPORT ==== 11- Apr-2016 :: 14: 08: 52 === akzeptiert AMQP-Verbindung < 0.360.0> (127.0.0.1:55327 -> 127.0.0.1:5672)

= FEHLERBERICHT ==== 11-Apr- 2016 :: 14: 08: 52 === Fehler bei AMQP-Verbindung < 0.360.0> (127.0.0.1:55327 -> 127.0.0.1:5672, Status: Start):

= INFO REPORT ==== 11-Apr-2016 :: 14: 08: 52 === AMQP Verbindung geschlossen < 0.360.0> (127.0.0.1:55327 -> 127.0.0.1:5672)

wenn ich die Benutzer zur Liste versuche ich, nicht alle vorhandenen Benutzer und add_user bin immer arbeitet auch nicht in cmd link

+0

Bitte [bearbeiten] Sie Ihren Beitrag und fügen Sie dort die Ausnahme statt in einem Kommentar hinzu. –

+0

Scheint das Crypto-Paket zu fehlen, wo hast du das Erlang-Setup heruntergeladen? – Gabriele

+0

Ich habe die Erlang-Datei von "http://erlangcentral.org/downloads/" heruntergeladen –

Antwort

5

in Ihrem ConnectionFactory- Sie Ihren Benutzernamen und Passwort festlegen müssen, wenn Ihr erstellt haben, eine oder Sie können den Standardbenutzer "guest" mit dem Kennwort "guest" verwenden, auf das nur von localhost aus zugegriffen werden kann.

+0

ja, es ist wahr, aber er hat ein anderes Problem. – Gabriele

+0

ja ich habe das versucht. factory.setHost ("localhost"); factory.setUsername ("guest"); factory.setPassword ("Gast"); Aber immer noch bekomme ich die gleiche Ausnahme. –

+0

Aus der ersten Zeile des Fehlerprotokolls: vhost 'localhost' hinzufügen. Haben Sie auf Ihrem lokalen RabbitMQ einen neuen virtuellen Host erstellt? Weil der virtuelle Standardhost "/" sein sollte. – Manmay

0

können Sie einen neuen Benutzer (userA) und ein neues Kennwort (userA123) erstellen.
Und

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

in Sender und Empfänger Klassen festgelegt.

Verwandte Themen