blob: c1c8b25dfc2d55154d5c615f756fbc929042c4fa [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8"/>
<title>Tamaya in 5 minutes - a short introduction</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta name="description" content="Homepage of Apache Tamaya (incubating)"/>
<meta name="author" content="Apache Tamaya Project Team"/>
<meta name="keywords" content="Apache Tamaya Incubating, configuration, Java, ASF, Apache Software Foundation"/>
<meta name="generator" content="JBake ${content.version}"/>
<!-- Le styles -->
<link href="css/bootstrap.min.css" rel="stylesheet"/>
<link href="css/asciidoctor.css" rel="stylesheet"/>
<link href="css/base.css" rel="stylesheet"/>
<link href="css/prettify.css" rel="stylesheet"/>
<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="js/html5shiv.min.js"></script>
<![endif]-->
<!-- Fav and touch icons from ASF -->
<link rel="shortcut icon" href="favicon.ico"/>
<link rel="apple-touch-icon" sizes="57x57" href="favicons/apple-touch-icon-57x57.png"/>
<link rel="apple-touch-icon" sizes="60x60" href="favicons/apple-touch-icon-60x60.png"/>
<link rel="apple-touch-icon" sizes="72x72" href="favicons/apple-touch-icon-72x72.png"/>
<link rel="apple-touch-icon" sizes="76x76" href="favicons/apple-touch-icon-76x76.png"/>
<link rel="apple-touch-icon" sizes="114x114" href="favicons/apple-touch-icon-114x114.png"/>
<link rel="apple-touch-icon" sizes="120x120" href="favicons/apple-touch-icon-120x120.png"/>
<link rel="apple-touch-icon" sizes="144x144" href="favicons/apple-touch-icon-144x144.png"/>
<link rel="apple-touch-icon" sizes="152x152" href="favicons/apple-touch-icon-152x152.png"/>
<link rel="apple-touch-icon" sizes="180x180" href="favicons/apple-touch-icon-180x180.png"/>
<link rel="icon" type="image/png" href="favicons/favicon-32x32.png" sizes="32x32"/>
<link rel="icon" type="image/png" href="favicons/favicon-194x194.png" sizes="194x194"/>
<link rel="icon" type="image/png" href="favicons/favicon-96x96.png" sizes="96x96"/>
<link rel="icon" type="image/png" href="favicons/android-chrome-192x192.png" sizes="192x192"/>
<link rel="icon" type="image/png" href="favicons/favicon-16x16.png" sizes="16x16"/>
<link rel="manifest" href="favicons/manifest.json"/>
<link rel="shortcut icon" href="favicons/favicon.ico"/>
<meta name="msapplication-TileColor" content="#603cba"/>
<meta name="msapplication-TileImage" content="favicons/mstile-144x144.png"/>
<meta name="msapplication-config" content="favicons/browserconfig.xml"/>
<meta name="theme-color" content="#303284"/>
</head>
<body onload="prettyPrint()">
<div id="wrap">
<div>
<!-- Fixed navbar -->
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.html">Tamaya Home</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="start.html">Tamaya in 5 minutes</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="documentation/usecases.html">Use Cases and Requirements</a></li>
<li><a href="documentation/quickstart.html">Quickstart</a></li>
<li><a href="documentation/api.html">API</a></li>
<li><a href="documentation/core.html">Core</a></li>
<li><a href="documentation/extensions.html">Extension Guide</a></li>
<li class="divider"></li>
<li><a href="apidocs/stable/index.html">Javadoc 0.4-incubating (release/stable)</a></li>
<li><a href="apidocs/development/index.html">Javadoc 0.5-incubating-SNAPSHOT (development)</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="development/source.html">Sources</a></li>
<li><a href="development/community.html">Community</a></li>
<li><a href="development/team.html">Project Team</a></li>
<li><a target="_blank" href="https://builds.apache.org/view/S-Z/view/Tamaya/">CI / ASF Jenkins</a></li>
<li><a target="_blank" href="https://issues.apache.org/jira/browse/TAMAYA">Issues / ASF Jira</a></li>
<li><a href="devguide.html">Development Guide</a></li>
<li><a href="release-guide.html">Release Guide</a></li>
<li class="divider"></li>
<li><a href="development/possible-contributions.html">Possible Contributions</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Releases <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="download.html">Download</a></li>
<li><a href="history.html">Release History</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="https://www.apache.org/">Apache Software Foundation (ASF)</a></li>
<li><a href="https://www.apache.org/foundation/how-it-works.html">How the ASF works</a></li>
<li><a href="https://www.apache.org/foundation/getinvolved.html">Get Involved</a></li>
<li><a href="https://www.apache.org/dev/">Developer Resources</a></li>
<li><a href="https://www.apache.org/foundation/policies/conduct.html">Code of Conduct</a></li>
<li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a href="https://www.apache.org/licenses/">License</a></li>
<li><a href="https://www.apache.org/security">Security</a></li>
<li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<hr/>
<li><a href="https://www.apache.org/events/current-event.html"><img src="https://www.apache.org/events/current-event-125x125.png" alt="Current Apache event"/></a></li>
</ul>
</li>
<!-- Example:
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li class="dropdown-header">Nav header</li>
<li><a href="#">Separated link</a></li>
<li><a href="#">One more separated link</a></li>
</ul>
</li>
-->
<li><a href="sitemap.xml">Sitemap</a></li>
<li><a href="feed.xml">Subscribe</a></li>
<li><a href="https://incubator.apache.org/guides/website.html" style="border:0px;" target="_target">
<img class="incubator-logo" src="logos/apache-incubator.png"/></a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
</div>
<div class="container">
<div class="page-header">
<h1>Tamaya in 5 minutes - a short introduction</h1>
</div>
<p><em>2019-11-17</em></p>
<p><div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>Apache Tamaya (incubating) provides a flexible and powerful
configuration solution
for Java developers using Java SE as well as for more complex
usage scenarios like cloud or Java EE. It provides a modern
type-safe property based Configuration API combined with a
powerful environment model and a flexible SPI.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_features">Features</h2>
<div class="sectionbody">
<div class="ulist">
<ul>
<li>
<p>Unified Configuration API</p>
</li>
<li>
<p>Pluggable Configuration Backends</p>
</li>
<li>
<p>Enforceable Configuration Policies</p>
</li>
<li>
<p>Configuration Validation and Documentation</p>
</li>
<li>
<p>Seamless Enterprise Integration</p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_documentation">Documentation</h2>
<div class="sectionbody">
<div class="ulist">
<ul>
<li>
<p><a href="documentation/usecases.html">Use Cases and Requirements</a></p>
</li>
<li>
<p><a href="highleveldesign.html">High Level Design</a></p>
</li>
<li>
<p><a href="documentation/api.html">API</a></p>
</li>
<li>
<p><a href="documentation/core.html">Core</a></p>
</li>
<li>
<p><a href="documentation/extensions.html">Extensions</a></p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_quickstart">Quickstart</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Using Apache Tamaya is simple:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Add <code>org.apache.tamaya:tamaya-core:0.5-incubating-SNAPSHOT</code> to your dependencies.</p>
</li>
<li>
<p>Add your config to <code>META-INF/javaconfiguration.properties</code></p>
</li>
<li>
<p>Access your configuration by <code>Configuration.current()</code> and use it.</p>
</li>
<li>
<p>Look at the <a href="documentation/extensions.html">extensions modules</a> to customize your setup!</p>
</li>
<li>
<p>Enjoy!</p>
</li>
</ol>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_rationale">Rationale</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Configuration is one of the most prominent cross-cutting concerns similar to logging. Most of us already have been
writing similar code again and again in each of our projects. Sometimes in a similar way but mostly always slightly
different, but certainly with high coupling to your configuration backends. Given your code is reused or integrated
some how, or deployed by some customers, struggling starts: not supported backends, different policies, missing
combination and validation mechanisms and so on. Tamaya solves all this by defining a common API and backend SPI.
Your code is decoupled from the configuration backend. There is no difference if your code is deployed on your dev box
or in a clustered Docker environment in production, it stays the same!</p>
</div>
</div>
</div></p>
<hr />
</div>
</div>
<div>
<div id="push"></div>
<div id="footer">
<div class="container">
<p class="muted credit">&copy; 2014-<span>2019</span> Apache Software Foundation | Mixed with <a href="https://getbootstrap.com/">Bootstrap v3.1.1</a>
| Baked with <a href="https://jbake.org">JBake <span>v2.6.4</span></a>
at <span>2019-11-17</span> |
<a class="twitter-follow-button" data-show-count="false" href="https://twitter.com/tamayaconf">Follow @tamayaconf</a><script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
</p>
<p>
<b>Disclaimer</b>
Apache Tamaya (incubating) is an effort undergoing
incubation at
The Apache Software Foundation (ASF), sponsored by
the Apache Incubator. Incubation is required of
all newly accepted projects until a further review indicates
that the infrastructure, communications, and decision making
process have stabilized in a manner consistent with other
successful ASF projects. While incubation status is not
necessarily a reflection of the completeness or stability of
the code, it does indicate that the project has yet to
be fully endorsed by the ASF.<br />
Apache, Apache Tamaya, and the Apache Tamaya logo are registered trademarks or trademarks of The Apache Software Foundation in the U.S. and/or other countries.<br />
<a href="https://incubator.apache.org/guides/website.html" style="border:0px;" target="_target">
<img class="incubator-logo" src="logos/apache-incubator.png" style="height: 50px;"/>
</a>
</p>
</div>
</div>
<!-- Le javascript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="js/jquery-1.11.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/prettify.js"></script>
</div>
</body>
</html>