用例:我想基于代理值(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和测试...
正如其他人所说,您应该更改设置并使用IBM MQ Advanced for Developers。
不过,要回答您的问题,您可以简单地用@Beans
注释您的@Configuration
或整个@ConditionalOnProperty
类,例如