http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/97bc8884/extensions/mod_cdi.html ---------------------------------------------------------------------- diff --git a/extensions/mod_cdi.html b/extensions/mod_cdi.html deleted file mode 100644 index 13b2d71..0000000 --- a/extensions/mod_cdi.html +++ /dev/null @@ -1,420 +0,0 @@ -<!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>Apache Tamaya&#8201;&#8212;&#8201;Extension: Classloader Isolation Support</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"/> - <meta name="description" content=""/> - <meta name="author" content=""/> - <meta name="keywords" content=""/> - <meta name="generator" content="'JBake '+'${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="../">Apache Tamaya (incubating)</a> - </div> - <div class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li><a href="../index.html">Home</a></li> - <li><a href="../quickstart.html">Quickstart</a></li> - <li><a href="../index.html">Documentation</a></li> - <li><a href="..//apidocs/index.html">API</a></li> - <li><a href="../index.html">Development</a></li> - <li><a href="../index.html">Releases</a></li> - <li><a href="../about.html">About</a></li> - <li><a href="../sitemap.xml">Sitemap</a></li> - <li><a href="../feed.xml">Subscribe</a></li> -<!-- - <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> ---> - </ul> - </div><!--/.nav-collapse --> - </div> - </div> - - </div> - <div class="container"> - - <div class="page-header"> - <h1>Apache Tamaya&#8201;&#8212;&#8201;Extension: Classloader Isolation Support</h1> - </div> - - <p><em>2016-11-02</em></p> - - <p><div id="preamble"> -<div class="sectionbody"> -<!-- toc disabled --> -</div> -</div> -<div class="sect1"> -<h2 id="Remote">Tamaya CDI Integration (Extension Modules)</h2> -<div class="sectionbody"> -<div class="sect2"> -<h3 id="_overview">Overview</h3> -<div class="paragraph"> -<p>Apache Tamaya currently provides two implementations for integration with CDI extensions implementing similar -functionality as described in this document:</p> -</div> -<div class="ulist"> -<ul> -<li> -<p>Loading of CDI managed SPI components as configuration extensions such as PropertySources, PropertySourceProviders, -PropertyFilters, etc. This also includes SPI defined by any Tamaya submodules.</p> -</li> -<li> -<p>Implement and enable Tamaya’s configuration injection services with CDI.</p> -</li> -</ul> -</div> -<div class="paragraph"> -<p>Hereby there are two implementations provided:</p> -</div> -<div class="ulist"> -<ul> -<li> -<p>tamaya-cdi-ee implements injection by using CDI’s injection mechanism to inject configuration values into the -beans managed by the CDI systems.</p> -</li> -<li> -<p>tamaya-cdi-se implements injection by integrating the tamaya-injection SE based injection module (also used -for Spring and OSGI injection) with CDI. Injection hereby is performed by the Tamaya SE module, whereas -beans and injection control overall are still managed by CDI.</p> -</li> -<li> -<p>One difference, of course, is that tamaya-se also provides an SE compatible API (ConfigurationInjection, -ConfigurationInjector), which is not available, when using the purely Java EE based variant.</p> -</li> -</ul> -</div> -<div class="paragraph"> -<p>The annotations used for all injection functionality in Tamaya is defined as a separate module. This allows you to -code against the injection API without dependency on the concrete injection implementation. As a consequence your -components will be compatible regardless if deployed in a pure SE, a Java EE (CDI) or OSGI or Spring environment:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre><dependency> - <groupId>org.apache.tamaya.ext</groupId> - <artifactId>tamaya-injection-api</artifactId> - <version>{tamaya-version}</version> -</dependency></pre> -</div> -</div> -</div> -<div class="sect2"> -<h3 id="_compatibility">Compatibility</h3> -<div class="paragraph"> -<p>Both modules are based on Java 7, so they will only run on Java 7 and beyond.</p> -</div> -</div> -<div class="sect2"> -<h3 id="_installation">Installation</h3> -<div class="paragraph"> -<p>To benefit from Tamaya CDI integration you only must one of the following dependencies to your module. Ensure that -you never have installed both CDI extensions at the same time because this may be lead to unforseen side-effects.</p> -</div> -<div class="listingblock"> -<div class="title">CDI Pure Application Configuration</div> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml"><dependency> - <groupId>org.apache.tamaya.ext</groupId> - <artifactId>tamaya-cdi-ee</artifactId> - <version>{tamaya-version}</version> -</dependency></code></pre> -</div> -</div> -<div class="listingblock"> -<div class="title">CDI enhanced with Tamaya SE Application Configuration</div> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml"><dependency> - <groupId>org.apache.tamaya.ext</groupId> - <artifactId>tamaya-cdi-se</artifactId> - <version>{tamaya-version}</version> -</dependency></code></pre> -</div> -</div> -<div class="paragraph"> -<p>Both components will auto-register its components and override the default ServicceContext in use. Additionally they -register CDI extensions that implement Configuration injection as described before.</p> -</div> -<div class="admonitionblock important"> -<table> -<tr> -<td class="icon"> -<div class="title">Important</div> -</td> -<td class="content"> -Never install Tamaya’s tamaya-cdi-se and tamaya-cdi-ee on the same system, since unpredictable side - effects could occur. -</td> -</tr> -</table> -</div> -</div> -<div class="sect2"> -<h3 id="_registering_cdi_managed_components_into_the_application_s_configurationcontext">Registering CDI managed components into the Application’s ConfigurationContext</h3> -<div class="paragraph"> -<p>As mentioned both modules allow to provide Tamaya SPI extensions modules as ordinary CDI managed beans. By default -extensions should be registered using @Singleton or @ApplicationScoped scope annotations. So you can define/deploy -additional application specific PropertySources and other artifacts simply by defining a CDI managed bean implementing -the required SPI interface:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-java" data-lang="java">@Singleton -public class TestPropertySource implements PropertySource{ - - final Map<String,String> config = new HashMap<>(); - - public TestPropertySource(){ - config.put("a.b.c.key1", "keys current a.b.c.key1"); - config.put("a.b.c.key2", "keys current a.b.c.key2"); - config.put("{"+getName()+"}source", getClass().getName()); - } - - @Override - public int getOrdinal() { - return 10; - } - - @Override - public String getName() { - return getClass().getName(); - } - - @Override - public String get(String key) { - return config.get(key); - } - - @Override - public Map<String, String> getProperties() { - return config; - } - - @Override - public boolean isScannable() { - return true; - } -}</code></pre> -</div> -</div> -<div class="paragraph"> -<p>Note that for many SPI’s there is a priority mechanism using @Priority annotations in place. -The ServiceContext implementation combines the components registered with the ones loaded from the ServiceLoader -mechanism hereby considering classloaser hierarchies.</p> -</div> -</div> -<div class="sect2"> -<h3 id="_annotating_your_classes">Annotating your Classes</h3> -<div class="paragraph"> -<p>Basically annotating your classes is stright forward. @Config defines an additional CDI qualifier that is, depending -on the module deployed, handled by a CDI producer (tamaya-cdi-ee) or the Tamaya SE injection mechanism $ -(tamaya-cdi-se). All types injected by this module are injected using <em>dependent scope</em>.</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-java" data-lang="java">@RequestScoped -public class ConfiguredClass{ - - @Config - private String testProperty; - - @Config({"a.b.c.key1","a.b.c.key2","a.b.c.key3"}) - @ConfigDefault("The current \\${JAVA_HOME} env property is ${env:JAVA_HOME}.") - String value1; - - @Config({"foo","a.b.c.key2"}) - private String value2; - - @Config - @ConfigDefault("N/A") - private String runtimeVersion; - - @Config - @ConfigDefault("${sys:java.version}") - private String javaVersion2; - - @Config - @ConfigDefault("5") - private Integer int1; - - ... - -}</code></pre> -</div> -</div> -</div> -<div class="sect2"> -<h3 id="_advanced_use_cases">Advanced Use Cases</h3> -<div class="paragraph"> -<p>Beside basic configuration Tamaya also covers additional requirements:</p> -</div> -<div class="ulist"> -<ul> -<li> -<p>_Reading multiple keys, where the first successful one is determining the value of the configuration, is -simply possible, by adding multiple keys to the @Configy annotation. -E.g. for trying first a.b and then new.b you would configure it as follows:</p> -</li> -</ul> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-java" data-lang="java">@Config({"a.b", "new.b"} -private String value;</code></pre> -</div> -</div> -<div class="ulist"> -<ul> -<li> -<p>When you must apply a ConfigOperator to your config, before reading the configuration, you can -configure one as follows:</p> -</li> -</ul> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-java" data-lang="java">@Config({"a.b", "new.b"} -@WithConfigOperator(MyOperator.class) -private String value;</code></pre> -</div> -</div> -<div class="ulist"> -<ul> -<li> -<p>When you must apply a some special conversion, or you use a type that is not registered -for conversion, you can configure a custom converter to be applied as follows:</p> -</li> -</ul> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-java" data-lang="java">@Config({"a.b", "new.b"} -@WithPropertyConverter(MyConverter.class) -private MySpecialFooType value;</code></pre> -</div> -</div> -<div class="ulist"> -<ul> -<li> -<p>Often multiple keys in a class belong to the same root section. So instead of copying this to -every entry you can define the most common root sections in the type’s header:</p> -</li> -</ul> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-java" data-lang="java">@ConfigDefaultSections({"aaaa", "new"}); -public class MyType{ - -@Config({"b", "[legacy.bKey]"} // lookups: "aaaa.b", "new.b", legacy.bKey -private String value;</code></pre> -</div> -</div> -<div class="paragraph"> -<p>In the example above legacy.bKey defines an absolute key, which is not combined with any defined -default section parts.</p> -</div> -</div> -</div> -</div></p> - - <hr /> - </div> - </div> - <div> - <div id="push"></div> - - <div id="footer"> - <div class="container"> - <p class="muted credit">© 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a> - | Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a> - at <span>2016-11-02</span> - </p> - <p> - <b>Disclaimer</b> - Apache Tamaya (incubating) is an effort undergoing - incubation at - The Apache Software Foundation (ASF), sponsored by - the name of 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 /> - <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../logos/egg-logo2.png"/></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>
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/97bc8884/extensions/mod_classloader_support.html ---------------------------------------------------------------------- diff --git a/extensions/mod_classloader_support.html b/extensions/mod_classloader_support.html deleted file mode 100644 index 9537af1..0000000 --- a/extensions/mod_classloader_support.html +++ /dev/null @@ -1,256 +0,0 @@ -<!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>Apache Tamaya&#8201;&#8212;&#8201;Extension: Classloader Isolation Support</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"/> - <meta name="description" content=""/> - <meta name="author" content=""/> - <meta name="keywords" content=""/> - <meta name="generator" content="'JBake '+'${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="../">Apache Tamaya (incubating)</a> - </div> - <div class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li><a href="../index.html">Home</a></li> - <li><a href="../quickstart.html">Quickstart</a></li> - <li><a href="../index.html">Documentation</a></li> - <li><a href="..//apidocs/index.html">API</a></li> - <li><a href="../index.html">Development</a></li> - <li><a href="../index.html">Releases</a></li> - <li><a href="../about.html">About</a></li> - <li><a href="../sitemap.xml">Sitemap</a></li> - <li><a href="../feed.xml">Subscribe</a></li> -<!-- - <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> ---> - </ul> - </div><!--/.nav-collapse --> - </div> - </div> - - </div> - <div class="container"> - - <div class="page-header"> - <h1>Apache Tamaya&#8201;&#8212;&#8201;Extension: Classloader Isolation Support</h1> - </div> - - <p><em>2016-10-31</em></p> - - <p><div id="preamble"> -<div class="sectionbody"> -<!-- toc disabled --> -</div> -</div> -<div class="sect1"> -<h2 id="Remote">Tamaya Classloader Aware ServiceContext (Extension Module)</h2> -<div class="sectionbody"> -<div class="sect2"> -<h3 id="_overview">Overview</h3> -<div class="paragraph"> -<p>The Tamaya classloader support provides an alternative implementation of java.util.ServiceLoader, which is aware -of classloaders, hereby preventing multiple loading of components within a classloader hierarchy.</p> -</div> -</div> -<div class="sect2"> -<h3 id="_compatibility">Compatibility</h3> -<div class="paragraph"> -<p>The module is based on Java 7, so it will not run on Java 7 and beyond.</p> -</div> -</div> -<div class="sect2"> -<h3 id="_installation">Installation</h3> -<div class="paragraph"> -<p>To benefit from configuration server support you only must add the corresponding dependency to your module:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml"><dependency> - <groupId>org.apache.tamaya.ext</groupId> - <artifactId>tamaya-classloader-support</artifactId> - <version>{tamayaVersion}</version> -</dependency></code></pre> -</div> -</div> -<div class="paragraph"> -<p>The component will auto.register its components and override the default ServicceContext in use by default -with an instance of type org.apache.tamaya.clsupport.internal.CLAwareServiceContext. This implementation returns -a priority of 10.</p> -</div> -</div> -<div class="sect2"> -<h3 id="_how_it_works">How it Works</h3> -<div class="paragraph"> -<p>Basically the component manages a Map of all classloaders encountered. When services are accessed, the component -will evaluate the services as follows:</p> -</div> -<div class="ulist"> -<ul> -<li> -<p>the component walks up the class loader hierarchy.</p> -</li> -<li> -<p>in a next step the hierarchy is traversed down from the parent to the current classloader. Hereby it is checked -if the service list for the required type has been loaded already. If not the service configuration files are -evaluated.</p> -</li> -<li> -<p>This configuration file evaluation will ignore all resources already loaded by any of the already traversed parent -classloaders.</p> -</li> -<li> -<p>For each configuration file newly visible to the classloader currently traversed, the corresponding services are -loaded unleyy, the same service class already has been loaded by one its parent classloaders or another file -loaded with this classloader.</p> -</li> -<li> -<p>Finally all services found are returned as the full collection of services valid for the given context (classloader).</p> -</li> -</ul> -</div> -<div class="paragraph"> -<p>This ensures no service is loaded multiple times, even when it is referenced multiple times in several service -configurations. Additionally every service is loaded on the classloader where it is also declared the first time.</p> -</div> -</div> -<div class="sect2"> -<h3 id="_control_logging">Control Logging</h3> -<div class="paragraph"> -<p>The service component by default only logs errors. But it is possible to change this by reconfiguring the logging -levels on the following logging names/path: org.apache.tamaya.clsupport.internal.CLAwareServiceContext</p> -</div> -<div class="ulist"> -<ul> -<li> -<p><em>INFO</em> logs additional info on the services accessed.</p> -</li> -<li> -<p><em>FINEST</em> logs additional info on the services scanned and selected.</p> -</li> -</ul> -</div> -</div> -<div class="sect2"> -<h3 id="_classloader_aware_configuration">Classloader Aware Configuration</h3> -<div class="paragraph"> -<p>The mechanism above is used to provide a classloader aware implementation of ConfigurationContext -(org.apache.tamaya.clsupport.internal.CLAwareConfigurationContext). Similarly to the service variants -this class provides a context implementation that manages the core configuration aspects considering classloading -hierarchies:</p> -</div> -<div class="ulist"> -<ul> -<li> -<p>PropertySource, PropertySourceProviders</p> -</li> -<li> -<p>PropertyFilters, PropertyCombinationPolicy</p> -</li> -</ul> -</div> -</div> -</div> -</div></p> - - <hr /> - </div> - </div> - <div> - <div id="push"></div> - - <div id="footer"> - <div class="container"> - <p class="muted credit">© 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a> - | Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a> - at <span>2016-11-02</span> - </p> - <p> - <b>Disclaimer</b> - Apache Tamaya (incubating) is an effort undergoing - incubation at - The Apache Software Foundation (ASF), sponsored by - the name of 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 /> - <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../logos/egg-logo2.png"/></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> http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/97bc8884/extensions/mod_collections.html ---------------------------------------------------------------------- diff --git a/extensions/mod_collections.html b/extensions/mod_collections.html deleted file mode 100644 index 6da810e..0000000 --- a/extensions/mod_collections.html +++ /dev/null @@ -1,443 +0,0 @@ -<!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>Apache Tamaya&#8201;&#8212;&#8201;Extension: Collection Support</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"/> - <meta name="description" content=""/> - <meta name="author" content=""/> - <meta name="keywords" content=""/> - <meta name="generator" content="'JBake '+'${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="../">Apache Tamaya (incubating)</a> - </div> - <div class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li><a href="../index.html">Home</a></li> - <li><a href="../quickstart.html">Quickstart</a></li> - <li><a href="../index.html">Documentation</a></li> - <li><a href="..//apidocs/index.html">API</a></li> - <li><a href="../index.html">Development</a></li> - <li><a href="../index.html">Releases</a></li> - <li><a href="../about.html">About</a></li> - <li><a href="../sitemap.xml">Sitemap</a></li> - <li><a href="../feed.xml">Subscribe</a></li> -<!-- - <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> ---> - </ul> - </div><!--/.nav-collapse --> - </div> - </div> - - </div> - <div class="container"> - - <div class="page-header"> - <h1>Apache Tamaya&#8201;&#8212;&#8201;Extension: Collection Support</h1> - </div> - - <p><em>2016-10-31</em></p> - - <p><div id="preamble"> -<div class="sectionbody"> -<!-- toc disabled --> -</div> -</div> -<div class="sect1"> -<h2 id="Optional">Tamaya Collection Support (Extension Module)</h2> -<div class="sectionbody"> -<div class="sect2"> -<h3 id="_overview">Overview</h3> -<div class="paragraph"> -<p>All configuration in Tamaya is expressed as simple key, value pairs. Nevertheless this concept allows similarly -the modelling of collection typed values such as lists, sets, maps or simple collections of things. The Tamaya -Collections extension adds this functionality to the Tamaya eco-system.</p> -</div> -</div> -<div class="sect2"> -<h3 id="_compatibility">Compatibility</h3> -<div class="paragraph"> -<p>The module is based on Java 7, so it will not run on Java 7 and beyond.</p> -</div> -</div> -<div class="sect2"> -<h3 id="_installation">Installation</h3> -<div class="paragraph"> -<p>To use Tamaya collection support you only must add the corresponding dependency to your module:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml"><dependency> - <groupId>org.apache.tamaya.ext</groupId> - <artifactId>tamaya-collections</artifactId> - <version>{tamayaVersion}</version> -</dependency></code></pre> -</div> -</div> -</div> -<div class="sect2"> -<h3 id="_overview_2">Overview</h3> -<div class="paragraph"> -<p>Tamaya Collections adds PropertyConverter implementations that are able to access configuration data -as lists, maps or sets. By default this works out of the box as easy as accessing any other type of -configuration data, e.g.</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-java" data-lang="java">Configuration config = ConfigurationProvider.getConfiguration(); - -// Without any content specification, a list of String is returned. -List<String> simpleList = config.get("my.list.config.entry", List.class); - -// Using a TypeLiteral allows to use every convertible sub type supported by the system. -List<Integer> intList = config.get("my.list.config.entry", new TypeLiteral<List<Integer>>(){});</code></pre> -</div> -</div> -<div class="paragraph"> -<p>Configuration in that case, by default, is a simple comma-separated list of entries, e.g.</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties">my.list.config.entry=1,34454,23,344545,3445</code></pre> -</div> -</div> -<div class="paragraph"> -<p>Additionally the module allows adding additional meta-entries, which allows to tweak some of the -inner-workings, e.g.</p> -</div> -<div class="ulist"> -<ul> -<li> -<p>using your own PropertyConverter implementation for parsing entries.</p> -</li> -<li> -<p>specifying a custom separator String to be used to split the items (default is {{','}}.</p> -</li> -<li> -<p>specifying a custom separator String to be used to split key/value paris when parsing map entries.</p> -</li> -<li> -<p>specifying the implementation type of the collection instance to be returned.</p> -</li> -<li> -<p>specifying if the resulting collection should be returned as a modifiable collection.</p> -</li> -</ul> -</div> -</div> -<div class="sect2"> -<h3 id="_supported_types">Supported Types</h3> -<div class="paragraph"> -<p>This module supports the following types:</p> -</div> -<div class="ulist"> -<ul> -<li> -<p>java.util.Collection</p> -</li> -<li> -<p>java.util.List</p> -</li> -<li> -<p>java.util.ArrayList</p> -</li> -<li> -<p>java.util.LinkedList</p> -</li> -<li> -<p>java.util.Set</p> -</li> -<li> -<p>java.util.SortedSet</p> -</li> -<li> -<p>java.util.TreeSet</p> -</li> -<li> -<p>java.util.HashSet</p> -</li> -<li> -<p>java.util.Map</p> -</li> -<li> -<p>java.util.SortedMap</p> -</li> -<li> -<p>java.util.HashMap</p> -</li> -<li> -<p>java.util.TreeMap</p> -</li> -</ul> -</div> -<div class="paragraph"> -<p>Hereby the type is determined primarly by the parameter type accessed, e.g. -config.get("mylist", ArrayList.class) will always return an ArrayList -as result.</p> -</div> -<div class="sect3"> -<h4 id="_configuring_the_target_implementation_type">Configuring the target implementation type</h4> -<div class="paragraph"> -<p>Tamaya Collections allows you to configure the target collection type by adding the -following meta-configuration entry (shown for the mylist entry). Hereby the package part java.util. -can be ommitted:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties">mylist=a,b,c -_mylist.collection-type=LinkedList</code></pre> -</div> -</div> -<div class="paragraph"> -<p>When calling config.get("mylist", ArrayList.class) this parameter does not have any effect, so you will still -get an ArrayList as a result. However when you call config.get("mylist", List.class) you will -get a LinkedList as implementation type.</p> -</div> -<div class="paragraph"> -<p>This mechanism similarly applies to all kind of collections, so you can use it similarly to define the implementation -type returned when accessing List, Map or Collection.</p> -</div> -</div> -</div> -<div class="sect2"> -<h3 id="_collecting_configuration_entries_instead_of_overriding">Collecting Configuration Entries instead of Overriding</h3> -<div class="paragraph"> -<p>By default Tamaya applies always an overriding CombinationPolicy, where only the configuration entry for -the most significant configuration entry is used. In case of collections (and maybe also other use cases), -overriding is not always the mechanism of choice. E.g. when you want to have all entries added to your -configuration to be <strong>combined</strong> to a new entry containing all values provided by any property sources.</p> -</div> -<div class="paragraph"> -<p>Therefore Tamaya Collections also provides a more sophistiated CombinationPolicy (automatically configured) -that allows to adapt the way how configuration entries are combined. All you must do is declaring -the mechanism to be applied by an according meta-configuration parameter, e.g. for my.list your config may -look as follows:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties"># from PropertSource 1 -my.list=1,2,3 - -# from PropertSource 2 -my.list=4,5,6 - -# without any additional meta-info these entries would be combined to -my.list=4,5,6</code></pre> -</div> -</div> -<div class="paragraph"> -<p>With Tamaya Collections you can now configure the combination policy as follows:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties"># use one of the default policies: override / collect -_my.list.combination-policy=collect - -# use an custom CombinationPolicy to combine the values -_my.list.combination-policy=com.mycomp.app.MyCombincationPolicy</code></pre> -</div> -</div> -<div class="paragraph"> -<p>So declaring the collect policy the resulting raw output of the entry looks as follows:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties"># result when applying the collect policy: -my.list=1,2,3,4,5,6</code></pre> -</div> -</div> -<div class="paragraph"> -<p>The customizable policy mechanism of Tamaya Collections also honors the item-separator meta-configuration -parameter explained later in this document.</p> -</div> -</div> -<div class="sect2"> -<h3 id="_format_of_collection_configuration">Format of Collection Configuration</h3> -<div class="paragraph"> -<p>By default collections are modelled as simple String values, that are tokenized into individual parts using a -defined item-separator (by default ','). So a given configuration entry of 1,2,3 is mapped to "1","2","3". -If the target context type is something different than String the smae conversion logic is used as when mapping -configuration parameters directly to non-String target types (implemented as +PropertyConverter classes, manahed -within the current ConfigurationContext. The procedure is identical for all collection types, including Map types, -with the difference that each token in the list is parsed once more for separating it into a key and a value. -The default separator for map entries hereby is "::". Map keys, as of now, are always of type String, whereas -for values the same logic is applied as for non-map collection types.</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties"># a list, using the default format -list=1,2,3,4,5,6 - -# a map, using the default format -map=a::b, c::d</code></pre> -</div> -</div> -<div class="sect3"> -<h4 id="_trimming_of_entries">Trimming of entries</h4> -<div class="paragraph"> -<p>By default all tokens parsed are trimmed <em>before</em> adding them to the final collection. In case of map entries this is -also the case for key/value entries. So the following configuration results in the identical values for -list1,list2 and map1,map2:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties"># a list, using the default format -list1=1,2,3,4,5,6 -list2=1, 2, 3, 4, 5, 6 - -# a map, using the default format -map1=a::b, c::d -map2=a :: b, c :: d</code></pre> -</div> -</div> -<div class="paragraph"> -<p>Nevertheless truncation can be controlled by the usage of brackets, e.g. the last list or map entry will have a single -space character as value:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties"># a list, with a ' ' value at the end -list3=1, 2, 3, 4, 5, [ ] - -# a map, with a ' ' value for key '0' -map3=1 :: a, 2 :: b, 0::[ ]</code></pre> -</div> -</div> -<div class="paragraph"> -<p>Hereby \[ escapes the sequence.</p> -</div> -</div> -<div class="sect3"> -<h4 id="_customizing_the_format">Customizing the format</h4> -<div class="paragraph"> -<p>The item and entry separators (by default ',' and "::") can be customized by setting corresponding meta-data -entries as follows, resulting in the same values as in the prevoius listing:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties"># a list, with a ' ' value at the end -list3=1__2__3__ 4__ 5__[ ] -_list3.item-separator=__ - -# a map, with a ' ' value for key '0' -map3=1->a, 2->b, 0->[ ] -_map3.map-entry-separator=-></code></pre> -</div> -</div> -<div class="paragraph"> -<p>Of course these settings also can be combined:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties"># a reformatted map -redefined-map=0==none | 1==single | 2==any -_redefined-map.map-entry-separator=== -_redefined-map.item-separator=|</code></pre> -</div> -</div> -</div> -</div> -</div> -</div></p> - - <hr /> - </div> - </div> - <div> - <div id="push"></div> - - <div id="footer"> - <div class="container"> - <p class="muted credit">© 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a> - | Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a> - at <span>2016-11-02</span> - </p> - <p> - <b>Disclaimer</b> - Apache Tamaya (incubating) is an effort undergoing - incubation at - The Apache Software Foundation (ASF), sponsored by - the name of 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 /> - <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../logos/egg-logo2.png"/></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> http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/97bc8884/extensions/mod_consul.html ---------------------------------------------------------------------- diff --git a/extensions/mod_consul.html b/extensions/mod_consul.html deleted file mode 100644 index 349d5f8..0000000 --- a/extensions/mod_consul.html +++ /dev/null @@ -1,222 +0,0 @@ -<!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>Apache Tamaya&#8201;&#8212;&#8201;Extension: Integration with consul (Hashicorp)</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"/> - <meta name="description" content=""/> - <meta name="author" content=""/> - <meta name="keywords" content=""/> - <meta name="generator" content="'JBake '+'${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="../">Apache Tamaya (incubating)</a> - </div> - <div class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li><a href="../index.html">Home</a></li> - <li><a href="../quickstart.html">Quickstart</a></li> - <li><a href="../index.html">Documentation</a></li> - <li><a href="..//apidocs/index.html">API</a></li> - <li><a href="../index.html">Development</a></li> - <li><a href="../index.html">Releases</a></li> - <li><a href="../about.html">About</a></li> - <li><a href="../sitemap.xml">Sitemap</a></li> - <li><a href="../feed.xml">Subscribe</a></li> -<!-- - <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> ---> - </ul> - </div><!--/.nav-collapse --> - </div> - </div> - - </div> - <div class="container"> - - <div class="page-header"> - <h1>Apache Tamaya&#8201;&#8212;&#8201;Extension: Integration with consul (Hashicorp)</h1> - </div> - - <p><em>2016-10-31</em></p> - - <p><div id="preamble"> -<div class="sectionbody"> -<!-- toc disabled --> -</div> -</div> -<div class="sect1"> -<h2 id="Optional">Integration with consul (Extension Module)</h2> -<div class="sectionbody"> -<div class="sect2"> -<h3 id="_overview">Overview</h3> -<div class="paragraph"> -<p>The Tamaya consul integration module provides different artifacts which allows integration of Apachae Tamaya -configuration with consul. Basically the module supports read-only integration (as a ConsulPropertySource as well -as a support for MutableConfiguration as defined by the tamaya-mutable-config extension module.</p> -</div> -</div> -<div class="sect2"> -<h3 id="_compatibility">Compatibility</h3> -<div class="paragraph"> -<p>The module is based on Java 7, so it will not run on Java 7 and beyond.</p> -</div> -</div> -<div class="sect2"> -<h3 id="_installation">Installation</h3> -<div class="paragraph"> -<p>To benefit from configuration builder support you only must add the corresponding dependency to your module:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml"><dependency> - <groupId>org.apache.tamaya.ext</groupId> - <artifactId>tamaya-consul</artifactId> - <version>{tamayaVersion}</version> -</dependency></code></pre> -</div> -</div> -</div> -<div class="sect2"> -<h3 id="_the_extensions_provided">The Extensions Provided</h3> -<div class="paragraph"> -<p>Consul integration comes basically with 2 artifacts:</p> -</div> -<div class="ulist"> -<ul> -<li> -<p>The org.apache.tamaya.etcd.ConsulPropertySource is a PropertySource with a default ordinal of 100 and the name -'consul', which is automatically registered.</p> -</li> -<li> -<p>If the tamaya-mutable-config module is loaded it is possible to write property values back into the consul cluster, -by accessing a MutableConfiguration using the URI config:consul.</p> -</li> -</ul> -</div> -</div> -<div class="sect2"> -<h3 id="_the_consulpropertysource">The ConsulPropertySource</h3> -<div class="paragraph"> -<p>The ConsulPropertySource is automatically registered and allows the consul servers to be used to be configured. This -enables to use e.g. in Docker environments the docker environment configuration mechanisms to configure Tamaya running -in microservice containers to connect with the according consul cluster:</p> -</div> -<div class="ulist"> -<ul> -<li> -<p>The property source reads the tamaya.consul.urls system and environment property to evaluate possible etcd servers -(comma separated), which can be connected to. On error the API just performs a Round-Robin through the list of -configured servers. Without any configuration http://127.0.0.1:2400 is used. If no connection to any consul -server can be established a warning will be logged, but deployment will not fail.</p> -</li> -<li> -<p>The ConsulPropertySource finally also allows the values read from the consul cluster to be mapped to prefixed -context. This can be activated by setting the -Dtamaya.consul.prefix=<PREFIX> system property. E.g. when the prefix is -set to cluster-config. a consul key of host:known/all is mapped to cluster-config.host:known/all.</p> -</li> -</ul> -</div> -</div> -</div> -</div></p> - - <hr /> - </div> - </div> - <div> - <div id="push"></div> - - <div id="footer"> - <div class="container"> - <p class="muted credit">© 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a> - | Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a> - at <span>2016-11-02</span> - </p> - <p> - <b>Disclaimer</b> - Apache Tamaya (incubating) is an effort undergoing - incubation at - The Apache Software Foundation (ASF), sponsored by - the name of 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 /> - <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../logos/egg-logo2.png"/></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> http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/97bc8884/extensions/mod_environment.html ---------------------------------------------------------------------- diff --git a/extensions/mod_environment.html b/extensions/mod_environment.html deleted file mode 100644 index 306ad4f..0000000 --- a/extensions/mod_environment.html +++ /dev/null @@ -1,192 +0,0 @@ -<!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>Apache Tamaya&#8201;&#8212;&#8201;Extension: Classloader Isolation Support</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"/> - <meta name="description" content=""/> - <meta name="author" content=""/> - <meta name="keywords" content=""/> - <meta name="generator" content="'JBake '+'${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="../">Apache Tamaya (incubating)</a> - </div> - <div class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li><a href="../index.html">Home</a></li> - <li><a href="../quickstart.html">Quickstart</a></li> - <li><a href="../index.html">Documentation</a></li> - <li><a href="..//apidocs/index.html">API</a></li> - <li><a href="../index.html">Development</a></li> - <li><a href="../index.html">Releases</a></li> - <li><a href="../about.html">About</a></li> - <li><a href="../sitemap.xml">Sitemap</a></li> - <li><a href="../feed.xml">Subscribe</a></li> -<!-- - <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> ---> - </ul> - </div><!--/.nav-collapse --> - </div> - </div> - - </div> - <div class="container"> - - <div class="page-header"> - <h1>Apache Tamaya&#8201;&#8212;&#8201;Extension: Classloader Isolation Support</h1> - </div> - - <p><em>2016-10-31</em></p> - - <p><div id="preamble"> -<div class="sectionbody"> -<!-- toc disabled --> -</div> -</div> -<div class="sect1"> -<h2 id="Remote">Tamaya Environment Model (Extension Module)</h2> -<div class="sectionbody"> -<div class="sect2"> -<h3 id="_overview">Overview</h3> -<div class="paragraph"> -<p>The Tamaya Environment extension adds a simple PropertySourceProvider that evaluates a List of environment context and -combines them in the given order into an (optional) root context within the system’s configuration.</p> -</div> -</div> -<div class="sect2"> -<h3 id="_compatibility">Compatibility</h3> -<div class="paragraph"> -<p>The module is based on Java 7, so it will not run on Java 7 and beyond.</p> -</div> -</div> -<div class="sect2"> -<h3 id="_installation">Installation</h3> -<div class="paragraph"> -<p>To benefit from Tamaya Environment Model you only must add the corresponding dependency to your module:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml"><dependency> - <groupId>org.apache.tamaya.ext</groupId> - <artifactId>tamaya-envionment</artifactId> - <version>{tamayaVersion}</version> -</dependency></code></pre> -</div> -</div> -</div> -<div class="sect2"> -<h3 id="_how_it_works">How it Works</h3> -<div class="paragraph"> -<p>tbd</p> -</div> -</div> -<div class="sect2"> -<h3 id="_reusable_base_classes">Reusable Base Classes</h3> -<div class="paragraph"> -<p>tbd</p> -</div> -</div> -</div> -</div></p> - - <hr /> - </div> - </div> - <div> - <div id="push"></div> - - <div id="footer"> - <div class="container"> - <p class="muted credit">© 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a> - | Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a> - at <span>2016-11-02</span> - </p> - <p> - <b>Disclaimer</b> - Apache Tamaya (incubating) is an effort undergoing - incubation at - The Apache Software Foundation (ASF), sponsored by - the name of 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 /> - <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../logos/egg-logo2.png"/></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> http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/97bc8884/extensions/mod_etcd.html ---------------------------------------------------------------------- diff --git a/extensions/mod_etcd.html b/extensions/mod_etcd.html deleted file mode 100644 index 5886777..0000000 --- a/extensions/mod_etcd.html +++ /dev/null @@ -1,358 +0,0 @@ -<!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>Apache Tamaya&#8201;&#8212;&#8201;Extension: Integration with etcd (Core OS)</title> - <meta name="viewport" content="width=device-width, initial-scale=1.0"/> - <meta name="description" content=""/> - <meta name="author" content=""/> - <meta name="keywords" content=""/> - <meta name="generator" content="'JBake '+'${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="../">Apache Tamaya (incubating)</a> - </div> - <div class="navbar-collapse collapse"> - <ul class="nav navbar-nav"> - <li><a href="../index.html">Home</a></li> - <li><a href="../quickstart.html">Quickstart</a></li> - <li><a href="../index.html">Documentation</a></li> - <li><a href="..//apidocs/index.html">API</a></li> - <li><a href="../index.html">Development</a></li> - <li><a href="../index.html">Releases</a></li> - <li><a href="../about.html">About</a></li> - <li><a href="../sitemap.xml">Sitemap</a></li> - <li><a href="../feed.xml">Subscribe</a></li> -<!-- - <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> ---> - </ul> - </div><!--/.nav-collapse --> - </div> - </div> - - </div> - <div class="container"> - - <div class="page-header"> - <h1>Apache Tamaya&#8201;&#8212;&#8201;Extension: Integration with etcd (Core OS)</h1> - </div> - - <p><em>2016-10-31</em></p> - - <p><div id="preamble"> -<div class="sectionbody"> -<!-- toc disabled --> -</div> -</div> -<div class="sect1"> -<h2 id="Optional">Integration with etcd (Extension Module)</h2> -<div class="sectionbody"> -<div class="sect2"> -<h3 id="_overview">Overview</h3> -<div class="paragraph"> -<p>The Tamaya etcd integration module provides different artifacts which allows integration of Apachae Tamaya -configuration with etcd. Basically the module supports read-only integration (as a EtcdPropertySource as well -as a support for MutableConfiguration as defined by the tamaya-mutable-config extension module.</p> -</div> -</div> -<div class="sect2"> -<h3 id="_compatibility">Compatibility</h3> -<div class="paragraph"> -<p>The module is based on Java 7, so it will not run on Java 7 and beyond.</p> -</div> -</div> -<div class="sect2"> -<h3 id="_installation">Installation</h3> -<div class="paragraph"> -<p>To benefit from configuration builder support you only must add the corresponding dependency to your module:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml"><dependency> - <groupId>org.apache.tamaya.ext</groupId> - <artifactId>tamaya-etcd</artifactId> - <version>{tamayaVersion}</version> -</dependency></code></pre> -</div> -</div> -</div> -<div class="sect2"> -<h3 id="_the_extensions_provided">The Extensions Provided</h3> -<div class="paragraph"> -<p>ETcd integration comes basically with 2 artifacts:</p> -</div> -<div class="ulist"> -<ul> -<li> -<p>The org.apache.tamaya.etcd.EtcdAccessor can be configured with a an url targeting an etcd server’s REST endpoint root. -(org.apache.tamaya.etcd.EtcdAccessor). The accessor basically provides a simple Java API for communicating -with etcd server. The accessor hereby allows reading of single properties, or whole subtrees. Also the basic non -atomic write methods are implemented.</p> -</li> -<li> -<p>The org.apache.tamaya.etcd.EtcdPropertySource is a PropertySource with a default ordinal of 100 and the name -'etcd', which is automatically registered.</p> -</li> -<li> -<p>If the tamaya-mutable-config module is loaded it is possible to write property values back into the etcd cluster, -by accessing a MutableConfiguration using the URI config:etcd.</p> -</li> -</ul> -</div> -</div> -<div class="sect2"> -<h3 id="_the_etcdaccessor">The EtcdAccessor</h3> -<div class="paragraph"> -<p>The accessor mentioned implements the basic read and write API for communicating with an etcd configuration cluster. -Hereby the accessor also provides etcd specific data such as createdIndex, modifiedIndex, ttl in the Map -returned. Hereby the concept of etcd is used where keys starting with an '_' will be hidden from the overall -properties map, being only directly/explicitly accessible:</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public class EtcdAccessor { - - /** - * Creates a new instance with the basic access url. - * @param server server url, e.g. {@code http://127.0.0.1:4001}. - * @throws MalformedURLException - */ - public EtcdAccessor(String server) throws MalformedURLException; - - /** - * Get the etcd server version. - * @return the etcd server version, never null. - */ - public String getVersion(); - - /** - * Ask etcd for s aingle key, value pair. Hereby the response returned from etcd: - * <pre> - * key=value - * _key.source=[etcd]http://127.0.0.1:4001 - * _key.createdIndex=12 - * _key.modifiedIndex=34 // optional - * _key.ttl=300 // optional - * _key.expiration=... // optional - * </pre> - * @param key the requested key - * @return the mapped result, including meta-entries. - */ - public Map<String,String> get(String key); - - /** - * Creates/updates an entry in etcd without any ttl set. - * The response is as follows: - * <pre> - * key=value - * _key.source=[etcd]http://127.0.0.1:4001 - * _key.createdIndex=12 - * _key.modifiedIndex=34 // optional - * _key.prevNode.createdIndex=12 // optional - * _key.prevNode.modifiedIndex=34 // optional - * </pre> - * @param key the property key, not null - * @param value the value to be set - * @return the result map as described above. - */ - public Map<String,String> set(String key, String value); - - /** - * Creates/updates an entry in etcd. The response is as follows: - * <pre> - * key=value - * _key.source=[etcd]http://127.0.0.1:4001 - * _key.createdIndex=12 - * _key.modifiedIndex=34 // optional - * _key.ttl=300 // optional - * _key.expiry=... // optional - * _key.prevNode.createdIndex=12 // optional - * _key.prevNode.modifiedIndex=34 // optional - * _key.prevNode.ttl=300 // optional - * _key.prevNode.expiration=... // optional - * </pre> - * @param key the property key, not null - * @param value the value to be set - * @param ttlSeconds the ttl in seconds (optional) - * @return the result map as described above. - */ - public Map<String,String> set(String key, String value, Integer ttlSeconds); - - - /** - * Deletes a given key. The response is as follows: - * <pre> - * _key.source=[etcd]http://127.0.0.1:4001 - * _key.createdIndex=12 - * _key.modifiedIndex=34 - * _key.ttl=300 // optional - * _key.expiry=... // optional - * _key.prevNode.createdIndex=12 // optional - * _key.prevNode.modifiedIndex=34 // optional - * _key.prevNode.ttl=300 // optional - * _key.prevNode.expiration=... // optional - * _key.prevNode.value=... // optional - * </pre> - * @param key the key to be deleted. - * @return the response mpas as described above. - */ - public Map<String,String> delete(String key); - - - /** - * Access regular Tamaya properties map as follows: - * <pre> - * key1=myvalue - * _key1.source=[etcd]http://127.0.0.1:4001 - * _key1.createdIndex=12 - * _key1.modifiedIndex=34 // optional - * _key1.ttl=300 // optional - * _key1.expiration=... // optional - * - * key2=myvaluexxx - * _key2.source=[etcd]http://127.0.0.1:4001 - * _key2.createdIndex=12 - * - * key3=val3 - * _key3.source=[etcd]http://127.0.0.1:4001 - * _key3.createdIndex=12 - * _key3.modifiedIndex=2 - * </pre> - */ - public Map<String,String> getProperties(String directory, boolean recursive); - -}</code></pre> -</div> -</div> -</div> -<div class="sect2"> -<h3 id="_the_etcdpropertysource">The EtcdPropertySource</h3> -<div class="paragraph"> -<p>The EtcdPropertySource is automatically registered and allows to configure the etcd servers to be used. This -enables to use e.g. in Docker environments the docker environment configuration mechanisms to configure Tamaya running -in microservice containers to connect with the according etcd cluster:</p> -</div> -<div class="ulist"> -<ul> -<li> -<p>The property source reads the tamaya.etcd.server.urls system and environment property to evaluate possible etcd servers -(comma separated), which can be connected to. On error the API just performs a Round-Robin through the list of -configured servers. Without any configuration http://127.0.0.1:4001 is used. If no connection to any etcd -server can be established a warning will be logged, but deployment will not fail.</p> -</li> -<li> -<p>Additinoally also the -accessor allows to configure the socket/connection timeouts by setting tamaya.etcd.timeout in seconds either as -system or environment property.</p> -</li> -<li> -<p>The EtcdPropertySource finally also allows the values read from the etcd cluster to be mapped to prefixed -context. This can be activated by setting the -Dtamaya.etcd.prefix=<PREFIX> system property. E.g. when the prefix is -set to cluster-config. a etcd key of host:known/all is mapped to cluster-config.host:known/all.</p> -</li> -</ul> -</div> -</div> -</div> -</div></p> - - <hr /> - </div> - </div> - <div> - <div id="push"></div> - - <div id="footer"> - <div class="container"> - <p class="muted credit">© 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a> - | Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a> - at <span>2016-11-02</span> - </p> - <p> - <b>Disclaimer</b> - Apache Tamaya (incubating) is an effort undergoing - incubation at - The Apache Software Foundation (ASF), sponsored by - the name of 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 /> - <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../logos/egg-logo2.png"/></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>
