Загрузить конфигурацию Rabbit или IBM mq в Spring Boot на основе значения en - PullRequest
0 голосов
/ 07 апреля 2020

Вариант использования: я хочу загрузить конфигурацию IBM или RabbitMq на основе значения посредника (переменная env). Мои слушатели (Message Driven POJO) работают индивидуально. Это необходимо, потому что мои DeV и Test выполняются на Rabbit и QA, а Prod работает на IBM.

Приложение: Spring Boot

Я думаю о загрузке свойств на основе env.

Appconfig. java

@Configuration
    @ConfigurationProperties(classpath: application-${spring.profile.active}-{config-broker}.properties)

//Broker value can be IBM, Rabbit or None

public MQQueueConnectionFactory mqQueueConnectionFactory(){
..
}

Вопрос: Как убедиться, что я загружаю только конфигурацию IBM и Rabbit и не загружаю оба.

Есть ли способ загрузить только одно приложение Класс config и прослушиватели сообщений.

PS: с одним конфигом (ibm / rabbit) я могу загружать и запускать прослушиватель без проблем.

1 Ответ

1 голос
/ 07 апреля 2020

Как уже говорили другие, вам, вероятно, следует изменить свои настройки и использовать IBM MQ Advanced для разработки.

Однако, чтобы ответить на ваш вопрос, вы можете просто аннотировать свои @Beans или целые @Configuration классы с @ConditionalOnProperty, как

@ConditionalOnProperty(name = "spring.profile.active", havingValue = "dev")
@Bean
// RabbitMQ...
...