Исключение в потоке "main" java.lang.NullPointerException com.javainuse.controllers.ConsumerControllerClient.getEmployee (ConsumerControllerClient)

Я взял ссылку из http://www.javainuse.com/spring/spring_ribbon без каких-либо настроек. Мне удалось запустить eureka-server в порядке, только что добавлено ниже

server.port=8090
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
spring.application.name=eureka-server

Еще у меня есть сотрудник-продюсер, который тоже отлично работает

application.properties

eureka.client.serviceUrl.defaultZone=http://localhost:8090/eureka
eureka.instance.instanceId=${spring.application.name}:${random.value}

bootstrap.properties

spring.application.name=employee-producer
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false

когда я пытался запустить сотрудника-потребителя, я получаю ошибку ниже сильный текстConsumerControllerClient

@Controller
public class ConsumerControllerClient {

    @Autowired
    private LoadBalancerClient loadBalancer;

    public void getEmployee() throws RestClientException, IOException {

        ServiceInstance serviceInstance=loadBalancer.choose("employee-producer");

        System.out.println(serviceInstance.getUri());

        String baseUrl=serviceInstance.getUri().toString();

        baseUrl=baseUrl+"/employee";

        RestTemplate restTemplate = new RestTemplate();
        ResponseEntity<String> response=null;
        try{
        response=restTemplate.exchange(baseUrl,
                HttpMethod.GET, getHeaders(),String.class);
        }catch (Exception ex)
        {
            System.out.println(ex);
        }
        System.out.println(response.getBody());
    }

    private static HttpEntity<?> getHeaders() throws IOException {
        HttpHeaders headers = new HttpHeaders();
        headers.set("Accept", MediaType.APPLICATION_JSON_VALUE);
        return new HttpEntity<>(headers);
    }
}

Ошибка, которую я получаю,

Exception in thread "main" java.lang.NullPointerException
    at com.javainuse.controllers.ConsumerControllerClient.getEmployee(ConsumerControllerClient.java:28)
    at com.javainuse.SpringBootHelloWorldApplication.main(SpringBootHelloWorldApplication.java:21)

SpringBootHelloWorldApplication

@SpringBootApplication
public class SpringBootHelloWorldApplication {

    public static void main(String[] args) throws RestClientException, IOException {
        ApplicationContext ctx = SpringApplication.run(SpringBootHelloWorldApplication.class, args);

        ConsumerControllerClient consumerControllerClient = ctx.getBean(ConsumerControllerClient.class);
        System.out.println(consumerControllerClient);
        consumerControllerClient.getEmployee();

    }

    @Bean
    public ConsumerControllerClient consumerControllerClient() {
        return new ConsumerControllerClient();
    }
}

напишите SpringBootHelloWorldApplication пожалуйста

xingbin 07.04.2018 13:17

@Ivar - Это не служит цели.

Jeff Cook 07.04.2018 17:32

@ user6690200 - Добавлен требуемый класс

Jeff Cook 07.04.2018 17:32
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
24
0

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