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

Erro na execução MS Pagamentos

Ao rodar a aplicação, recebo a seguinte negativa no log:

org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'applicationTaskExecutor': Singleton bean creation not allowed while singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:220) ~[spring-beans-6.1.3.jar:6.1.3]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) ~[spring-beans-6.1.3.jar:6.1.3]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:204) ~[spring-beans-6.1.3.jar:6.1.3]
    at org.springframework.context.event.AbstractApplicationEventMulticaster.retrieveApplicationListeners(AbstractApplicationEventMulticaster.java:265) ~[spring-context-6.1.3.jar:6.1.3]
    at org.springframework.context.event.AbstractApplicationEventMulticaster.getApplicationListeners(AbstractApplicationEventMulticaster.java:222) ~[spring-context-6.1.3.jar:6.1.3]
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:144) ~[spring-context-6.1.3.jar:6.1.3]
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:451) ~[spring-context-6.1.3.jar:6.1.3]
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:457) ~[spring-context-6.1.3.jar:6.1.3]
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:384) ~[spring-context-6.1.3.jar:6.1.3]
    at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1127) ~[spring-context-6.1.3.jar:6.1.3]
    at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1090) ~[spring-context-6.1.3.jar:6.1.3]
    at org.springframework.cloud.context.named.NamedContextFactory.destroy(NamedContextFactory.java:99) ~[spring-cloud-context-3.1.2.jar:3.1.2]
    at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:211) ~[spring-beans-6.1.3.jar:6.1.3]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:587) ~[spring-beans-6.1.3.jar:6.1.3]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:559) ~[spring-beans-6.1.3.jar:6.1.3]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:1202) ~[spring-beans-6.1.3.jar:6.1.3]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:520) ~[spring-beans-6.1.3.jar:6.1.3]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:1195) ~[spring-beans-6.1.3.jar:6.1.3]
    at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1183) ~[spring-context-6.1.3.jar:6.1.3]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:637) ~[spring-context-6.1.3.jar:6.1.3]
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.2.2.jar:3.2.2]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[spring-boot-3.2.2.jar:3.2.2]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) ~[spring-boot-3.2.2.jar:3.2.2]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) ~[spring-boot-3.2.2.jar:3.2.2]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) ~[spring-boot-3.2.2.jar:3.2.2]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) ~[spring-boot-3.2.2.jar:3.2.2]
    at br.com.alurafood.pagamentos.PagamentosApplication.main(PagamentosApplication.java:16) ~[classes/:na]
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Method.java:577) ~[na:na]
    at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) ~[spring-boot-devtools-3.2.2.jar:3.2.2]

Posterior a isso, a aplicação reclama que não foi inserido a dependencia de loadbalancer no pom.xml !(https://cdn1.gnarususercontent.com.br/1/304593/fed7b81a-58a9-4dfd-ade1-6dbfa63857ab.png)

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

5 respostas

Link do repositório: https://github.com/LeonardoPadiilha/pagamentos

Olá, Leonardo! O erro BeanCreationNotAllowedException geralmente ocorre quando um bean é solicitado durante a fase de destruição do Spring BeanFactory. Isso pode acontecer se você estiver tentando acessar um bean enquanto o contexto do Spring está sendo encerrado.

Uma possível causa desse problema é a execução de algum código em um método de destruição de um bean ou durante o encerramento de um contexto do Spring. Se você estiver usando algum tipo de executor de tarefas ou serviço assíncrono, certifique-se de que todas as tarefas foram concluídas ou canceladas antes do contexto do Spring ser encerrado.

Outra possibilidade é que você possa ter mais de uma instância do Tomcat em execução. Nesse caso, você deve encerrar todas as instâncias e abrir apenas uma.

Se nenhuma dessas soluções resolver o problema, pode ser útil verificar se há algum problema com as dependências do seu projeto. Às vezes, conflitos de dependência podem levar a comportamentos inesperados.

Espero que isso ajude! Se você tiver mais perguntas ou encontrar mais problemas, sinta-se à vontade para perguntar. Estou aqui para ajudar!

https://cursos.alura.com.br/forum/topico-o-projeto-nao-esta-funcionando-pode-me-ajuda-228398

Boa Noite, Leonardo! Espero que esteja bem! Tenta atualizar a versão do starter-openfeign:

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-openfeign</artifactId>
        <version>4.1.0</version>
    </dependency>

E adicona esse bloco de código após a o fechamendo das dependências.

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-parent</artifactId>
            <version>2023.0.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Espero que isso o ajude.

Boa tarde Carlos, tudo bem e com você ?

Obrigado pelas dicas, mas infelizmente nenhuma das duas surtiu efeito, segue abaixo:

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

O que achei estranho é que ele esta reclamando do pedidos-msInsira aqui a descrição dessa imagem para ajudar na acessibilidade

solução!

Consegui resolver o problema.

O motivo do erro era que o Feign ao saber que irá realizar a chamada de um outro MS que é configurado como multipla instância, precisa de um Load Balancer para realizar o balanceamento de carga. Como configuramos o pedido-ms para poder ter múltiplas instâncias, ocorria esse problema. Após adicionar a dependência do load balancer, a aplicação subiu corretamente. Insira aqui a descrição dessa imagem para ajudar na acessibilidade