Dvalin is a Java micro service framework based on several open-source frameworks to combine the best tools into one quick start suite for fast, reliable and scaling micro services. The core technology is the Spring framework and dvalin uses our Daemon Framework as the lifecycle management for the service process.
To use dvalin in your project add the maven dependencies as shown below. It is recommended to set the dvalin version as property to make sure all modules you use have the same version.
<dependency>
<groupId>de.taimos</groupId>
<artifactId>dvalin-<MODULENAME></artifactId>
<version>${dvalin.version}</version>
</dependency>
Then add dvalin as a BOM to the maven dependency management to ensure compatibly versions of used third-party libraries.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>de.taimos</groupId>
<artifactId>dvalin-parent</artifactId>
<version>${dvalin.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Dvalin provides several independent but combineable libraries serving different purposes around the runtime and interaction of micro services. By adding a library as a Maven dependency, it gets activated automatically and all the needed Spring components are started.
These libraries are:
daemon
- the core library for lifecycle and basic Spring enhancementsjaxrs
- implement JAX-RS based REST services using the Apache CXF frameworkjaxrs-jwtauth
- JSON Web Token support for thejaxrs
modulejpa
- connect to SQL databases using the popular Hibernate frameworkmongodb
- connect to MongoDB document storedynamodb
- connect to AWS DynamoDB data storagecloud
- basic tools to communicate with Cloud providerscluster
- basic tools to form a clustertemplate
- templating functionalitynotification
- notification service to send e-mails and use template enginesmonitoring
- monitoring service to report statistics of your serviceinterconnect
- communication framework to connect micro services with each otherorchestration
- orchestration tools like service discovery and global configurationtest
- utilities for writing testsi18n
- internationalization and localization support
-
Ensure the bug was not already reported by searching on GitHub under Issues.
-
If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.
-
Open a new GitHub pull request with the patch.
-
Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.
Changes that are cosmetic in nature and do not add anything substantial to the stability, functionality, or testability will normally not be accepted.
-
Suggest your change under Issues.
-
Do not open a pull request on GitHub until you have collected positive feedback about the change.
- Just file a PR with your recommended changes