禁用JMS的个人资料

时间:2019-03-26 14:07:15

标签: spring-boot spring-jms

在Springboot 2中,我可以执行以下操作来禁用嵌入式servlet容器:

spring:
  main:
    web-application-type: none

现在,我正在寻找类似的设置来禁用JMS。目前,我正在使用个人资料,如下所示:

@Profile("!nojms")
public class MQListener {
...

,然后使用带有内容的application-lala.yaml

spring:
  main:
    web-application-type: none

  profiles:
    active: nojms

但是现在当我使用概要文件“ lala”时,JMS侦听器仍在启动。

1 个答案:

答案 0 :(得分:0)

通过CLI参数激活时,profiles.active不会被触发,因为您已经基本激活了配置文件。

您可以将spring.profiles.include添加到application-lala,以无条件激活其他配置文件。

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html#boot-features-adding-active-profiles

  

spring.profiles.active属性遵循与其他属性相同的排序规则:最高的PropertySource获胜。这意味着您可以在application.properties中指定活动配置文件,然后使用命令行开关替换它们。

     

有时,将特定于配置文件的属性添加到活动配置文件中而不是替换它们很有用。 spring.profiles.include属性可用于无条件添加活动配置文件。 SpringApplication入口点还具有Java API,用于设置其他配置文件(即,在由spring.profiles.active属性激活的配置文件之上)。请参阅SpringApplication中的setAdditionalProfiles()方法。

spring:
  main:
    web-application-type: none

  profiles:
      include: nojms