github.com/hkoosha/konfigurations

Simple, small and extendable zero dependency configuration management library with live updates.

Open this visualization on its own page →

Contributors

3

Lines of Code

991

From

2019-08-06

To

2020-12-24

About hkoosha/konfigurations

Konfigurations is a lightweight Java library for managing application configuration from multiple sources with support for live runtime updates. It requires no external dependencies and provides a simple API for reading configuration values, with built-in support for overrides, default values, and complex types like lists and maps through optional Jackson and SnakeYAML integrations.

The library's core feature is live updating: configuration values are accessed through wrapper objects that always return the current value, and applications can register observers to be notified when specific keys or any configuration changes. Multiple sources can be combined with the first source containing a requested key taking precedence, and observers are stored as weak references so listeners can be garbage collected without explicit deregistration.

A lite version exists for Jackson-backed configurations that trades away live updates and combining multiple sources in exchange for write and modification capabilities. The project maintains a relatively small scope focused on ease of use and extensibility, with plans for additional unit test coverage and several TODO items in the codebase indicating ongoing development refinement.

Share this video