Я запускаю RabbitMQ в контейнере Docker.В дополнение к образу RabbitMQ я также установил плагин управления RabbitMQ.
Используя плагин, я создал пользователя 'executor'.Я устанавливаю права доступа на
Virtual host /
Configure regexp .*
Write regexp .*
Read regexp .*
Вот мой код
public static void main(String[] argv) throws Exception {
String message;
ConnectionFactory factory = new ConnectionFactory();
factory.setHost(SERVER);
factory.setUsername(RABBIT_USER);
factory.setPassword(RABBIT_USER_PASSWORD);
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
channel.queueDeclare(QUEUE_NAME, IS_DURABLE_QUEUE, false, false, null);
message = argv.length==1?argv[0]:"Hello World!";
channel.basicPublish("", QUEUE_NAME, null, message.getBytes());
System.out.println(" [x] Sent '" + message + "'");
channel.close();
connection.close();
}
Когда я запускаю это приложение, я получаю следующее исключение
Exception in thread "main" com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile.
at com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:362)
at com.rabbitmq.client.impl.recovery.RecoveryAwareAMQConnectionFactory.newConnection(RecoveryAwareAMQConnectionFactory.java:64)
at com.rabbitmq.client.impl.recovery.AutorecoveringConnection.init(AutorecoveringConnection.java:134)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:997)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:956)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:914)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:1068)
at ca.meh.hial.producer.Producer.main(Producer.java:24)
Ясно, что пользователь может 'подключиться из-за проблем с аутентификацией.
Я не уверен, нужно ли мне устанавливать какой-либо другой плагин.Или мне нужно настроить контейнер Docker для проверки учетных данных?