Skip to content
This repository has been archived by the owner on Aug 13, 2020. It is now read-only.

A Java framework to support applications utilising CQRS and Event Sourcing architectures

License

Notifications You must be signed in to change notification settings

CJSCommonPlatform/microservice_framework_version_6

Repository files navigation

Microservice Framework

Build Status Coverage Status

A Java framework to support applications utilising CQRS and Event Sourcing architectures.

Modules

  • adapters - Supports incoming requests from REST and JMS clients. Adapts requests to the internal framework representation (JSON envelope)
  • clients - Support outgoing REST/HTTP requests to application components/external services
  • common - Shared utility classes
  • components - Base for application components
  • core - Core framework logic
  • domain - Framework domain classes
  • event-sourcing - Event sourcing implementation
  • example-context - Example applicating based on the framework
  • messaging-core - Internal messaging representations
  • messaging-jms - Communication with JMS queues/topics
  • metrics - Support for health checks in application components
  • persistence - Support for persistence layer, such as deltaspike.

Integration Tests

The Integraion Tests expect a running Postgres database, with the correct users and databases configured. The integration tests can be skipped if no local Postgres database is installed

To run with the Integration Tests then your postgress should be configured so, with the folowing user:

Parameter Vaule
host localhost
port 5432
username framework
password framework

You will then need to create three databases owned by the new framework user:

  • frameworkeventstore
  • frameworkviewstore
  • frameworkfilestore

Skipping Integration Tests

If you do not have access to a local posgres database then the Integration Tests can be skipped. To skip, set the following property when running Maven:

mvn clean install -Drun.it=false

How to build and deploy locally without access to build repository

Project dependencies

Clone the following CJSCommonPlatform projects into the same directory level:

Run dependency installation script

Run the install-dependencies.sh script from the microservice_framework directory. This will checkout and install the required versions of each project.

./install-dependencies.sh

Finally build and verify the Microservice Framework.

mvn clean verify

Note: this will run the integration tests that require a running Postgres DB

mvn clean verify -Drun.it=false

Note: this will run only the unit tests of the project