Я использую Spring Cloud Angel.SR4. Мой класс конфигурации для создания bean-компонента OAuth2RestTemplate
выглядит следующим образом:
@Configuration
public class OAuthClientConfiguration {
@Autowired
private MyClientCredentialsResourceDetails resource;
public OAuthClientConfiguration() {
}
@Bean
@Qualifier("MyOAuthRestTemplate")
public OAuth2RestTemplate restTemplate() {
return new OAuth2RestTemplate(this.resource);
}
}
Эта конфигурация полностью удобна, так как я использую этот RestTemplate
в Feign RequestInterceptor
для внедрения токенов доступа в запросы feign. Проблема в том, что когда я аннотирую автосвязанный OAuth2RestTemplate
с помощью @LoadBalanced
, механизм внедрения зависимостей вызывает исключение NoSuchBeanDefinitionException
. Например, следующее вызовет исключение:
@LoadBalanced
@Autowired
@Qualifier("MyOAuthRestTemplate")
private OAuth2RestTemplate restTemplate;
и когда я удаляю @LoadBalanced
, все работает нормально. Что не так с @LoadBalanced
? Нужны ли дополнительные настройки (у меня уже есть @EnableEurekaClient
)?