https://github.com/colinbut/audit-service
A microservice that does the auditing of microservices-enterprise-application actions
https://github.com/colinbut/audit-service
activemq flyway h2 h2-database java jms mysql spring spring-boot tomcat
Last synced: 2 months ago
JSON representation
A microservice that does the auditing of microservices-enterprise-application actions
- Host: GitHub
- URL: https://github.com/colinbut/audit-service
- Owner: colinbut
- Created: 2018-03-18T22:43:35.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2019-02-07T22:48:19.000Z (over 7 years ago)
- Last Synced: 2025-03-27T10:16:54.308Z (about 1 year ago)
- Topics: activemq, flyway, h2, h2-database, java, jms, mysql, spring, spring-boot, tomcat
- Language: Java
- Homepage:
- Size: 34.2 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Audit Service
### Technologies:
- Java
- Spring Boot 2.0
- MySQL
- H2 In-Memory DB
- Flyway
- Apache Tomcat
- JMS (with ActiveMQ)
### Run
##### Running on Local Dev:
```bash
java -jar target/audit-service-1.0.jar --spring.profiles.active=dev
```
##### Running on Production (Like):
```bash
java -jar target/audit-service-1.0.jar --spring.profiles.active=prod
```
##### Running on QA/Staging for Test:
```bash
java -jar target/audit-service-1.0.jar --spring.profiles.active=qa
```
### High Level Architecture
Application is built using an Event Driven Architecture (EDA) for the system which then uses
Pipe and Filters as the Application architecture.
### Summary
`UserEventReciever` gets JMS messages from ActiveMQ message broker which then feeds it into
the 'UserEventProcessor' to do the necessary processing (currently just converts the event message into audit service's
domain model object) before piping it into the core domain logic of the auditing functionality.
`AuditService` provides the service to audit log with the `AuditRepository` responsible for peristing
the audit data `AuditRecord` (which can be in-memory in the case of using H2 or MySQL)
### Spring Profiles
[TBD]