Невозможно создать Бин после @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);
}
}
Любое предложение приветствуется.