基于en值在Spring Boot中加载Rabbit或IBM mq配置

问题描述 投票:0回答:1

用例:我想基于代理值(env变量)加载IBM或RabbitMq配置。我的侦听器(消息驱动的POJO)正在单独工作。这是必需的,因为我的DeV和Test在Rabbit上运行,而QA和Prod在IBM上运行。

App:春季启动

我正在考虑基于env加载属性。>>

Appconfig.java

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

// Broker值可以是IBM,Rabbit或无]

公共MQQueueConnectionFactory mqQueueConnectionFactory(){..}

...

问题:如何确保仅加载IBM和Rabbit配置,而不同时加载两者。

有没有一种方法可以仅加载一个App配置类和消息侦听器。

PS:使用单个配置(ibm / rabbit),我可以加载并启动我的侦听器而没有任何问题。

用例:我想基于代理值(env变量)加载IBM或RabbitMq配置。我的侦听器(消息驱动的POJO)正在单独工作。这是必需的,因为我的DeV和测试...

java spring spring-boot rabbitmq ibm-mq
1个回答
0
投票

正如其他人所说,您应该更改设置并使用IBM MQ Advanced for Developers。

不过,要回答您的问题,您可以简单地用@Beans注释您的@Configuration或整个@ConditionalOnProperty类,例如

© www.soinside.com 2019 - 2024. All rights reserved.