Настройка ConnectionFactory для RabbitMQ в Spring Boot AMQP - PullRequest
0 голосов
/ 02 января 2019

TL; DR Как программно создать фабрику соединений Spring Boot AMQP?

Привет,

Чтобы подключиться к RabbitMQ, я добавил их в свой application.properties файл моего приложения Spring Boot:

spring.rabbitmq.host=host
spring.rabbitmq.port=5672
spring.rabbitmq.username=myapp
spring.rabbitmq.password=mypass

И, насколько я понимаю, эти значения затем используются для создания автоматически сконфигурированного Spring Boot ConnectionFactory, который я затем использую в:

@Bean
@Conditional(RabbitCondition.class)
SimpleMessageListenerContainer container(ConnectionFactory connectionFactory, MessageListenerAdapter completedOrderListenerAdapter) {
    SimpleMessageListenerContainer container = new SimpleMessageListenerContainer();
    container.setConnectionFactory(connectionFactory);
    container.setQueueNames(completedOrderQueueName);
    container.setMessageListener(completedOrderListenerAdapter);
    return container;
}

Я хотел бы иметь возможность использовать учетные данные rabbitMQ из разных файлов среды, которые не application.properties, поэтому я хотел бы создать компонент ConnectionFactory программно.Как мне этого добиться?

Спасибо.

1 Ответ

0 голосов
/ 02 января 2019
@Bean
public ConnectionFactory connectionFactory() {
    CachingConnectionFactory connectionFactory = new CachingConnectionFactory();
    connectionFactory.setAddresses(address);
    connectionFactory.setUsername(username);
    connectionFactory.setPassword(password);
    return connectionFactory;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...