https://github.com/mohammedsohail-dev/java-rabbitmq-demo
This assignment has the purpose of practising pub/sub message oriented programming.
https://github.com/mohammedsohail-dev/java-rabbitmq-demo
Last synced: about 1 year ago
JSON representation
This assignment has the purpose of practising pub/sub message oriented programming.
- Host: GitHub
- URL: https://github.com/mohammedsohail-dev/java-rabbitmq-demo
- Owner: mohammedsohail-dev
- Created: 2023-04-16T19:35:22.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-04-27T16:26:08.000Z (over 1 year ago)
- Last Synced: 2025-06-26T03:37:48.391Z (about 1 year ago)
- Language: Java
- Homepage:
- Size: 398 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# RabbitMQ Topic Exchange System with MongoDB Integration





A high-performance messaging system using RabbitMQ topic exchanges with MongoDB persistence and gRPC support.
## Key Features
- **RabbitMQ Topic Exchange** implementation (amqp-client 5.15.0)
- Multiple specialized consumers with different routing patterns
- **MongoDB integration** with both legacy (3.12.12) and modern (4.2.0) drivers
- **gRPC support** (1.15.1) for high-performance RPC
- Protocol Buffers serialization (protobuf-java 3.6.1)
- Configuration management via external Config.txt
## Technology Stack
### Core Dependencies
- **Messaging**: `com.rabbitmq:amqp-client:5.15.0`
- **Database**:
- `org.mongodb:mongo-java-driver:3.12.12`
- `org.mongodb:mongodb-driver-core:4.2.0`
- **RPC**:
- `io.grpc:grpc-*:1.15.1`
- `com.google.protobuf:protobuf-java:3.6.1`
- **Utilities**:
- `javax.annotation:javax.annotation-api:1.2`
- `jakarta.servlet:jakarta.servlet-api:4.0.2`
## Project Structure

## Advanced Features
gRPC integration for high-performance service communication
Protocol Buffers for efficient message serialization
## Development Notes
The project uses Maven resource filtering for Config.txt
All RabbitMQ connection management is handled in ConnectionManager.java
MongoDB DAOs provide data persistence layer
## Build Project
mvn clean install