Collection of independent libraries on top of Spring Boot to provide a faster setup of jvm microservices.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config
examples
gradle
spring-boot-starter-breuninger-core
spring-boot-starter-breuninger-jobs
spring-boot-starter-breuninger-mongo
spring-boot-starter-breuninger-testsupport
spring-boot-starter-breuninger-togglz
spring-boot-starter-breuninger-validation
.editorconfig
.eslintrc
.gitignore
.stylelintrc
.travis.yml
CHANGELOG.md
CONTRIBUTING.md
LICENSE
README.md
build.gradle
commitlint.config.js
gradle.properties
gradlew
gradlew.bat
lombok.config
package.json
settings.gradle

README.md

spring-boot-starter-breuninger

Collection of independent libraries on top of Spring Boot to provide a faster setup of jvm microservices.

"How can I die, when I have so much of the Universe left to explore?" - Stephen Hawking

Status

build license

Have a look at the release notes for details about updates and changes.

About

This project contains a number of independent libraries on top of Spring Boot to provide a faster setup of jvm microservices. The libraries are used in different projects at Breuninger. It's purpose is to provide a common implementation for cross-cutting requirements like:

  • Health checks that are used to tell the load balancer whether or not a service is healthy.
  • A status page/document that is used to give information about the current state of the service. Status information also include details about sub-components, background jobs like imports, and so on.
  • A simple job handling library that is used to run asynchronous background jobs, which for example can be used to run data imports from other systems.
  • An optional MongoDB-based implementation of a JobRepository
  • Support for MongoDB-based repositories in case you do not like Spring Data
  • Support for feature toggles based on Togglz

... plus all the features of Spring Boot.

Future Releases aka Roadmap

Semantic Versioning v2.0.0 is used to specify the version numbers.

This project maintains its roadmap with issues and milestones.

2.0.0: spring-boot-starter-breuninger for Spring Boot 2.0

Documentation

Spring-boot-starter-breuninger Modules:

Examples:

  • example-status: Service only relying on spring-boot-starter-breuninger-core to show the usage of health and status features.
  • example-metrics: Service that is using spring-boot-starter-breuninger-core metrics.
  • example-jobs: Spring-boot-starter-breuninger service using spring-boot-starter-breuninger-jobs to run background tasks.
  • example-togglz: Example using spring-boot-starter-breuninger-togglz to implement feature toggles.
  • example-togglz-mongo: Same spring-boot-starter-breuninger-toggz, but with a MongoDB configuration to auto-configure persistence of feature toggles.

Setup

Make sure you have Java 10 or later and gradle 4.6 or later installed on your computer.

Testing

Test and create coverage report

gradle check

Dependency Update

Determine possible dependency updates

gradle dependencyUpdates -Drevision=release

Publishing

Publish new releases

gradle uploadArchives

Known java 10 problems

Gradle

To make gradle work with jdk10 you have to run it with jdk8 and set the compiling jdk path to 10. You can do this by putting this into your ~/.gradle/gradle.properties: org.gradle.java.home=/path_to_jdk10

When running gradle tasks you then have to set -Djava.endorsed.dirs= as shown in this example:

$ gradle bootRun -Djava.endorsed.dirs=

Contributing

Have a look at our contribution guidelines.