Skip to content

marcosvrc/springbootrabbitmq

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring Boot com RabbitMQ

Java Spring Boot RabbitMQ License

Este projeto demonstra a integração entre Spring Boot e RabbitMQ, implementando um sistema de mensageria assíncrono. O exemplo é baseado no guia oficial do Spring, mas com melhorias e atualizações para as versões mais recentes das tecnologias.

🚀 Tecnologias Utilizadas

  • Java 21
  • Spring Boot 3.2.3
  • Spring AMQP
  • RabbitMQ 3.12
  • Docker & Docker Compose
  • Oracle Database
  • OpenZipkin (para rastreamento distribuído)
  • Lombok
  • Maven

📋 Pré-requisitos

  • JDK 21
  • Docker e Docker Compose
  • Maven 3.6+
  • IDE de sua preferência (recomendado: IntelliJ IDEA ou VS Code)

🔧 Configuração do Ambiente

  1. Clone o repositório:
git clone https://github.com/marcosvrc/springbootrabbitmq.git
cd springbootrabbitmq
  1. Inicie os serviços com Docker Compose:
cd src/main/resources
docker-compose up -d
  1. Verifique se os serviços estão rodando:

🏃‍♂️ Executando o Projeto

  1. Compile o projeto:
mvn clean install
  1. Execute a aplicação:
mvn spring-boot:run

🎯 Funcionalidades

  • Publicação e consumo de mensagens assíncronas
  • Filas durável e não-durável
  • Exchanges do tipo Direct, Fanout e Topic
  • Dead Letter Queue para tratamento de erros
  • Rastreamento distribuído com Zipkin
  • Monitoramento via RabbitMQ Management Console

📦 Estrutura do Projeto

src/
├── main/
│   ├── java/
│   │   └── br/com/springbootrmq/
│   │       ├── config/         # Configurações do RabbitMQ
│   │       ├── controller/     # REST Controllers
│   │       ├── model/         # Entidades
│   │       ├── service/       # Lógica de negócio
│   │       └── Application.java
│   └── resources/
│       ├── application.properties
│       └── docker-compose.yaml
└── test/
    └── java/
        └── br/com/springbootrmq/
            └── # Testes unitários e de integração

🔍 Monitoramento

🤝 Contribuindo

  1. Fork o projeto
  2. Crie sua Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit suas mudanças (git commit -m 'Add some AmazingFeature')
  4. Push para a Branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

📝 Licença

Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

📫 Contato

Marcos Vinício - @marcosvrc

Link do projeto: https://github.com/marcosvrc/springbootrabbitmq

About

Exemplo de Spring Boot com RabbitMQ

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages