Solucionado (ver solução)
Solucionado
(ver solução)
13
respostas

Erro ao Importar pedido e produtos

Boa tarde comunidade!

Estou enfrentando um erro ao importar o fornecedor com as alterações do projeto, ao tentar subir a aplicação o seguinte erro é gerado:

org.springframework.context.ApplicationContextException: Failed to start bean 'eurekaAutoServiceRegistration'; nested exception is java.lang.NullPointerException: Cannot invoke "org.springframework.cloud.netflix.eureka.CloudEurekaClient.getApplications()" because the return value of "org.springframework.cloud.netflix.eureka.serviceregistry.EurekaRegistration.getEurekaClient()" is null at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:185) ~[spring-context-5.1.7.RELEASE.jar:5.1.7.RELEASE] at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:53) ~[spring-context-5.1.7.RELEASE.jar:5.1.7.RELEASE] at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:360) ~[spring-context-5.1.7.RELEASE.jar:5.1.7.RELEASE] at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:158) ~[spring-context-5.1.7.RELEASE.jar:5.1.7.RELEASE] at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:122) ~[spring-context-5.1.7.RELEASE.jar:5.1.7.RELEASE] at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:893) ~[spring-context-5.1.7.RELEASE.jar:5.1.7.RELEASE] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:163) ~[spring-boot-2.1.5.RELEASE.jar:2.1.5.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:552) ~[spring-context-5.1.7.RELEASE.jar:5.1.7.RELEASE] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:142) ~[spring-boot-2.1.5.RELEASE.jar:2.1.5.RELEASE] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:775) ~[spring-boot-2.1.5.RELEASE.jar:2.1.5.RELEASE] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) ~[spring-boot-2.1.5.RELEASE.jar:2.1.5.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:316) ~[spring-boot-2.1.5.RELEASE.jar:2.1.5.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260) ~[spring-boot-2.1.5.RELEASE.jar:2.1.5.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248) ~[spring-boot-2.1.5.RELEASE.jar:2.1.5.RELEASE] at br.com.alura.microservice.fornecedor.FornecedorApplication.main(FornecedorApplication.java:10) ~[classes/:na] Caused by: java.lang.NullPointerException: Cannot invoke "org.springframework.cloud.netflix.eureka.CloudEurekaClient.getApplications()" because the return value of "org.springframework.cloud.netflix.eureka.serviceregistry.EurekaRegistration.getEurekaClient()" is null at org.springframework.cloud.netflix.eureka.serviceregistry.EurekaServiceRegistry.maybeInitializeClient(EurekaServiceRegistry.java:57) ~[spring-cloud-netflix-eureka-client-2.1.1.RELEASE.jar:2.1.1.RELEASE] at org.springframework.cloud.netflix.eureka.serviceregistry.EurekaServiceRegistry.register(EurekaServiceRegistry.java:38) ~[spring-cloud-netflix-eureka-client-2.1.1.RELEASE.jar:2.1.1.RELEASE] at org.springframework.cloud.netflix.eureka.serviceregistry.EurekaAutoServiceRegistration.start(EurekaAutoServiceRegistration.java:83) ~[spring-cloud-netflix-eureka-client-2.1.1.RELEASE.jar:2.1.1.RELEASE] at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:182) ~[spring-context-5.1.7.RELEASE.jar:5.1.7.RELEASE] ... 14 common frames omitted

Alguém poderia dizer o que precisamente seria esse erro?

Grato!

13 respostas

Anota com um @Bean ou @Component, e injeta com @Autowired na classe que você usa, qualquer coisa coloca seu código. OBS: coloca essa stack em formato de código, fica mais amigável.

Dayson, boa tarde!

Primeiramente muito obrigado pela sua resposta.

Porém eu tenho uma dúvida de qual classe eu colocaria essas anotações que citou, seria na camada do controller mesmo?

Deixarei um print da tela referente ao erro.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Grato!

olá, tudo bem?

Vai te ajudar!

https://github.com/spring-cloud/spring-cloud-netflix/issues/3093

Dayson, olhando o link em que compartilhou basicamente a resolução do problema foi com uma sobescrita de método no caso o onStartup, mas a dúvida seria em qual classe teria esse método?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Pronto, faz assim, roda ele debug pra ver onde está caindo esse error.

Ao tentar executar a aplicação do fornecedor após alteração na classe main o erro ainda persiste.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Qual seu curso de Spring ?

Dayson, boa noite!

O curso é justamente esse que abri a pergunta no caso Microservices com Spring Cloud: Registry, Config Server e Distributed Tracing. Precisamente no capítulo Importando pedido e produtos.

Fico no aguardo.

Hum.. sabe como funciona a injeção de dependência do Spring? Creio eu que isso é problema de injeção de dependência.

Faz assim, verifica seu pom xml se está nessa versão.

verifica seInsira aqui a descrição dessa imagem para ajudar na acessibilidade

Sim, basicamente temos a anotação @Autowired para que o spring crie uma instância daquele atributo declarado na classe, a minha dificuldade está sendo onde injetar essa dependência. Já que o erro ocorre em um JavaNullPointerException.

Pois é, é porque stá nulo porque não está injetando.

no seu pom.xml verifica se está come essa versão. Tenta usar essa versão. OBS: verifica o que escrevi está certo, compara com as dependencias do mvn, vi um erro desse seu na net e viu que era só a dependência.

org.springframework.cloud spring-cloud-starter-netflix-eureka-client 3.1.3

Cara era é isso mesmo, você me salvou, eu não tinha visto o seu print de tela antes peço perdão rsrs, foi só eu mudar o pom.xml para a versão que você citou e funcionou!

Muito Grato!

solução!

Show de bola! Valeu ;)