RabbitMQ в контейнере Docker не позволяет подключаться моему приложению Java - PullRequest
0 голосов
/ 29 мая 2018

Я запускаю 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 для проверки учетных данных?

1 Ответ

0 голосов
/ 30 мая 2018

Очевидно, что вы не можете использовать консоль управления из одного контейнера Docker для управления RabbitMQ в другом контейнере Docker.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...