Skip to content

sviluppalice/Consumer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Consumer - Library Management System

This project is part of the Library Management System, developed as part of my onboarding process within the company. The Consumer project specifically handles the JMS (Java Message Service) component, facilitating communication between different microservices within the system. This project integrates with a messaging broker (Apache ActiveMQ Artemis) and uses a MySQL database for data persistence.

The primary goal of this project was to build a reliable and scalable system for managing events, such as book reservations and user notifications, in the library management system. By using JMS, Consumer ensures asynchronous and decoupled communication, which is essential for maintaining performance and flexibility in a distributed architecture.

🔍 Project Overview

The Consumer project listens to and processes messages from the messaging broker to perform actions like handling reservations, updating records, and notifying users. This functionality is a critical part of the Library Management System, ensuring that operations are performed asynchronously, enhancing the system’s scalability and reliability.

Key features include:

  • JMS Integration: Using Apache ActiveMQ Artemis for message-driven communication.
  • Database Persistence: Storing application data in a MySQL database.
  • Microservices Communication: Asynchronous communication with other services in the Library Management System.
  • Event Handling: The system listens for various events related to book reservations and processes them accordingly.

🧰 Tech Stack

  • Java 17: Modern version of Java for stable and efficient application development.
  • Spring Boot 3: Lightweight framework used to build production-ready applications.
  • Apache ActiveMQ Artemis: Message broker to facilitate asynchronous communication via JMS.
  • Spring Data JPA: For interacting with the database using JPA (Java Persistence API).
  • MySQL Database: Relational database for storing application data.
  • Maven: Build tool used for managing dependencies and packaging the application.

⚙️ Features

  • JMS Integration: Establishes communication with a message broker (ActiveMQ Artemis) to listen for events.
  • Database Connection: Connects to a MySQL database to persist event data.
  • Event-Driven Architecture: Enables asynchronous message processing for scalability and performance.
  • RESTful Services: Built as part of a larger system architecture that involves multiple microservices.

About

JMS consumer for library management system

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages