PatPanda
PatPanda

Reputation: 5000

Unable to load config data from 'optional:configserver:http://localhost:8090 - SpringBoot 2.4.0 Illford 2020.0.0-M3

Question regarding the new SpringBoot 2.4.0 please.

First, we upgraded our Config Server and Config Client to SpringBoot 2.4.0 + Illford 2020.0.0-M3

Then, we followed the "new way" of setting properties https://spring.io/blog/2020/08/14/config-file-processing-in-spring-boot-2-4 and would like to stick with this new way.

Hence, I configured this in our application.properties (please see the spring.config.import )

server.port=8010
spring.application.name=mycoolservice
spring.config.import=optional:configserver:${SPRING_CLOUD_CONFIG_URI:https://localhost:8090}/config

Then, we deleted our old but working bootstrap.properties

server.port=8010
spring.application.name=mycoolservice
spring.cloud.config.uri=${SPRING_CLOUD_CONFIG_URI:https://localhost:8090}/config
spring.profiles.active=${SPRING_PROFILE_ACTIVE:local}

Finally, we started the app and observed:

 ERROR [,,] 31987 --- [           main] o.s.boot.SpringApplication               : Application run failed

java.lang.IllegalStateException: Unable to load config data from 'optional:configserver:https://localhost:8090/config'
    at org.springframework.boot.context.config.StandardConfigDataLocationResolver.getReferences(StandardConfigDataLocationResolver.java:124) ~[spring-boot-2.4.0.jar:2.4.0]
    at org.springframework.boot.context.config.StandardConfigDataLocationResolver.resolve(StandardConfigDataLocationResolver.java:111) ~[spring-boot-2.4.0.jar:2.4.0]
    at org.springframework.boot.context.config.ConfigDataLocationResolvers.lambda$resolve$1(ConfigDataLocationResolvers.java:114) ~[spring-boot-2.4.0.jar:2.4.0]
    at org.springframework.boot.context.config.ConfigDataLocationResolvers.resolve(ConfigDataLocationResolvers.java:125) ~[spring-boot-2.4.0.jar:2.4.0]
    at org.springframework.boot.context.config.ConfigDataLocationResolvers.resolve(ConfigDataLocationResolvers.java:114) ~[spring-boot-2.4.0.jar:2.4.0]
    at org.springframework.boot.context.config.ConfigDataLocationResolvers.resolve(ConfigDataLocationResolvers.java:106) ~[spring-boot-2.4.0.jar:2.4.0]
    at org.springframework.boot.context.config.ConfigDataImporter.resolve(ConfigDataImporter.java:101) ~[spring-boot-2.4.0.jar:2.4.0]
    at org.springframework.boot.context.config.ConfigDataImporter.resolve(ConfigDataImporter.java:93) ~[spring-boot-2.4.0.jar:2.4.0]


Caused by: java.lang.IllegalStateException: File extension is not known to any PropertySourceLoader. If the location is meant to reference a directory, it must end in '/'
    at org.springframework.boot.context.config.StandardConfigDataLocationResolver.getReferencesForFile(StandardConfigDataLocationResolver.java:199) ~[spring-boot-2.4.0.jar:2.4.0]
    at org.springframework.boot.context.config.StandardConfigDataLocationResolver.getReferences(StandardConfigDataLocationResolver.java:121) ~[spring-boot-2.4.0.jar:2.4.0]
    ... 30 common frames omitted

What is the issue please?

Thank you

Upvotes: 4

Views: 11978

Answers (3)

Durga sai G
Durga sai G

Reputation: 1

This is my configuration in the client-service application.yaml file. To Load the server Optionally By setting the flag True Or False.

spring:
  profiles:
    active: dev-ide

  application:
    name: iap-service

  config:
    import: optional:configserver:${SPRING_CLOUD_CONFIG_URI:http://localhost:8081/api/v1}
  cloud:
    config:
      enabled: true

Upvotes: 0

Durga sai G
Durga sai G

Reputation: 1

I configured it in my application.yaml properties This is my config-service

spring: profiles: active: native, dev-ide

application: name: iap-app-service

cloud: config: server: native: search-location: classpath:/config

Upvotes: 0

PatPanda
PatPanda

Reputation: 5000

This is actually an known error for the combination SpringBoot 2.4.0 + Ilford 2020.0.0-M3.

In order to fix this particular problem, SpringBoot 2.4.0 needs Ilford 2020.0.0-M5.

Upgrading to M5 from M3 will fix the issue.

Thank you

Upvotes: 3

Related Questions