Невозможно создать Бин после @Autowired EurekaDiscoveryClient

Я пытаюсь создать bean cassandraServer, который использует IP-адрес, полученный с сервера Netflix Eureka, но каждый раз он выдает NPE для discoveryClient.

Как я могу создать Бин, используя свойства из Eureka Server?

@EnableDiscoveryClient
@SpringBootApplication
public class EurekaClientApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaClientApplication.class, args);
    }

    @Autowired
    private DiscoveryClient discoveryClient;

    @Bean
    public String cassandraServer() throws InterruptedException {
        return this.discoveryClient.getInstances("some-service").get(0).getHost();
    }
}

@RestController
class ServiceInstanceRestController {

    @Autowired
    private DiscoveryClient discoveryClient;

    @RequestMapping("/service-instances/{applicationName}")
    public List<ServiceInstance> serviceInstancesByApplicationName(@PathVariable String applicationName) {
        return this.discoveryClient.getInstances(applicationName);
    }
}

Любое предложение приветствуется.

0 ответов

Другие вопросы по тегам