:jbake-type: page
:jbake-status: published

== Apache Tamaya: Extension Modules

toc::[]

=== Mature Extensions

Mature extensions have a stable API and SPI, similar to the API and Implementations provided.

[width="100%",frame="1",options="header",grid="all"]
|=======
|_Artifact_                                   |_Description_                                |_Links_
|+org.apache.tamaya.ext:tamaya-collections+   |Collections support.                                   |link:extensions/mod_collections.html[Documentation]
|+org.apache.tamaya.ext:tamaya-consul+        |Integration with consul clusters.                      |link:extensions/mod_consul.html[Documentation]
|+org.apache.tamaya.ext:tamaya-etcd+          |Integration with etcd clusters.                        |link:extensions/mod_etcd.html[Documentation]
|+org.apache.tamaya.ext:tamaya-events+        |Provides support for publishing configuration changes  |link:extensions/mod_events.html[Documentation]
|+org.apache.tamaya.ext:tamaya-filter+        |Provides a programmatic filter for config entries.     |link:extensions/mod_filter.html[Documentation]
|+org.apache.tamaya.ext:tamaya-features+      |Provides a simple feature check for loaded extensions. |link:extensions/mod_features.html[Documentation]
|+org.apache.tamaya.ext:tamaya-formats+       |Provides an abstract model for configuration formats   |link:extensions/mod_formats.html[Documentation]
|+org.apache.tamaya.ext:tamaya-functions+     |Provides several functional extension points.          |link:extensions/mod_functions.html[Documentation]
|+org.apache.tamaya.ext:tamaya-hazelcast+     |Integration with Hazelcast datagrids.                  |link:extensions/mod_hazelcast.html[Documentation]
|+org.apache.tamaya.ext:tamaya-hocon+         |Provides format support for HOCON based configuration. |link:extensions/mod_hocon.html[Documentation]
|+org.apache.tamaya.ext:tamaya-hjson+          |Provides format support for HJSON based configuration. |link:extensions/mod_hjson.html[Documentation]
|+org.apache.tamaya.ext:tamaya-injection-api+ |Provides Tamaya's injection annotations API.           |link:extensions/mod_injection.html[Documentation]
|+org.apache.tamaya.ext:tamaya-injection+     |Provides configuration injection services and configuration template support.  |link:extensions/mod_injection.html[Documentation]
|+org.apache.tamaya.ext:tamaya-injection-cdi+ | Java EE/standalone compliant CDI integration using CDI for injection. | link:extensions/mod_cdi.html[Documentation]
|+org.apache.tamaya.ext:tamaya-jndi+          |Provides a JNDI based PropertySource.                  |link:extensions/mod_jndi.html[Documentation]
|+org.apache.tamaya.ext:tamaya-json+          |Provides format support for JSON based configuration.  |link:extensions/mod_json.html[Documentation]
|+org.apache.tamaya.ext:tamaya-microprofile+  |Implemenation and Integration with the Microprofile API. |link:extensions/mod_microprofile.html[Documentation]
|+org.apache.tamaya.ext:tamaya-mutable-config+|Provides API/SPI for writing configuration             |link:extensions/mod_mutable_config.html[Documentation]
|+org.apache.tamaya.ext:tamaya-optional+      |Lets a Tamaya configuration to be used as an optional project extension only.  |link:extensions/mod_optional.html[Documentation]
|+org.apache.tamaya.ext:tamaya-osgi+          |Integration with OSGi containers.                      |link:extensions/mod_osgi.html[Documentation]
|+org.apache.tamaya.ext:tamaya-resolver+      |Provides placeholder and dynamic resolution functionality for configuration values.  |link:extensions/mod_resolver.html[Documentation]
|+org.apache.tamaya.ext:tamaya-resources+     |Provides ant-style resource path resolution            |link:extensions/mod_resources.html[Documentation]
|+org.apache.tamaya.ext:tamaya-spring+        |Integration for Spring / Spring Boot.                  |link:extensions/mod_spring.html[Documentation]
|+org.apache.tamaya.ext:tamaya-yaml+          |Support for using yaml as a configuration format.      |link:extensions/mod_yaml.html[Documentation]
|=======


=== Extensions Sandbox

Extensions in _draft state_ rather experimental or not yet very mature. API changes may occurr at any time
and the may also have severe issues or even not work at all. So use at your own risk or join and help
us getting them stable and well tested!


[width="100%",frame="1",options="header",grid="all"]
|=======
|_Artifact_                                       |_Description_                                         |_Links (if available)_
|+org.apache.tamaya.ext:tamaya-camel_beta+        |Integration with Apache Camel.                        | link:extensions/mod_camel.html[Documentation]
|+org.apache.tamaya.ext:tamaya-commons-config_beta+ |Integration Support for Apache Commons.             | -
|+org.apache.tamaya.ext:tamaya-doc_alpha+         |Provides support for generating Configuration Documentation.  | -
|+org.apache.tamaya.ext:tamaya-jodatime_beta+     |Provides support for JodaTime.                        | link:extensions/mod_jodatime.html[Documentation]
|+org.apache.tamaya.ext:tamaya-jsr382+            |Implementation of the current JSR 382 API.            | - (Checkout the JSR's documentation)
|+org.apache.tamaya.ext:tamaya-management_alpha+  |Provides JMX support for inspecting configuration.    | link:extensions/mod_management.html[Documentation]
|+org.apache.tamaya.ext:tamaya-metamodel_alpha+   |Provides an XML API for building configuration.       | link:extensions/mod_metamodel-staged.html[Documentation]
|+org.apache.tamaya.ext:tamaya-propertysources+   |Provides different property source base classes.      | -
|+org.apache.tamaya.ext:tamaya-remote_alpha+      |Remote configuration support using the server API.    | link:extensions/mod_remote.html[Documentation]
|+org.apache.tamaya.ext:tamaya-server_alpha+      |Publishes configuration as a REST service.            | link:extensions/mod_server.html[Documentation]
|+org.apache.tamaya.ext:tamaya-ui_alpha+          |Provides a web UI for a VM running Tamaya.            | link:extensions/mod_ui.html[Documentation]
|+org.apache.tamaya.ext:tamaya-uom_beta+          |Provides additional converters based on the Units of Measurement JSR. | link:extensions/mod_uom.html[Documentation]
|+org.apache.tamaya.ext:tamaya-usagetracker_beta+ |Allows tracking of configuration usage.               | link:extensions/mod_usagetracker.html[Documentation]
|+org.apache.tamaya.ext:tamaya-validation-alpha+  |Provides an XML API for validating configuration.     | link:extensions/mod_validation.html[Documentation]
|+org.apache.tamaya.ext:tamaya-vertx-alpha+       |Provides Vertx integration.                           | link:extensions/mod_vertx.html[Documentation]
|=======
