{"id":26648991,"url":"https://github.com/it21826740/spring-boot-rabbitmq-consumer","last_synced_at":"2025-07-15T17:47:22.580Z","repository":{"id":284002163,"uuid":"953515844","full_name":"IT21826740/spring-boot-rabbitmq-consumer","owner":"IT21826740","description":"This project is a Spring Boot application that acts as a RabbitMQ consumer. It listens to a RabbitMQ queue and processes incoming messages asynchronously.","archived":false,"fork":false,"pushed_at":"2025-03-23T15:34:49.000Z","size":20,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-23T16:28:06.510Z","etag":null,"topics":["docker","docker-compose","java","mvn","rabbitmq","rabbitmq-consumer","spring-boot"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IT21826740.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-23T14:50:42.000Z","updated_at":"2025-03-23T15:34:53.000Z","dependencies_parsed_at":"2025-03-23T16:28:09.224Z","dependency_job_id":"0e9e0bda-be05-4b8b-aab7-bbb2b7043fb0","html_url":"https://github.com/IT21826740/spring-boot-rabbitmq-consumer","commit_stats":null,"previous_names":["it21826740/spring-boot-rabbitmq-consumer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IT21826740%2Fspring-boot-rabbitmq-consumer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IT21826740%2Fspring-boot-rabbitmq-consumer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IT21826740%2Fspring-boot-rabbitmq-consumer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IT21826740%2Fspring-boot-rabbitmq-consumer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IT21826740","download_url":"https://codeload.github.com/IT21826740/spring-boot-rabbitmq-consumer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245377954,"owners_count":20605375,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","java","mvn","rabbitmq","rabbitmq-consumer","spring-boot"],"created_at":"2025-03-25T00:47:34.835Z","updated_at":"2025-03-25T00:47:35.602Z","avatar_url":"https://github.com/IT21826740.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🐇 Spring Boot RabbitMQ Consumer  \n\nThis project is a **Spring Boot** application that acts as a **RabbitMQ consumer**. It listens to a RabbitMQ queue and processes incoming messages asynchronously.  \n\n## 📌 Table of Contents  \n- [Introduction to RabbitMQ](#introduction-to-rabbitmq)  \n- [RabbitMQ Usage](#rabbitmq-usage)  \n- [RabbitMQ Producer vs Consumer](#rabbitmq-producer-vs-consumer)  \n- [Project Setup](#project-setup)  \n- [How It Works](#how-it-works)  \n- [Configuration](#configuration)  \n- [Technologies Used](#technologies-used)  \n  \n---\n\n## 🐇 Introduction to RabbitMQ  \n\n**RabbitMQ** is a powerful message broker that enables applications to communicate asynchronously using a queue-based system. It supports multiple messaging patterns, including **point-to-point**, **publish/subscribe**, and **topic-based messaging**.  \n\n---\n\n## 📌 RabbitMQ Usage  \n\nRabbitMQ is widely used for:  \n- **Decoupling microservices**: Enables communication between services without direct dependencies.  \n- **Event-driven architecture**: Supports event-based message passing.  \n- **Load balancing**: Distributes tasks among multiple consumers.  \n- **Asynchronous processing**: Handles background tasks efficiently, such as sending emails, processing orders, or handling logs.  \n\n---\n\n## 🔄 RabbitMQ Producer vs Consumer  \n\n| Feature       | Producer | Consumer |\n|--------------|----------|----------|\n| **Role**     | Sends messages to RabbitMQ queue | Listens for messages from the queue |\n| **Trigger**  | Event-driven or manually invoked | Runs continuously, waiting for messages |\n| **Responsibility** | Generates and formats messages | Processes received messages asynchronously |\n| **Example Use Case** | A payment service sending transaction data | A notification service sending an email confirmation |\n\n---\n\n```bash\n   https://github.com/IT21826740/spring-boot-rabbitmq-producer.git\n   ```\n\n## 🚀 Project Setup  \n\n### Prerequisites:  \n- **Java 17+**  \n- **Spring Boot**  \n- **RabbitMQ installed** (or use [Docker](https://www.rabbitmq.com/download.html))  \n\n### Steps to Run:  \n\n1. Clone the repository:  \n   ```bash\n   git clone https://github.com/IT21826740/spring-boot-rabbitmq-consumer.git\n   cd spring-boot-rabbitmq-consumer\n   ```\n\n2. Install dependencies and build the project:  \n   ```bash\n   mvn clean install\n   ```\n\n3. Start RabbitMQ (if using Docker):  \n   ```bash\n   docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:management\n   ```\n   - **RabbitMQ Management UI**: `http://localhost:15672/`  \n   - **Default login**: `guest / guest`  \n\n4. Run the Spring Boot application:  \n   ```bash\n   mvn spring-boot:run\n   ```\n\n---\n\n## ⚙️ How It Works  \n\n1. The **Producer** sends a message to RabbitMQ.  \n2. RabbitMQ queues the message until it is consumed.  \n3. The **Consumer** listens for messages and processes them asynchronously.  \n\n---\n\n## 🛠 Configuration  \n\n### `application.properties`  \n```properties\nspring.rabbitmq.host=localhost\nspring.rabbitmq.port=5672\nspring.rabbitmq.username=guest\nspring.rabbitmq.password=guest\nspring.rabbitmq.queue.name=my-queue\n```\n\n---\n\n## 🛠 Technologies Used  \n\n- **Spring Boot**  \n- **Spring AMQP**  \n- **RabbitMQ**  \n- **Maven**  \n- **Docker (Optional for running RabbitMQ)**  \n\n---\n \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fit21826740%2Fspring-boot-rabbitmq-consumer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fit21826740%2Fspring-boot-rabbitmq-consumer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fit21826740%2Fspring-boot-rabbitmq-consumer/lists"}