{"id":22475095,"url":"https://github.com/setxpro/message-brocker-rabbitmq","last_synced_at":"2026-04-11T03:31:59.110Z","repository":{"id":227970809,"uuid":"772829499","full_name":"setxpro/message-brocker-rabbitmq","owner":"setxpro","description":"comunication with message brocker | Spring AMQP and RabbitMQ","archived":false,"fork":false,"pushed_at":"2024-03-16T02:57:58.000Z","size":70,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-02T04:55:58.105Z","etag":null,"topics":["amqp","docker-compose","hibernate","java","jpa","maven","microservice","mysql","rabbitmq","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/setxpro.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":"2024-03-16T02:06:37.000Z","updated_at":"2024-03-16T02:58:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"9701a1d8-a25d-49c1-9830-b1993a8aedf4","html_url":"https://github.com/setxpro/message-brocker-rabbitmq","commit_stats":null,"previous_names":["setxpro/message-brocker-rabbitmq"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/setxpro/message-brocker-rabbitmq","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/setxpro%2Fmessage-brocker-rabbitmq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/setxpro%2Fmessage-brocker-rabbitmq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/setxpro%2Fmessage-brocker-rabbitmq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/setxpro%2Fmessage-brocker-rabbitmq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/setxpro","download_url":"https://codeload.github.com/setxpro/message-brocker-rabbitmq/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/setxpro%2Fmessage-brocker-rabbitmq/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31668046,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T17:19:37.612Z","status":"online","status_checked_at":"2026-04-11T02:00:05.776Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["amqp","docker-compose","hibernate","java","jpa","maven","microservice","mysql","rabbitmq","spring-boot"],"created_at":"2024-12-06T13:13:42.548Z","updated_at":"2026-04-11T03:31:59.084Z","avatar_url":"https://github.com/setxpro.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spring AMQP and RabbitMQ\n\n![Java](https://img.shields.io/badge/java-%23ED8B00.svg?style=for-the-badge\u0026logo=openjdk\u0026logoColor=white)\n![Spring](https://img.shields.io/badge/spring-%236DB33F.svg?style=for-the-badge\u0026logo=spring\u0026logoColor=white)\n![RabbitMQ](https://img.shields.io/badge/Rabbitmq-FF6600?style=for-the-badge\u0026logo=rabbitmq\u0026logoColor=white)\n![MySQL](https://img.shields.io/badge/mysql-4479A1.svg?style=for-the-badge\u0026logo=mysql\u0026logoColor=white)\n![Hibernate](https://img.shields.io/badge/Hibernate-59666C?style=for-the-badge\u0026logo=Hibernate\u0026logoColor=white)\n![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge\u0026logo=docker\u0026logoColor=white)\n![Apache Maven](https://img.shields.io/badge/Apache%20Maven-C71A36?style=for-the-badge\u0026logo=Apache%20Maven\u0026logoColor=white)\n\nPeer-to-peer messaging: This is the distribution pattern used in message queues with a one-to-one relationship between the sender and recipient of the message. Each message in the queue is sent to only one recipient and is used only once. Peer-to-peer messaging is called when a message is to be acted upon only once. Examples of suitable use cases for this style of messaging include payroll and financial transaction processing. In these systems, both senders and recipients need a guarantee that each payment will be sent once and only once.\n\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Configuration](#configuration)\n- [Usage](#usage)\n- [API Endpoints](#api-endpoints)\n- [Database](#database)\n- [Author](#author)\n\n\n## Installation\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/setxpro/message-brocker-rabbitmq.git\n```\n2. Install dependencies with Maven\n\n3. Run docker-compose up to create database and rabbitmq image\n\n## Configuration\n\n1. Create a configuration in `application.yml`\n\n```yaml\nserver:\n  - port: 8080 \n\nspring:\n  datasource:\n    username: root\n    url: jdbc:mysql://localhost:3306/orders?createDatabaseIfNotExists=true\u0026serverTimezone=UTC\u0026useSSL=false\n    password: ''\n  jpa:\n    show-sql: 'true'\n    hibernate:\n      ddl-auto: 'update'\n\n  rabbitmq:\n    host: localhost\n    port: 5672\n    username: rabbitmq\n    password: rabbitmq\n```\n\n2. Create a configuration in `pom.xml`\n\n```xml\n\u003cdependencies\u003e\n\t\t\u003cdependency\u003e\n\t\t\t\u003cgroupId\u003eorg.springframework.boot\u003c/groupId\u003e\n\t\t\t\u003cartifactId\u003espring-boot-starter-data-jpa\u003c/artifactId\u003e\n\t\t\u003c/dependency\u003e\n\t\t\u003cdependency\u003e\n\t\t\t\u003cgroupId\u003eorg.springframework.boot\u003c/groupId\u003e\n\t\t\t\u003cartifactId\u003espring-boot-starter-web\u003c/artifactId\u003e\n\t\t\u003c/dependency\u003e\n\n\t\t\u003cdependency\u003e\n\t\t\t\u003cgroupId\u003eorg.springframework.boot\u003c/groupId\u003e\n\t\t\t\u003cartifactId\u003espring-boot-devtools\u003c/artifactId\u003e\n\t\t\t\u003cscope\u003eruntime\u003c/scope\u003e\n\t\t\t\u003coptional\u003etrue\u003c/optional\u003e\n\t\t\u003c/dependency\u003e\n\t\t\u003cdependency\u003e\n\t\t\t\u003cgroupId\u003ecom.mysql\u003c/groupId\u003e\n\t\t\t\u003cartifactId\u003emysql-connector-j\u003c/artifactId\u003e\n\t\t\t\u003cscope\u003eruntime\u003c/scope\u003e\n\t\t\u003c/dependency\u003e\n\t\t\u003cdependency\u003e\n\t\t\t\u003cgroupId\u003eorg.springframework.boot\u003c/groupId\u003e\n\t\t\t\u003cartifactId\u003espring-boot-starter-test\u003c/artifactId\u003e\n\t\t\t\u003cscope\u003etest\u003c/scope\u003e\n\t\t\u003c/dependency\u003e\n\n\t\t\u003cdependency\u003e\n\t\t\t\u003cgroupId\u003eorg.springframework.boot\u003c/groupId\u003e\n\t\t\t\u003cartifactId\u003espring-boot-starter-amqp\u003c/artifactId\u003e\n\t\t\u003c/dependency\u003e\n\n\t\u003c/dependencies\u003e\n```\n\n3. Create a job with docker in `docker-compose.yml`\n\t\n\t```yml\n\t\n\tservices:\n  \t\tmysql-8:\n  \t\t  image: mysql:8.0.18\n  \t\t  command: --default-authentication-plugin=mysql_native_password\n  \t\t  environment:\n  \t\t    MYSQL_ALLOW_EMPTY_PASSWORD: \"yes\"\n  \t\t    MYSQL_ROOT_PASSWORD: \"\"\n  \t\t    MYSQL_DATABASE: \"orders\"\n  \t\t  ports:\n  \t\t    - \"3306:3306\"\n\t\t\n\t```\n\n## Usage\n\nAfter your realized all configurations\n\n1. Start the application with Maven\n2. Start docker containers Rabbitmq and mysql\n\n## API Endpoints\nThe API provides the following endpoints:\n    \n    Endpoints\n        [order-service]  - http://localhost:8080/v1/order\n\n\n```json\n    {\n        \"id\": 16,\n        \"value\": 2500,\n        \"paid\": false\n    }\n    \n```\n\n## RabbitMQ\n\n    Endpoints\n        [PAINEL] - http://localhost:15672/\n        [CONNECTION] - http://localhost:5672/\n\n    Queue\n        [notification-service] - orders.v1.order-created.send-notification\n        [cashback-service] - orders.v1.order-created.generate-cashback\n\n## DATABASE\n\nMysql - created with Docker\n\n## Author\n\n👤 **Patrick Anjos**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsetxpro%2Fmessage-brocker-rabbitmq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsetxpro%2Fmessage-brocker-rabbitmq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsetxpro%2Fmessage-brocker-rabbitmq/lists"}