Бин типа 'com.netflix.client.config.IClientConfig', который не может быть найден - PullRequest
0 голосов
/ 29 октября 2018

Я столкнулся с проблемой в приложении ленты. Вот мой код:

@SpringBootApplication
@EnableDiscoveryClient
@RestController
@RibbonClient(name= "bye", configuration=RibbonConfig.class )
public class RibbonAppApplication {
    @Autowired
    private RestTemplate restTemplate;
    public static void main(String[] args) {
        SpringApplication.run(RibbonAppApplication.class, args);
    }
    @GetMapping
    public String getService() {
        return restTemplate.getForObject("http://bye",String.class);
    }
    @Bean
    @LoadBalanced
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }
}

И мой RibbonConfig.class:

@Configuration
public class RibbonConfig {

    @Bean
    public IPing ribbonPing(IClientConfig config) {
        return new PingUrl(false,"/health");
    }

    @Bean
    public IRule ribbonRule(IClientConfig config) {
        return new AvailabilityFilteringRule();
    }
}

Однако я получил следующую ошибку:

Для параметра 0 метода ribbonPing на практике.zuul.zach.ribbonapp.RibbonConfig требуется компонент типа 'com.netflix.client.config.IClientConfig', который не может быть найден.

Действие: Попробуйте определить bean-компонент типа 'com.netflix.client.config.IClientConfig' в вашей конфигурации.

Есть ли способы решить это?

1 Ответ

0 голосов
/ 30 октября 2018

проблема решена, когда я добавляю эту строку в класс RibbonAppApplication

@SpringBootApplication(scanBasePackages={"com.netflix.client.config.IClientConfig"})
...