1
resposta

[Dúvida] - Pós configuração, mas Rabbit não atualiza

Olá,

Eu acabei de configurar meu projeto para dar suporte ao RabbitMQ

Adicionei a config no application.properties

#Config de AMQP
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest

Como também adicionei o arquivo de configuração.

package br.com.alurafood.pagamentos.amqp;

import org.springframework.amqp.core.Queue;
import org.springframework.amqp.core.QueueBuilder;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.core.RabbitAdmin;
import org.springframework.boot.context.event.ApplicationReadyEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class Configuracao {
    
    @Bean
    public Queue fila() {
        return QueueBuilder.nonDurable("").build();
    }
    
    @Bean
    public RabbitAdmin criarRabbitAdmin(ConnectionFactory conn) {
        return new RabbitAdmin(conn);
    }
    
    @Bean
    public ApplicationListener<ApplicationReadyEvent> inicializaAdmin(RabbitAdmin rabbitAdmin){
        return event -> rabbitAdmin.initialize();
    }
    
}

Estou rodando as aplicações "gateway", "pagamentos", "pedidos" e "server" no Eclipse, enquanto meu RabbitMQ estou rodando dentro do meu WSL 2.0 utilizando o sistema Ubuntu 22.04.5 nativamente (sem docker). E isto me permite visualizar o rabbit rodando no meu navegador no windows, poorém ainda fica marcando como sem nenhuma conexão. Alguém poderia me dar uma orientação?

Tela inicial do RabbitMQ após o login na plataforma, ele apresenta as 7 exchaneds, enquanto os demais contadores estão zerados

1 resposta

Olá! Como vai?

Pelo que você descreveu, parece que a conexão com o RabbitMQ não está sendo estabelecida corretamente. Aqui estão algumas coisas que você pode verificar:

  1. Verifique o Host e a Porta: Certifique-se de que o RabbitMQ está realmente rodando em localhost e na porta 5672. Você pode tentar usar o comando telnet localhost 5672 no terminal para verificar se a porta está aberta.

  2. Credenciais: Verifique se as credenciais (guest/guest) são as mesmas configuradas no RabbitMQ. Lembre-se que o usuário guest só pode acessar o RabbitMQ localmente por padrão.

  3. Configuração da Fila: No seu código, a fila está sendo criada sem nome (QueueBuilder.nonDurable("").build();). Tente atribuir um nome à fila, como QueueBuilder.nonDurable("pagamento.concluido").build();.

  4. Verifique o Serviço: Certifique-se de que o serviço do RabbitMQ está ativo e rodando corretamente no WSL. Você pode usar o comando sudo service rabbitmq-server status para verificar o status.

Se após essas verificações o problema persistir, pode ser útil reiniciar o RabbitMQ e as aplicações para garantir que todas as configurações sejam recarregadas corretamente.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.