{"id":28384983,"url":"https://github.com/mohammedsohail-dev/java-rabbitmq-demo","last_synced_at":"2025-07-09T04:34:37.350Z","repository":{"id":161894476,"uuid":"628712146","full_name":"mohammedsohail-dev/Java-RabbitMQ-Demo","owner":"mohammedsohail-dev","description":"This assignment has the purpose of practising pub/sub message oriented programming. ","archived":false,"fork":false,"pushed_at":"2025-04-27T16:26:08.000Z","size":408,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-26T03:37:48.391Z","etag":null,"topics":[],"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/mohammedsohail-dev.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,"zenodo":null}},"created_at":"2023-04-16T19:35:22.000Z","updated_at":"2025-05-06T16:02:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"de9a0dcf-8432-4a8d-b7b5-73ef1e4b92b7","html_url":"https://github.com/mohammedsohail-dev/Java-RabbitMQ-Demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mohammedsohail-dev/Java-RabbitMQ-Demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohammedsohail-dev%2FJava-RabbitMQ-Demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohammedsohail-dev%2FJava-RabbitMQ-Demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohammedsohail-dev%2FJava-RabbitMQ-Demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohammedsohail-dev%2FJava-RabbitMQ-Demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mohammedsohail-dev","download_url":"https://codeload.github.com/mohammedsohail-dev/Java-RabbitMQ-Demo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohammedsohail-dev%2FJava-RabbitMQ-Demo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264394712,"owners_count":23601352,"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":[],"created_at":"2025-05-30T09:40:58.406Z","updated_at":"2025-07-09T04:34:37.334Z","avatar_url":"https://github.com/mohammedsohail-dev.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RabbitMQ Topic Exchange System with MongoDB Integration\n\n![Java](https://img.shields.io/badge/Java-11-%23ED8B00?logo=openjdk\u0026logoColor=white)\n![RabbitMQ](https://img.shields.io/badge/RabbitMQ-5.15.0-%23FF6600?logo=rabbitmq)\n![MongoDB](https://img.shields.io/badge/MongoDB-3.12.12/4.2.0-%2347A248?logo=mongodb)\n![gRPC](https://img.shields.io/badge/gRPC-1.15.1-%230052CC?logo=grpc)\n![Maven](https://img.shields.io/badge/Maven-3.8.1-%23C71A36?logo=apachemaven)\n\nA high-performance messaging system using RabbitMQ topic exchanges with MongoDB persistence and gRPC support.\n\n## Key Features\n\n- **RabbitMQ Topic Exchange** implementation (amqp-client 5.15.0)\n- Multiple specialized consumers with different routing patterns\n- **MongoDB integration** with both legacy (3.12.12) and modern (4.2.0) drivers\n- **gRPC support** (1.15.1) for high-performance RPC\n- Protocol Buffers serialization (protobuf-java 3.6.1)\n- Configuration management via external Config.txt\n\n## Technology Stack\n\n### Core Dependencies\n- **Messaging**: `com.rabbitmq:amqp-client:5.15.0`\n- **Database**: \n  - `org.mongodb:mongo-java-driver:3.12.12`\n  - `org.mongodb:mongodb-driver-core:4.2.0`\n- **RPC**: \n  - `io.grpc:grpc-*:1.15.1`\n  - `com.google.protobuf:protobuf-java:3.6.1`\n- **Utilities**: \n  - `javax.annotation:javax.annotation-api:1.2`\n  - `jakarta.servlet:jakarta.servlet-api:4.0.2`\n\n## Project Structure\n\n\n![image](https://github.com/user-attachments/assets/262e0cd7-4aff-426b-b536-239673ec0b0b)\n\n## Advanced Features\n\n    gRPC integration for high-performance service communication\n\n    Protocol Buffers for efficient message serialization\n\n\n## Development Notes\n\n    The project uses Maven resource filtering for Config.txt\n\n    All RabbitMQ connection management is handled in ConnectionManager.java\n\n    MongoDB DAOs provide data persistence layer\n\n\n## Build Project\nmvn clean install\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohammedsohail-dev%2Fjava-rabbitmq-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmohammedsohail-dev%2Fjava-rabbitmq-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohammedsohail-dev%2Fjava-rabbitmq-demo/lists"}