Purpose

July 12, 2026 ยท View on GitHub

The OpenWMS.org Preferences Service deals with configuration and preferences for the whole application. It can be used to store configuration parameters in different validity scopes. Scopes can be merged and inherited. Preferences might be stored only valid for a particular User or a specific Role, specific to a Module (aka microservice) or the whole Application.

The service is built with Spring Boot 4.1 and runs on Java 25 (BellSoft Liberica). It exposes Prometheus metrics at /actuator/prometheus and exports traces via OTLP to the collector configured with owms.tracing.url.

Build

A JDK 25 and Maven 3.9+ are required to build. Build the runnable fat jar with all unit and in-memory database integration tests but without a required RabbitMQ server:

./mvnw package

To also run the tests against a RabbitMQ instance, running locally with default settings, activate the AMQP profile:

./mvnw package -DsurefireArgs=-Dspring.profiles.active=AMQP,TEST

The Docker image is based on bellsoft/liberica-openjre-alpine:25-cds. The CI pipeline builds and pushes it as a multi-arch image for linux/amd64 and linux/arm64. A local single-arch image can be built with:

docker build -t openwms/org.openwms.core.preferences:latest .

Resources

ModuleBuild StatusQualityLicenseMaven CentralDocker HubChat
ImageBuild status--License--Docker pullsJoin the chat at https://gitter.im/openwms/org.openwms
LibraryBuild statusQualityLicenseMaven central--Join the chat at https://gitter.im/openwms/org.openwms

Find further Documentation on Microservice Website or in the Wiki.

Dependencies

The service is basically a composition of custom libraries. Compared to the opensource version, the ENTERPRISE version contains additional endpoints for the user interface.

mavendeps