ACCESS_REFUSED - 使用身份验证机制PLAIN拒绝登录

Chi*_*t.B 11 rabbitmq

我在我的Windows 7机器上安装了"erlang"和"rabbitmq".但是当我尝试运行此代码时,我得到一个例外.

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();
  }
}
Run Code Online (Sandbox Code Playgroud)

我得到了这个例外.

线程"main"中的异常com.rabbitmq.client.AuthenticationFailureException:ACCESS_REFUSED - 使用身份验证机制PLAIN拒绝登录.有关详细信息,请参阅代理日志文件

这是日志:

2016年4月11日:: 12:45:06 ===添加vhost'localhost'

= INFO REPORT ==== 11-APR-2016 :: 14:08:52 ===接受AMQP连接<0.360.0>(127.0.0.1:55327 - > 127.0.0.1:5672)

= ERROR REPORT ==== 2016年4月11日:: 14:08:52 === AMQP连接错误<0.360.0>(127.0.0.1:55327 - > 127.0.0.1:5672,状态:开始):

= INFO REPORT ==== 11-APR-2016 :: 14:08:52 ===闭AMQP连接<0.360.0>(127.0.0.1:55327 - > 127.0.0.1:5672)

当我尝试列出用户时,我没有获得任何现有用户,并且add_user也无法在cmd 链接中工作

Man*_*may 15

在您的ConnectionFactory中,您需要设置用户名和密码,如果您已创建任何用户名和密码,或者您可以使用密码为"guest"的默认用户"guest",该密码只能从localhost访问.


小智 5

您可以创建新用户(userA)和密码(userA123)。
并设置

factory.setHost("your_pc_ip");
factory.setUsername("userA");
factory.setPassword("userA123");
Run Code Online (Sandbox Code Playgroud)

在发送者和接收者类中。