2019-11-17

Apache Tamaya (incubating) actually supports several configuration standards to provide a long term stable configuration solution.

JSR 382

Tamaya implements a recent state of the Configuration JSR. The exact commit version of the JSR API implemented (the JSR has not yet released any version as of now) can be evaluated by looking at the tamaya-jsr382 pom.xml in the sandbox repository.

To use Tamaya as a JSR-382 Configuration provider you must add the following dependency:

<dependency>
    <groupId>org.apache.tamaya.ext</groupId>
    <artifactId>tamaya-jsr382</artifactId>
    <version>${tamaya.version}</version>
</dependency>

Since this component is not yet officially released you must use the current snapshot version 0.4-incubating-SNAPSHOT. In order for that to work, you need to add the Apache Snapshot Repository to your build:

<repository>
    <id>apache.snapshots</id>
    <name>Apache Development Snapshot Repository</name>
    <url>https://repository.apache.org/content/repositories/snapshots/</url>
    <releases>
        <enabled>false</enabled>
    </releases>
    <snapshots>
        <enabled>true</enabled>
    </snapshots>
</repository>

Microprofile Configuration API

Tamaya implements the Microprofile Configuration API Version 1.1. To use Tamaya as a Micropropfile Configuration provider you must add the following dependency:

<dependency>
    <groupId>org.apache.tamaya.ext</groupId>
    <artifactId>tamaya-microprofile</artifactId>
    <version>${tamaya.version}</version>
</dependency>

OSGi ConfigAdmin

Tamaya’s OSGi Support leverages the OSGi org.osgi.service.cm.ConfigurationAdmin configuration manager as defined in OSGi Compendium Version 4.3.1. Hereby Tamaya can add or modify Configuration in OSGi, which may trigger change events. The exact behaviour can be controlled in many ways. By default Tamaya, does not change anything, when deployed in OSGi, without being configured todo so. For details check Tamaya’s OSGi Documentation.