如果在其他配置文件中添加路由,为什么主配置中的路由未加载?

时间:2019-07-10 10:43:07

标签: java spring-boot spring-cloud-gateway

我正在设置一个具有3个环境(DEV,QA,PROD)的Spring Cloud Gateway应用程序。所有主要路由都放置在主要配置文件中,但是我还有其他路由需要在环境配置文件中声明。请检查以下示例配置文件:

test.yaml(main)

 spring:
  cloud:
    gateway:
      routes:
        - id: test-routes-1
          uri: http://testing1.com/
        - id: test-routes
          uri: http://testing.com/

test-dev.yaml

 spring:
  cloud:
    gateway:
      routes:
        - id: test-routes
          uri: http://testing-dev.com/

当我使用此配置文件部署应用程序时,只有dev路由可用,而主配置中的其他路由不可用。我该如何解决?

1 个答案:

答案 0 :(得分:1)

这是默认行为。无法解决此AFAIK。

  

特定于配置文件的属性是从与标准application.properties相同的位置加载的,特定于文件的文件总是会覆盖非特定文件,无论特定于文件的文件是在打包jar的内部还是外部。

请参见https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-profile-specific-properties