1
resposta

[Dúvida] Criei a configuração mas modificações não são espelhadas no Rabbit MQ

Prezados, criei a configuração mostrada na classe pagamento mas as modificações não estão aparecendo no Rabbit - como nova fila, conexão, nome da fila, etc.

Já reiniciei o rabbitMQ diversas vezes e nada acontece. Estou utilazando o docker compose.

1 resposta

Olá, Mariana.

Tudo bem?

Vamos tentar identificar o que pode estar acontecendo. Aqui estão alguns pontos que você pode verificar:

  1. Verifique se as configurações estão corretas:

    • No arquivo application.properties, certifique-se de que as configurações do RabbitMQ estão corretas:
      spring.rabbitmq.host=localhost
      spring.rabbitmq.port=5672
      spring.rabbitmq.username=guest
      spring.rabbitmq.password=guest
      
  2. Dependências no pom.xml:

    • Verifique se a dependência do Spring AMQP está corretamente adicionada:
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-amqp</artifactId>
      </dependency>
      
  3. Classe de configuração:

    • Certifique-se de que a classe PagamentoAMQPConfiguration está anotada corretamente e que os métodos estão configurados conforme o exemplo:
      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 PagamentoAMQPConfiguration {
          @Bean
          public Queue criaFila(){
              return QueueBuilder.nonDurable("pagamento.concluido").build();
          }
      
          @Bean
          public RabbitAdmin criaRabbitAdmin(ConnectionFactory conn) {
              return new RabbitAdmin(conn);
          }
      
          @Bean
          public ApplicationListener<ApplicationReadyEvent> inicializaAdmin(RabbitAdmin rabbitAdmin){
              return event -> rabbitAdmin.initialize();
          }
      }
      
  4. Verifique os Logs:

    • Verifique os logs da sua aplicação para ver se há alguma mensagem de erro ou aviso que possa indicar o problema.
  5. Docker Compose:

    • Certifique-se de que o RabbitMQ está rodando corretamente no Docker. Você pode verificar isso com o comando:
      docker-compose ps
      
    • Verifique também os logs do container do RabbitMQ para ver se há algum erro:
      docker-compose logs rabbitmq
      
  6. Acesso ao RabbitMQ:

    • Acesse o painel de administração do RabbitMQ em http://localhost:15672 e verifique se as filas, conexões e outras configurações estão sendo refletidas.

Se tudo estiver configurado corretamente e ainda assim as modificações não aparecerem, pode ser útil reiniciar o Docker Compose para garantir que todas as configurações sejam aplicadas novamente:

docker-compose down
docker-compose up -d

Espero ter ajudado de alguma forma. Qualquer dúvida manda aqui. Bons estudos.