Я использую JHipster FeignClients для межсервисного общения. Я хочу изменить имя хоста моего feignClient в зависимости от моей среды. Если я пытаюсь собрать свое приложение, я получаю следующую ошибку:
org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'com.abcd.uaa.clients.ProductServiceClient' defined in null: Could not resolve placeholder 'application.productservice' in value "http://${application.productservice}"; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'application.productservice' in value "http://${application.productservice}"
Если я запускаю сборку в среде dev, она, похоже, работает, но моя среда prod не работает. Мое приложение настроено следующим образом:
UaaApp.class
@SpringBootApplication
@EnableFeignClients
@EnableConfigurationProperties({LiquibaseProperties.class, ApplicationProperties.class})
@EnableDiscoveryClient
public class UaaApp implements InitializingBean {...}
ApplicationProperties. java
@ConfigurationProperties(prefix = "application", ignoreUnknownFields = false)
public class ApplicationProperties {
private String productservice = "";
public String getProductservice() {
return productservice;
}
public void setProductservice(String productservice) {
this.productservice = productservice;
}
}
ProductServiceClient. java
@AuthorizedFeignClient(name = "productservice", decode404 = true, url = "${application.productservice}")
public interface ProductServiceClient {...}
application-dev.yml
application:
productservice: http://localhost:8082
application-prod.yml
application:
productservice: http://hostname:8082
Я что-то упустил?