2015-05-14 13 views
1

Я пытаюсь использовать spring-cloud-config-client для чтения моих свойств конфигурации из приложения spring-cloud-config-server при запуске. Мое приложение - приложение Spring-Boot, и мне нужно сделать добавление определенного заголовка в запрос до его отправки на сервер конфигурации.Как настроить пользовательский RestTemplate при использовании spring-cloud-config-client?

Я прочитал документацию (http://cloud.spring.io/spring-cloud-config/spring-cloud-config.html), и я не могу найти способ настроить ConfigServicePropertySourceLocator с предоставленным RestTemplate.

Что было бы лучшим способом сделать это?

Большое спасибо

ответ

1

Существует ConfigServicePropertySourceLocator.setRestTemplate(). В вашем классе конфигурации добавьте метод @PostConstruct, где вы можете установить RestTemplate.

+0

Пытался что, используя следующую суть, но она появляется @PostConstruct запускаемых после того, как уже были загружены свойства. Нужен ли какой-то порядок? https://gist.github.com/dwelch2344/3424b7752fbb0172ad89 –

+0

Я не уверен, как этот ответ отмечен как полный, так как решение не работает. Если бы решение было достигнуто, было бы неплохо обновить ответ с помощью фактического решения. – Ceekay

1

Чтобы расширить ответ на @spencergibb.

  • Создайте класс конфигурации.

    @Configuration 
    @ConditionalOnClass({ConfigServicePropertySourceLocator.class, RestTemplate.class}) 
    public class ConfigClientBootstrapConfiguration { 
    
        private final ConfigServicePropertySourceLocator locator; 
    
        @Autowired 
        public ConfigClientBootstrapConfiguration(ConfigServicePropertySourceLocator locator) { 
         this.locator = locator; 
        } 
    
        @PostConstruct 
        public void init() { 
         RestTemplate restTemplate = new RestTemplate(); 
         locator.setRestTemplate(restTemplate); 
        } 
    
    } 
    
  • Создание в подкаталоге bootstrap.factoriesresources/META-INF

    # Bootstrap components 
    org.springframework.cloud.bootstrap.BootstrapConfiguration=\ 
    path.to.config.ConfigClientBootstrapConfiguration 
    
Смежные вопросы