You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bu...@apache.org on 2016/09/08 15:20:50 UTC
svn commit: r996961 - in /websites/production/camel/content:
book-component-appendix.html book-in-one-page.html cache/main.pageCache
properties.html
Author: buildbot
Date: Thu Sep 8 15:20:50 2016
New Revision: 996961
Log:
Production update by buildbot for camel
Modified:
websites/production/camel/content/book-component-appendix.html
websites/production/camel/content/book-in-one-page.html
websites/production/camel/content/cache/main.pageCache
websites/production/camel/content/properties.html
Modified: websites/production/camel/content/book-component-appendix.html
==============================================================================
--- websites/production/camel/content/book-component-appendix.html (original)
+++ websites/production/camel/content/book-component-appendix.html Thu Sep 8 15:20:50 2016
@@ -1042,11 +1042,11 @@ template.send("direct:alias-verify&
]]></script>
</div></div><p></p><h3 id="BookComponentAppendix-SeeAlso.8">See Also</h3>
<ul><li><a shape="rect" href="configuring-camel.html">Configuring Camel</a></li><li><a shape="rect" href="component.html">Component</a></li><li><a shape="rect" href="endpoint.html">Endpoint</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li></ul><ul><li><a shape="rect" href="crypto.html">Crypto</a> Crypto is also available as a <a shape="rect" href="data-format.html">Data Format</a></li></ul> <h2 id="BookComponentAppendix-CXFComponent">CXF Component</h2><div class="confluence-information-macro confluence-information-macro-note"><span class="aui-icon aui-icon-small aui-iconfont-warning confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>When using CXF as a consumer, the <a shape="rect" href="cxf-bean-component.html">CXF Bean Component</a> allows you to factor out how message payloads are received from their processing as a RESTful or SOAP web service. This has the potential of using a multitude of transports to cons
ume web services. The bean component's configuration is also simpler and provides the fastest method to implement web services using Camel and CXF.</p></div></div><div class="confluence-information-macro confluence-information-macro-tip"><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>When using CXF in streaming modes (see DataFormat option), then also read about <a shape="rect" href="stream-caching.html">Stream caching</a>.</p></div></div><p>The <strong>cxf:</strong> component provides integration with <a shape="rect" href="http://cxf.apache.org">Apache CXF</a> for connecting to JAX-WS services hosted in CXF.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1473286663034 {padding: 0px;}
-div.rbtoc1473286663034 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1473286663034 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1473347896066 {padding: 0px;}
+div.rbtoc1473347896066 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1473347896066 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1473286663034">
+/*]]>*/</style></p><div class="toc-macro rbtoc1473347896066">
<ul class="toc-indentation"><li><a shape="rect" href="#BookComponentAppendix-CXFComponent">CXF Component</a>
<ul class="toc-indentation"><li><a shape="rect" href="#BookComponentAppendix-URIformat">URI format</a></li><li><a shape="rect" href="#BookComponentAppendix-Options">Options</a>
<ul class="toc-indentation"><li><a shape="rect" href="#BookComponentAppendix-Thedescriptionsofthedataformats">The descriptions of the dataformats</a>
@@ -7901,7 +7901,7 @@ lpr://remotehost:port/path/to/printer[?o
</div></div> <h2 id="BookComponentAppendix-PropertiesComponent">Properties Component</h2><p><strong>Available as of Camel 2.3</strong></p><h3 id="BookComponentAppendix-URIformat.53">URI format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[properties:key[?options]
]]></script>
-</div></div><p>Where <strong>key</strong> is the key for the property to lookup</p><h3 id="BookComponentAppendix-Options.40">Options</h3><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>cache</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether or not to cache loaded properties.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>locations</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"
><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A list of locations to load properties. You can use comma to separate multiple locations. This option will override any default locations and <strong>only</strong> use the locations from this option.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>encoding</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>String</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.14.3/2.15.1:</strong> To use a specific charset to load the properties, such as UTF-8. By default ISO-8859-1 (latin1) is used.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>ignoreMissingLocation</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" ro
wspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Whether to silently ignore if a location cannot be located, such as a properties file not found.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>propertyPrefix</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> Optional prefix prepended to property names before resolution.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>propertySuffix</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> Optional su
ffix appended to property names before resolution.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>fallbackToUnaugmentedProperty</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> If true, first attempt resolution of property name augmented with <code>propertyPrefix</code> and <code>propertySuffix</code> before falling back the plain property name specified. If false, only the augmented property name is searched.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>prefixToken</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>{{</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> The token to indicate the b
eginning of a property token.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>suffixToken</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>}}</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> The token to indicate the end of a property token.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>systemPropertiesMode</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>int</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>2</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.16:</strong> The mode to use for whether to resolve and use system properties</p><p>0 = never (JVM system properties is never used)<br clear="none">1 = fallback (JVM system properties is only used as fallback if no regular property with the key exists)<br clear="none">2 = override&
#160; (JVM system properties is used if exists, otherwise a the regular property will be used)</p><p>Notice when bridging this to Spring's property placeholder with <code>org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer</code> then the configuration on <code>BridgePropertyPlaceholderConfigurer</code> takes precedence over the configuration on the <code>PropertiesComponent</code>. </p></td></tr></tbody></table></div></div><div class="confluence-information-macro confluence-information-macro-tip"><p class="title">Resolving property from Java code</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>You can use the method <code>resolvePropertyPlaceholders</code> on the <code>CamelContext</code> to resolve a property from any Java code.</p></div></div><p></p><h2 id="BookComponentAppendix-UsingPropertyPlaceholder">Using PropertyPlaceholder</h2><p><strong>Available as of
Camel 2.3</strong></p><p>Camel now provides a new <code>PropertiesComponent</code> in <strong>camel-core</strong> which allows you to use property placeholders when defining Camel <a shape="rect" href="endpoint.html">Endpoint</a> URIs. <br clear="none"> This works much like you would do if using Spring's <code><property-placeholder></code> tag. However Spring have a limitation which prevents 3rd party frameworks to leverage Spring property placeholders to the fullest. See more at <a shape="rect" href="how-do-i-use-spring-property-placeholder-with-camel-xml.html">How do I use Spring Property Placeholder with Camel XML</a>.</p><div class="confluence-information-macro confluence-information-macro-tip"><p class="title">Bridging Spring and Camel property placeholders</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>From Camel 2.10 onwards, you can bridge the Spring property plac
eholder with Camel, see further below for more details.</p></div></div><p>The property placeholder is generally in use when doing:</p><ul class="alternate"><li>lookup or creating endpoints</li><li>lookup of beans in the <a shape="rect" href="registry.html">Registry</a></li><li>additional supported in Spring XML (see below in examples)</li><li>using Blueprint PropertyPlaceholder with Camel <a shape="rect" href="properties.html">Properties</a> component</li><li>using <code>@PropertyInject</code> to inject a property in a POJO</li><li><strong>Camel 2.14.1</strong> Using default value if a property does not exists</li><li><strong>Camel 2.14.1</strong> Include out of the box functions, to lookup property values from OS environment variables, JVM system properties, or the service idiom.</li><li><strong>Camel 2.14.1</strong> Using custom functions, which can be plugged into the property component.</li></ul><h3 id="BookComponentAppendix-Syntax">Syntax</h3><p>The syntax to use Camel's proper
ty placeholder is to use {{<code>key</code>}} for example {{<code>file.uri</code>}} where <code>file.uri</code> is the property key.<br clear="none"> You can use property placeholders in parts of the endpoint URI's which for example you can use placeholders for parameters in the URIs.</p><p>From <strong>Camel 2.14.1</strong> onwards you can specify a default value to use if a property with the key does not exists, eg <code>file.url:/some/path</code> where the default value is the text after the colon (eg /some/path).</p><div class="confluence-information-macro confluence-information-macro-information"><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>Do not use colon in the property key. The colon is used as a separator token when you are providing a default value, which is supported from <strong>Camel 2.14.1</strong> onwards.</p></div></div><h3 id="BookComponentAppendix-Proper
tyResolver">PropertyResolver</h3><p>Camel provides a pluggable mechanism which allows 3rd part to provide their own resolver to lookup properties. Camel provides a default implementation <code>org.apache.camel.component.properties.DefaultPropertiesResolver</code> which is capable of loading properties from the file system, classpath or <a shape="rect" href="registry.html">Registry</a>. You can prefix the locations with either:</p><ul class="alternate"><li><code>ref:</code> <strong>Camel 2.4:</strong> to lookup in the <a shape="rect" href="registry.html">Registry</a></li><li><code>file:</code> to load the from file system</li><li><code>classpath:</code> to load from classpath (this is also the default if no prefix is provided)</li><li><code>blueprint:</code> <strong>Camel 2.7:</strong> to use a specific OSGi blueprint placeholder service</li></ul><h3 id="BookComponentAppendix-Defininglocation">Defining location</h3><p>The <code>PropertiesResolver</code> need to know a location(s) whe
re to resolve the properties. You can define 1 to many locations. If you define the location in a single String property you can separate multiple locations with comma such as:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Where <strong><code>key</code></strong> is the key for the property to be looked up.</p><h3 id="BookComponentAppendix-Options.40">Options</h3><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>cache</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether or not to cache loaded properties.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>encoding</code></p></td><td colspan="1" rowspan="1" c
lass="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.14.3/2.15.1:</strong> To use a specific charset to load the properties, such as UTF-8. By default <code>ISO-8859-1</code> (<code>latin1</code>) is used.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>fallbackToUnaugmentedProperty</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> If <strong><code>true</code></strong>, first attempt resolution of property name augmented with <strong><code>propertyPrefix</code></strong> and <strong><code>propertySuffix</code></strong> before falling back the plain property name specified.</p><p>If <strong><code>false</code></st
rong>, only the augmented property name is searched.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>ignoreMissingLocation</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Whether to silently ignore if a location cannot be located, such as a properties file not found.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>locations</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A list of locations to load properties. You can use comma to separate multiple locations. This option will override any default locations and <strong>only</strong> use the locations fr
om this option.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>prefixToken</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>{{</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> The token to indicate the beginning of a property token.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>propertyPrefix</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> Optional prefix prepended to property names before resolution.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>propertySuffix</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></
td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> Optional suffix appended to property names before resolution.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>suffixToken</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>}}<br clear="none"></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> The token to indicate the end of a property token.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>systemPropertiesMode</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>int</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>2</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.16</strong> The mode to use for whether
to resolve and use system properties:</p><p><strong><code>0</code></strong> = never - JVM system properties are never used.<br clear="none"><strong><code>1</code></strong> = fallback - JVM system properties are only used as fallback if no regular property with the key exists.<br clear="none"><strong><code>2</code></strong> = override - JVM system properties are used if exists, otherwise the regular property will be used.</p><p><strong>Note</strong>: when bridging this to Spring's property placeholder with <strong><code>org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer</code></strong> then the configuration on <strong><code>BridgePropertyPlaceholderConfigurer</code></strong> takes precedence over the configuration on the <strong><code>PropertiesComponent</code></strong>. </p></td></tr></tbody></table></div></div><div class="confluence-information-macro confluence-information-macro-tip"><p class="title">Resolving property from Java code</p><span clas
s="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>You can use the method <strong><code>resolvePropertyPlaceholders</code></strong> on the <strong><code>CamelContext</code></strong> to resolve a property from any Java code.</p></div></div><p></p><h2 id="BookComponentAppendix-UsingPropertyPlaceholder">Using PropertyPlaceholder</h2><p><strong>Available as of Camel 2.3</strong></p><p>Camel now provides a new <code>PropertiesComponent</code> in <strong>camel-core</strong> which allows you to use property placeholders when defining Camel <a shape="rect" href="endpoint.html">Endpoint</a> URIs. <br clear="none"> This works much like you would do if using Spring's <code><property-placeholder></code> tag. However Spring have a limitation which prevents 3rd party frameworks to leverage Spring property placeholders to the fullest. See more at <a shape="rect" href="how-do-i-use-spring-property-placeho
lder-with-camel-xml.html">How do I use Spring Property Placeholder with Camel XML</a>.</p><div class="confluence-information-macro confluence-information-macro-tip"><p class="title">Bridging Spring and Camel property placeholders</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>From Camel 2.10 onwards, you can bridge the Spring property placeholder with Camel, see further below for more details.</p></div></div><p>The property placeholder is generally in use when doing:</p><ul class="alternate"><li>lookup or creating endpoints</li><li>lookup of beans in the <a shape="rect" href="registry.html">Registry</a></li><li>additional supported in Spring XML (see below in examples)</li><li>using Blueprint PropertyPlaceholder with Camel <a shape="rect" href="properties.html">Properties</a> component</li><li>using <code>@PropertyInject</code> to inject a property in a POJO</li><li><strong>Came
l 2.14.1</strong> Using default value if a property does not exists</li><li><strong>Camel 2.14.1</strong> Include out of the box functions, to lookup property values from OS environment variables, JVM system properties, or the service idiom.</li><li><strong>Camel 2.14.1</strong> Using custom functions, which can be plugged into the property component.</li></ul><h3 id="BookComponentAppendix-Syntax">Syntax</h3><p>The syntax to use Camel's property placeholder is to use {{<code>key</code>}} for example {{<code>file.uri</code>}} where <code>file.uri</code> is the property key.<br clear="none"> You can use property placeholders in parts of the endpoint URI's which for example you can use placeholders for parameters in the URIs.</p><p>From <strong>Camel 2.14.1</strong> onwards you can specify a default value to use if a property with the key does not exists, eg <code>file.url:/some/path</code> where the default value is the text after the colon (eg /some/path).</p><div class="co
nfluence-information-macro confluence-information-macro-information"><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>Do not use colon in the property key. The colon is used as a separator token when you are providing a default value, which is supported from <strong>Camel 2.14.1</strong> onwards.</p></div></div><h3 id="BookComponentAppendix-PropertyResolver">PropertyResolver</h3><p>Camel provides a pluggable mechanism which allows 3rd part to provide their own resolver to lookup properties. Camel provides a default implementation <code>org.apache.camel.component.properties.DefaultPropertiesResolver</code> which is capable of loading properties from the file system, classpath or <a shape="rect" href="registry.html">Registry</a>. You can prefix the locations with either:</p><ul class="alternate"><li><code>ref:</code> <strong>Camel 2.4:</strong> to lookup in the <a shape="rect" href="regis
try.html">Registry</a></li><li><code>file:</code> to load the from file system</li><li><code>classpath:</code> to load from classpath (this is also the default if no prefix is provided)</li><li><code>blueprint:</code> <strong>Camel 2.7:</strong> to use a specific OSGi blueprint placeholder service</li></ul><h3 id="BookComponentAppendix-Defininglocation">Defining location</h3><p>The <code>PropertiesResolver</code> need to know a location(s) where to resolve the properties. You can define 1 to many locations. If you define the location in a single String property you can separate multiple locations with comma such as:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[pc.setLocation("com/mycompany/myprop.properties,com/mycompany/other.properties");
]]></script>
</div></div><h4 id="BookComponentAppendix-Usingsystemandenvironmentvariablesinlocations">Using system and environment variables in locations</h4><p><strong>Available as of Camel 2.7</strong></p><p>The location now supports using placeholders for JVM system properties and OS environments variables.</p><p>For example:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -8466,7 +8466,7 @@ export $FOO_SERVICE_PORT=8888]]></script
]]></script>
</div></div><p> </p><h2 id="BookComponentAppendix-SeeAlso.49">See Also</h2><ul class="alternate"><li><a shape="rect" href="properties.html">Properties</a> component</li></ul> <h3 id="BookComponentAppendix-SeeAlso.50">See Also</h3>
-<ul><li><a shape="rect" href="configuring-camel.html">Configuring Camel</a></li><li><a shape="rect" href="component.html">Component</a></li><li><a shape="rect" href="endpoint.html">Endpoint</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li></ul><ul class="alternate"><li><a shape="rect" href="jasypt.html">Jasypt</a> for using encrypted values (eg passwords) in the properties</li></ul> <h2 id="BookComponentAppendix-RefComponent">Ref Component</h2>
+<ul><li><a shape="rect" href="configuring-camel.html">Configuring Camel</a></li><li><a shape="rect" href="component.html">Component</a></li><li><a shape="rect" href="endpoint.html">Endpoint</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li></ul><ul class="alternate"><li><a shape="rect" href="jasypt.html">Jasypt</a> for using encrypted values e.g., passwords, in properties.</li></ul> <h2 id="BookComponentAppendix-RefComponent">Ref Component</h2>
<p>The <strong>ref:</strong> component is used for lookup of existing endpoints bound in the <a shape="rect" href="registry.html">Registry</a>.</p>
Modified: websites/production/camel/content/book-in-one-page.html
==============================================================================
--- websites/production/camel/content/book-in-one-page.html (original)
+++ websites/production/camel/content/book-in-one-page.html Thu Sep 8 15:20:50 2016
@@ -3625,11 +3625,11 @@ The tutorial has been designed in two pa
While not actual tutorials you might find working through the source of the various <a shape="rect" href="examples.html">Examples</a> useful.</li></ul>
<h2 id="BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring Remoting with JMS</h2><p> </p><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Thanks</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>This tutorial was kindly donated to Apache Camel by Martin Gilday.</p></div></div><h2 id="BookInOnePage-Preface">Preface</h2><p>This tutorial aims to guide the reader through the stages of creating a project which uses Camel to facilitate the routing of messages from a JMS queue to a <a shape="rect" class="external-link" href="http://www.springramework.org" rel="nofollow">Spring</a> service. The route works in a synchronous fashion returning a response to the client.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1473286669224 {padding: 0px;}
-div.rbtoc1473286669224 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1473286669224 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1473347932669 {padding: 0px;}
+div.rbtoc1473347932669 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1473347932669 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1473286669224">
+/*]]>*/</style></p><div class="toc-macro rbtoc1473347932669">
<ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring Remoting with JMS</a></li><li><a shape="rect" href="#BookInOnePage-Preface">Preface</a></li><li><a shape="rect" href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" href="#BookInOnePage-About">About</a></li><li><a shape="rect" href="#BookInOnePage-CreatetheCamelProject">Create the Camel Project</a>
<ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-UpdatethePOMwithDependencies">Update the POM with Dependencies</a></li></ul>
</li><li><a shape="rect" href="#BookInOnePage-WritingtheServer">Writing the Server</a>
@@ -5744,11 +5744,11 @@ So we completed the last piece in the pi
<p>This example has been removed from <strong>Camel 2.9</strong> onwards. Apache Axis 1.4 is a very old and unsupported framework. We encourage users to use <a shape="rect" href="cxf.html">CXF</a> instead of Axis.</p></div></div>
<style type="text/css">/*<![CDATA[*/
-div.rbtoc1473286669478 {padding: 0px;}
-div.rbtoc1473286669478 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1473286669478 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1473347933550 {padding: 0px;}
+div.rbtoc1473347933550 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1473347933550 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style><div class="toc-macro rbtoc1473286669478">
+/*]]>*/</style><div class="toc-macro rbtoc1473347933550">
<ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-TutorialusingAxis1.4withApacheCamel">Tutorial using Axis 1.4 with Apache Camel</a>
<ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" href="#BookInOnePage-Introduction">Introduction</a></li><li><a shape="rect" href="#BookInOnePage-SettinguptheprojecttorunAxis">Setting up the project to run Axis</a>
<ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-Maven2">Maven 2</a></li><li><a shape="rect" href="#BookInOnePage-wsdl">wsdl</a></li><li><a shape="rect" href="#BookInOnePage-ConfiguringAxis">Configuring Axis</a></li><li><a shape="rect" href="#BookInOnePage-RunningtheExample">Running the Example</a></li></ul>
@@ -17175,11 +17175,11 @@ template.send("direct:alias-verify&
]]></script>
</div></div><p></p><h3 id="BookInOnePage-SeeAlso.28">See Also</h3>
<ul><li><a shape="rect" href="configuring-camel.html">Configuring Camel</a></li><li><a shape="rect" href="component.html">Component</a></li><li><a shape="rect" href="endpoint.html">Endpoint</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li></ul><ul><li><a shape="rect" href="crypto.html">Crypto</a> Crypto is also available as a <a shape="rect" href="data-format.html">Data Format</a></li></ul> <h2 id="BookInOnePage-CXFComponent">CXF Component</h2><div class="confluence-information-macro confluence-information-macro-note"><span class="aui-icon aui-icon-small aui-iconfont-warning confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>When using CXF as a consumer, the <a shape="rect" href="cxf-bean-component.html">CXF Bean Component</a> allows you to factor out how message payloads are received from their processing as a RESTful or SOAP web service. This has the potential of using a multitude of transports to consume web
services. The bean component's configuration is also simpler and provides the fastest method to implement web services using Camel and CXF.</p></div></div><div class="confluence-information-macro confluence-information-macro-tip"><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>When using CXF in streaming modes (see DataFormat option), then also read about <a shape="rect" href="stream-caching.html">Stream caching</a>.</p></div></div><p>The <strong>cxf:</strong> component provides integration with <a shape="rect" href="http://cxf.apache.org">Apache CXF</a> for connecting to JAX-WS services hosted in CXF.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1473286674872 {padding: 0px;}
-div.rbtoc1473286674872 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1473286674872 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1473347970362 {padding: 0px;}
+div.rbtoc1473347970362 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1473347970362 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1473286674872">
+/*]]>*/</style></p><div class="toc-macro rbtoc1473347970362">
<ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-CXFComponent">CXF Component</a>
<ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-URIformat">URI format</a></li><li><a shape="rect" href="#BookInOnePage-Options">Options</a>
<ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-Thedescriptionsofthedataformats">The descriptions of the dataformats</a>
@@ -24034,7 +24034,7 @@ lpr://remotehost:port/path/to/printer[?o
</div></div> <h2 id="BookInOnePage-PropertiesComponent">Properties Component</h2><p><strong>Available as of Camel 2.3</strong></p><h3 id="BookInOnePage-URIformat.54">URI format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[properties:key[?options]
]]></script>
-</div></div><p>Where <strong>key</strong> is the key for the property to lookup</p><h3 id="BookInOnePage-Options.61">Options</h3><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>cache</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether or not to cache loaded properties.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>locations</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><cod
e>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A list of locations to load properties. You can use comma to separate multiple locations. This option will override any default locations and <strong>only</strong> use the locations from this option.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>encoding</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>String</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.14.3/2.15.1:</strong> To use a specific charset to load the properties, such as UTF-8. By default ISO-8859-1 (latin1) is used.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>ignoreMissingLocation</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" rowspan="1
" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Whether to silently ignore if a location cannot be located, such as a properties file not found.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>propertyPrefix</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> Optional prefix prepended to property names before resolution.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>propertySuffix</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> Optional suffix app
ended to property names before resolution.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>fallbackToUnaugmentedProperty</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> If true, first attempt resolution of property name augmented with <code>propertyPrefix</code> and <code>propertySuffix</code> before falling back the plain property name specified. If false, only the augmented property name is searched.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>prefixToken</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>{{</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> The token to indicate the beginning
of a property token.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>suffixToken</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>}}</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> The token to indicate the end of a property token.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>systemPropertiesMode</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>int</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>2</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.16:</strong> The mode to use for whether to resolve and use system properties</p><p>0 = never (JVM system properties is never used)<br clear="none">1 = fallback (JVM system properties is only used as fallback if no regular property with the key exists)<br clear="none">2 = override  (J
VM system properties is used if exists, otherwise a the regular property will be used)</p><p>Notice when bridging this to Spring's property placeholder with <code>org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer</code> then the configuration on <code>BridgePropertyPlaceholderConfigurer</code> takes precedence over the configuration on the <code>PropertiesComponent</code>. </p></td></tr></tbody></table></div></div><div class="confluence-information-macro confluence-information-macro-tip"><p class="title">Resolving property from Java code</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>You can use the method <code>resolvePropertyPlaceholders</code> on the <code>CamelContext</code> to resolve a property from any Java code.</p></div></div><p></p><h2 id="BookInOnePage-UsingPropertyPlaceholder">Using PropertyPlaceholder</h2><p><strong>Available as of Camel 2.3</stro
ng></p><p>Camel now provides a new <code>PropertiesComponent</code> in <strong>camel-core</strong> which allows you to use property placeholders when defining Camel <a shape="rect" href="endpoint.html">Endpoint</a> URIs. <br clear="none"> This works much like you would do if using Spring's <code><property-placeholder></code> tag. However Spring have a limitation which prevents 3rd party frameworks to leverage Spring property placeholders to the fullest. See more at <a shape="rect" href="how-do-i-use-spring-property-placeholder-with-camel-xml.html">How do I use Spring Property Placeholder with Camel XML</a>.</p><div class="confluence-information-macro confluence-information-macro-tip"><p class="title">Bridging Spring and Camel property placeholders</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>From Camel 2.10 onwards, you can bridge the Spring property placeholder with Cam
el, see further below for more details.</p></div></div><p>The property placeholder is generally in use when doing:</p><ul class="alternate"><li>lookup or creating endpoints</li><li>lookup of beans in the <a shape="rect" href="registry.html">Registry</a></li><li>additional supported in Spring XML (see below in examples)</li><li>using Blueprint PropertyPlaceholder with Camel <a shape="rect" href="properties.html">Properties</a> component</li><li>using <code>@PropertyInject</code> to inject a property in a POJO</li><li><strong>Camel 2.14.1</strong> Using default value if a property does not exists</li><li><strong>Camel 2.14.1</strong> Include out of the box functions, to lookup property values from OS environment variables, JVM system properties, or the service idiom.</li><li><strong>Camel 2.14.1</strong> Using custom functions, which can be plugged into the property component.</li></ul><h3 id="BookInOnePage-Syntax.1">Syntax</h3><p>The syntax to use Camel's property placeholder is to u
se {{<code>key</code>}} for example {{<code>file.uri</code>}} where <code>file.uri</code> is the property key.<br clear="none"> You can use property placeholders in parts of the endpoint URI's which for example you can use placeholders for parameters in the URIs.</p><p>From <strong>Camel 2.14.1</strong> onwards you can specify a default value to use if a property with the key does not exists, eg <code>file.url:/some/path</code> where the default value is the text after the colon (eg /some/path).</p><div class="confluence-information-macro confluence-information-macro-information"><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>Do not use colon in the property key. The colon is used as a separator token when you are providing a default value, which is supported from <strong>Camel 2.14.1</strong> onwards.</p></div></div><h3 id="BookInOnePage-PropertyResolver">PropertyResolver</
h3><p>Camel provides a pluggable mechanism which allows 3rd part to provide their own resolver to lookup properties. Camel provides a default implementation <code>org.apache.camel.component.properties.DefaultPropertiesResolver</code> which is capable of loading properties from the file system, classpath or <a shape="rect" href="registry.html">Registry</a>. You can prefix the locations with either:</p><ul class="alternate"><li><code>ref:</code> <strong>Camel 2.4:</strong> to lookup in the <a shape="rect" href="registry.html">Registry</a></li><li><code>file:</code> to load the from file system</li><li><code>classpath:</code> to load from classpath (this is also the default if no prefix is provided)</li><li><code>blueprint:</code> <strong>Camel 2.7:</strong> to use a specific OSGi blueprint placeholder service</li></ul><h3 id="BookInOnePage-Defininglocation">Defining location</h3><p>The <code>PropertiesResolver</code> need to know a location(s) where to resolve the properties. You can
define 1 to many locations. If you define the location in a single String property you can separate multiple locations with comma such as:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Where <strong><code>key</code></strong> is the key for the property to be looked up.</p><h3 id="BookInOnePage-Options.61">Options</h3><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>cache</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether or not to cache loaded properties.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>encoding</code></p></td><td colspan="1" rowspan="1" class="co
nfluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.14.3/2.15.1:</strong> To use a specific charset to load the properties, such as UTF-8. By default <code>ISO-8859-1</code> (<code>latin1</code>) is used.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>fallbackToUnaugmentedProperty</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> If <strong><code>true</code></strong>, first attempt resolution of property name augmented with <strong><code>propertyPrefix</code></strong> and <strong><code>propertySuffix</code></strong> before falling back the plain property name specified.</p><p>If <strong><code>false</code></strong>, o
nly the augmented property name is searched.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>ignoreMissingLocation</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Whether to silently ignore if a location cannot be located, such as a properties file not found.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>locations</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A list of locations to load properties. You can use comma to separate multiple locations. This option will override any default locations and <strong>only</strong> use the locations from this
option.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>prefixToken</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>{{</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> The token to indicate the beginning of a property token.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>propertyPrefix</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> Optional prefix prepended to property names before resolution.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>propertySuffix</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td c
olspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> Optional suffix appended to property names before resolution.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>suffixToken</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>}}<br clear="none"></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> The token to indicate the end of a property token.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>systemPropertiesMode</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>int</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>2</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.16</strong> The mode to use for whether to reso
lve and use system properties:</p><p><strong><code>0</code></strong> = never - JVM system properties are never used.<br clear="none"><strong><code>1</code></strong> = fallback - JVM system properties are only used as fallback if no regular property with the key exists.<br clear="none"><strong><code>2</code></strong> = override - JVM system properties are used if exists, otherwise the regular property will be used.</p><p><strong>Note</strong>: when bridging this to Spring's property placeholder with <strong><code>org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer</code></strong> then the configuration on <strong><code>BridgePropertyPlaceholderConfigurer</code></strong> takes precedence over the configuration on the <strong><code>PropertiesComponent</code></strong>. </p></td></tr></tbody></table></div></div><div class="confluence-information-macro confluence-information-macro-tip"><p class="title">Resolving property from Java code</p><span class="aui-i
con aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>You can use the method <strong><code>resolvePropertyPlaceholders</code></strong> on the <strong><code>CamelContext</code></strong> to resolve a property from any Java code.</p></div></div><p></p><h2 id="BookInOnePage-UsingPropertyPlaceholder">Using PropertyPlaceholder</h2><p><strong>Available as of Camel 2.3</strong></p><p>Camel now provides a new <code>PropertiesComponent</code> in <strong>camel-core</strong> which allows you to use property placeholders when defining Camel <a shape="rect" href="endpoint.html">Endpoint</a> URIs. <br clear="none"> This works much like you would do if using Spring's <code><property-placeholder></code> tag. However Spring have a limitation which prevents 3rd party frameworks to leverage Spring property placeholders to the fullest. See more at <a shape="rect" href="how-do-i-use-spring-property-placeholder-with-camel-
xml.html">How do I use Spring Property Placeholder with Camel XML</a>.</p><div class="confluence-information-macro confluence-information-macro-tip"><p class="title">Bridging Spring and Camel property placeholders</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>From Camel 2.10 onwards, you can bridge the Spring property placeholder with Camel, see further below for more details.</p></div></div><p>The property placeholder is generally in use when doing:</p><ul class="alternate"><li>lookup or creating endpoints</li><li>lookup of beans in the <a shape="rect" href="registry.html">Registry</a></li><li>additional supported in Spring XML (see below in examples)</li><li>using Blueprint PropertyPlaceholder with Camel <a shape="rect" href="properties.html">Properties</a> component</li><li>using <code>@PropertyInject</code> to inject a property in a POJO</li><li><strong>Camel 2.14.1</strong
> Using default value if a property does not exists</li><li><strong>Camel 2.14.1</strong> Include out of the box functions, to lookup property values from OS environment variables, JVM system properties, or the service idiom.</li><li><strong>Camel 2.14.1</strong> Using custom functions, which can be plugged into the property component.</li></ul><h3 id="BookInOnePage-Syntax.1">Syntax</h3><p>The syntax to use Camel's property placeholder is to use {{<code>key</code>}} for example {{<code>file.uri</code>}} where <code>file.uri</code> is the property key.<br clear="none"> You can use property placeholders in parts of the endpoint URI's which for example you can use placeholders for parameters in the URIs.</p><p>From <strong>Camel 2.14.1</strong> onwards you can specify a default value to use if a property with the key does not exists, eg <code>file.url:/some/path</code> where the default value is the text after the colon (eg /some/path).</p><div class="confluence-information-m
acro confluence-information-macro-information"><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>Do not use colon in the property key. The colon is used as a separator token when you are providing a default value, which is supported from <strong>Camel 2.14.1</strong> onwards.</p></div></div><h3 id="BookInOnePage-PropertyResolver">PropertyResolver</h3><p>Camel provides a pluggable mechanism which allows 3rd part to provide their own resolver to lookup properties. Camel provides a default implementation <code>org.apache.camel.component.properties.DefaultPropertiesResolver</code> which is capable of loading properties from the file system, classpath or <a shape="rect" href="registry.html">Registry</a>. You can prefix the locations with either:</p><ul class="alternate"><li><code>ref:</code> <strong>Camel 2.4:</strong> to lookup in the <a shape="rect" href="registry.html">Registry</a></li><li
><code>file:</code> to load the from file system</li><li><code>classpath:</code> to load from classpath (this is also the default if no prefix is provided)</li><li><code>blueprint:</code> <strong>Camel 2.7:</strong> to use a specific OSGi blueprint placeholder service</li></ul><h3 id="BookInOnePage-Defininglocation">Defining location</h3><p>The <code>PropertiesResolver</code> need to know a location(s) where to resolve the properties. You can define 1 to many locations. If you define the location in a single String property you can separate multiple locations with comma such as:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[pc.setLocation("com/mycompany/myprop.properties,com/mycompany/other.properties");
]]></script>
</div></div><h4 id="BookInOnePage-Usingsystemandenvironmentvariablesinlocations">Using system and environment variables in locations</h4><p><strong>Available as of Camel 2.7</strong></p><p>The location now supports using placeholders for JVM system properties and OS environments variables.</p><p>For example:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -24599,7 +24599,7 @@ export $FOO_SERVICE_PORT=8888]]></script
]]></script>
</div></div><p> </p><h2 id="BookInOnePage-SeeAlso.69">See Also</h2><ul class="alternate"><li><a shape="rect" href="properties.html">Properties</a> component</li></ul> <h3 id="BookInOnePage-SeeAlso.70">See Also</h3>
-<ul><li><a shape="rect" href="configuring-camel.html">Configuring Camel</a></li><li><a shape="rect" href="component.html">Component</a></li><li><a shape="rect" href="endpoint.html">Endpoint</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li></ul><ul class="alternate"><li><a shape="rect" href="jasypt.html">Jasypt</a> for using encrypted values (eg passwords) in the properties</li></ul> <h2 id="BookInOnePage-RefComponent">Ref Component</h2>
+<ul><li><a shape="rect" href="configuring-camel.html">Configuring Camel</a></li><li><a shape="rect" href="component.html">Component</a></li><li><a shape="rect" href="endpoint.html">Endpoint</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li></ul><ul class="alternate"><li><a shape="rect" href="jasypt.html">Jasypt</a> for using encrypted values e.g., passwords, in properties.</li></ul> <h2 id="BookInOnePage-RefComponent">Ref Component</h2>
<p>The <strong>ref:</strong> component is used for lookup of existing endpoints bound in the <a shape="rect" href="registry.html">Registry</a>.</p>
Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.
Modified: websites/production/camel/content/properties.html
==============================================================================
--- websites/production/camel/content/properties.html (original)
+++ websites/production/camel/content/properties.html Thu Sep 8 15:20:50 2016
@@ -89,7 +89,7 @@
<div class="wiki-content maincontent"><h2 id="Properties-PropertiesComponent">Properties Component</h2><p><strong>Available as of Camel 2.3</strong></p><h3 id="Properties-URIformat">URI format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[properties:key[?options]
]]></script>
-</div></div><p>Where <strong>key</strong> is the key for the property to lookup</p><h3 id="Properties-Options">Options</h3><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>cache</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether or not to cache loaded properties.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>locations</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Stri
ng</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A list of locations to load properties. You can use comma to separate multiple locations. This option will override any default locations and <strong>only</strong> use the locations from this option.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>encoding</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>String</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.14.3/2.15.1:</strong> To use a specific charset to load the properties, such as UTF-8. By default ISO-8859-1 (latin1) is used.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>ignoreMissingLocation</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" rowspan="1" clas
s="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Whether to silently ignore if a location cannot be located, such as a properties file not found.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>propertyPrefix</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> Optional prefix prepended to property names before resolution.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>propertySuffix</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> Optional suffix appended
to property names before resolution.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>fallbackToUnaugmentedProperty</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> If true, first attempt resolution of property name augmented with <code>propertyPrefix</code> and <code>propertySuffix</code> before falling back the plain property name specified. If false, only the augmented property name is searched.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>prefixToken</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>{{</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> The token to indicate the beginning of a
property token.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>suffixToken</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>}}</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> The token to indicate the end of a property token.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>systemPropertiesMode</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>int</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>2</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.16:</strong> The mode to use for whether to resolve and use system properties</p><p>0 = never (JVM system properties is never used)<br clear="none">1 = fallback (JVM system properties is only used as fallback if no regular property with the key exists)<br clear="none">2 = override  (JVM sys
tem properties is used if exists, otherwise a the regular property will be used)</p><p>Notice when bridging this to Spring's property placeholder with <code>org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer</code> then the configuration on <code>BridgePropertyPlaceholderConfigurer</code> takes precedence over the configuration on the <code>PropertiesComponent</code>. </p></td></tr></tbody></table></div></div><div class="confluence-information-macro confluence-information-macro-tip"><p class="title">Resolving property from Java code</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>You can use the method <code>resolvePropertyPlaceholders</code> on the <code>CamelContext</code> to resolve a property from any Java code.</p></div></div><p></p><h2 id="Properties-UsingPropertyPlaceholder">Using PropertyPlaceholder</h2><p><strong>Available as of Camel 2.3</strong></p><p
>Camel now provides a new <code>PropertiesComponent</code> in <strong>camel-core</strong> which allows you to use property placeholders when defining Camel <a shape="rect" href="endpoint.html">Endpoint</a> URIs. <br clear="none"> This works much like you would do if using Spring's <code><property-placeholder></code> tag. However Spring have a limitation which prevents 3rd party frameworks to leverage Spring property placeholders to the fullest. See more at <a shape="rect" href="how-do-i-use-spring-property-placeholder-with-camel-xml.html">How do I use Spring Property Placeholder with Camel XML</a>.</p><div class="confluence-information-macro confluence-information-macro-tip"><p class="title">Bridging Spring and Camel property placeholders</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>From Camel 2.10 onwards, you can bridge the Spring property placeholder with Camel, see f
urther below for more details.</p></div></div><p>The property placeholder is generally in use when doing:</p><ul class="alternate"><li>lookup or creating endpoints</li><li>lookup of beans in the <a shape="rect" href="registry.html">Registry</a></li><li>additional supported in Spring XML (see below in examples)</li><li>using Blueprint PropertyPlaceholder with Camel <a shape="rect" href="properties.html">Properties</a> component</li><li>using <code>@PropertyInject</code> to inject a property in a POJO</li><li><strong>Camel 2.14.1</strong> Using default value if a property does not exists</li><li><strong>Camel 2.14.1</strong> Include out of the box functions, to lookup property values from OS environment variables, JVM system properties, or the service idiom.</li><li><strong>Camel 2.14.1</strong> Using custom functions, which can be plugged into the property component.</li></ul><h3 id="Properties-Syntax">Syntax</h3><p>The syntax to use Camel's property placeholder is to use {{<code>key
</code>}} for example {{<code>file.uri</code>}} where <code>file.uri</code> is the property key.<br clear="none"> You can use property placeholders in parts of the endpoint URI's which for example you can use placeholders for parameters in the URIs.</p><p>From <strong>Camel 2.14.1</strong> onwards you can specify a default value to use if a property with the key does not exists, eg <code>file.url:/some/path</code> where the default value is the text after the colon (eg /some/path).</p><div class="confluence-information-macro confluence-information-macro-information"><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>Do not use colon in the property key. The colon is used as a separator token when you are providing a default value, which is supported from <strong>Camel 2.14.1</strong> onwards.</p></div></div><h3 id="Properties-PropertyResolver">PropertyResolver</h3><p>Camel provi
des a pluggable mechanism which allows 3rd part to provide their own resolver to lookup properties. Camel provides a default implementation <code>org.apache.camel.component.properties.DefaultPropertiesResolver</code> which is capable of loading properties from the file system, classpath or <a shape="rect" href="registry.html">Registry</a>. You can prefix the locations with either:</p><ul class="alternate"><li><code>ref:</code> <strong>Camel 2.4:</strong> to lookup in the <a shape="rect" href="registry.html">Registry</a></li><li><code>file:</code> to load the from file system</li><li><code>classpath:</code> to load from classpath (this is also the default if no prefix is provided)</li><li><code>blueprint:</code> <strong>Camel 2.7:</strong> to use a specific OSGi blueprint placeholder service</li></ul><h3 id="Properties-Defininglocation">Defining location</h3><p>The <code>PropertiesResolver</code> need to know a location(s) where to resolve the properties. You can define 1 to many loc
ations. If you define the location in a single String property you can separate multiple locations with comma such as:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Where <strong><code>key</code></strong> is the key for the property to be looked up.</p><h3 id="Properties-Options">Options</h3><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>cache</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether or not to cache loaded properties.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>encoding</code></p></td><td colspan="1" rowspan="1" class="confluen
ceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.14.3/2.15.1:</strong> To use a specific charset to load the properties, such as UTF-8. By default <code>ISO-8859-1</code> (<code>latin1</code>) is used.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>fallbackToUnaugmentedProperty</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> If <strong><code>true</code></strong>, first attempt resolution of property name augmented with <strong><code>propertyPrefix</code></strong> and <strong><code>propertySuffix</code></strong> before falling back the plain property name specified.</p><p>If <strong><code>false</code></strong>, only th
e augmented property name is searched.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>ignoreMissingLocation</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Whether to silently ignore if a location cannot be located, such as a properties file not found.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>locations</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A list of locations to load properties. You can use comma to separate multiple locations. This option will override any default locations and <strong>only</strong> use the locations from this option
.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>prefixToken</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>{{</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> The token to indicate the beginning of a property token.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>propertyPrefix</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> Optional prefix prepended to property names before resolution.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>propertySuffix</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan
="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> Optional suffix appended to property names before resolution.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>suffixToken</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>}}<br clear="none"></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9</strong> The token to indicate the end of a property token.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>systemPropertiesMode</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>int</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>2</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.16</strong> The mode to use for whether to resolve an
d use system properties:</p><p><strong><code>0</code></strong> = never - JVM system properties are never used.<br clear="none"><strong><code>1</code></strong> = fallback - JVM system properties are only used as fallback if no regular property with the key exists.<br clear="none"><strong><code>2</code></strong> = override - JVM system properties are used if exists, otherwise the regular property will be used.</p><p><strong>Note</strong>: when bridging this to Spring's property placeholder with <strong><code>org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer</code></strong> then the configuration on <strong><code>BridgePropertyPlaceholderConfigurer</code></strong> takes precedence over the configuration on the <strong><code>PropertiesComponent</code></strong>. </p></td></tr></tbody></table></div></div><div class="confluence-information-macro confluence-information-macro-tip"><p class="title">Resolving property from Java code</p><span class="aui-icon au
i-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>You can use the method <strong><code>resolvePropertyPlaceholders</code></strong> on the <strong><code>CamelContext</code></strong> to resolve a property from any Java code.</p></div></div><p></p><h2 id="Properties-UsingPropertyPlaceholder">Using PropertyPlaceholder</h2><p><strong>Available as of Camel 2.3</strong></p><p>Camel now provides a new <code>PropertiesComponent</code> in <strong>camel-core</strong> which allows you to use property placeholders when defining Camel <a shape="rect" href="endpoint.html">Endpoint</a> URIs. <br clear="none"> This works much like you would do if using Spring's <code><property-placeholder></code> tag. However Spring have a limitation which prevents 3rd party frameworks to leverage Spring property placeholders to the fullest. See more at <a shape="rect" href="how-do-i-use-spring-property-placeholder-with-camel-xml.html"
>How do I use Spring Property Placeholder with Camel XML</a>.</p><div class="confluence-information-macro confluence-information-macro-tip"><p class="title">Bridging Spring and Camel property placeholders</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>From Camel 2.10 onwards, you can bridge the Spring property placeholder with Camel, see further below for more details.</p></div></div><p>The property placeholder is generally in use when doing:</p><ul class="alternate"><li>lookup or creating endpoints</li><li>lookup of beans in the <a shape="rect" href="registry.html">Registry</a></li><li>additional supported in Spring XML (see below in examples)</li><li>using Blueprint PropertyPlaceholder with Camel <a shape="rect" href="properties.html">Properties</a> component</li><li>using <code>@PropertyInject</code> to inject a property in a POJO</li><li><strong>Camel 2.14.1</strong> Using d
efault value if a property does not exists</li><li><strong>Camel 2.14.1</strong> Include out of the box functions, to lookup property values from OS environment variables, JVM system properties, or the service idiom.</li><li><strong>Camel 2.14.1</strong> Using custom functions, which can be plugged into the property component.</li></ul><h3 id="Properties-Syntax">Syntax</h3><p>The syntax to use Camel's property placeholder is to use {{<code>key</code>}} for example {{<code>file.uri</code>}} where <code>file.uri</code> is the property key.<br clear="none"> You can use property placeholders in parts of the endpoint URI's which for example you can use placeholders for parameters in the URIs.</p><p>From <strong>Camel 2.14.1</strong> onwards you can specify a default value to use if a property with the key does not exists, eg <code>file.url:/some/path</code> where the default value is the text after the colon (eg /some/path).</p><div class="confluence-information-macro confluenc
e-information-macro-information"><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>Do not use colon in the property key. The colon is used as a separator token when you are providing a default value, which is supported from <strong>Camel 2.14.1</strong> onwards.</p></div></div><h3 id="Properties-PropertyResolver">PropertyResolver</h3><p>Camel provides a pluggable mechanism which allows 3rd part to provide their own resolver to lookup properties. Camel provides a default implementation <code>org.apache.camel.component.properties.DefaultPropertiesResolver</code> which is capable of loading properties from the file system, classpath or <a shape="rect" href="registry.html">Registry</a>. You can prefix the locations with either:</p><ul class="alternate"><li><code>ref:</code> <strong>Camel 2.4:</strong> to lookup in the <a shape="rect" href="registry.html">Registry</a></li><li><code>file:</cod
e> to load the from file system</li><li><code>classpath:</code> to load from classpath (this is also the default if no prefix is provided)</li><li><code>blueprint:</code> <strong>Camel 2.7:</strong> to use a specific OSGi blueprint placeholder service</li></ul><h3 id="Properties-Defininglocation">Defining location</h3><p>The <code>PropertiesResolver</code> need to know a location(s) where to resolve the properties. You can define 1 to many locations. If you define the location in a single String property you can separate multiple locations with comma such as:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[pc.setLocation("com/mycompany/myprop.properties,com/mycompany/other.properties");
]]></script>
</div></div><h4 id="Properties-Usingsystemandenvironmentvariablesinlocations">Using system and environment variables in locations</h4><p><strong>Available as of Camel 2.7</strong></p><p>The location now supports using placeholders for JVM system properties and OS environments variables.</p><p>For example:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -654,7 +654,7 @@ export $FOO_SERVICE_PORT=8888]]></script
]]></script>
</div></div><p> </p><h2 id="Properties-SeeAlso">See Also</h2><ul class="alternate"><li><a shape="rect" href="properties.html">Properties</a> component</li></ul> <h3 id="Properties-SeeAlso.1">See Also</h3>
-<ul><li><a shape="rect" href="configuring-camel.html">Configuring Camel</a></li><li><a shape="rect" href="component.html">Component</a></li><li><a shape="rect" href="endpoint.html">Endpoint</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li></ul><ul class="alternate"><li><a shape="rect" href="jasypt.html">Jasypt</a> for using encrypted values (eg passwords) in the properties</li></ul></div>
+<ul><li><a shape="rect" href="configuring-camel.html">Configuring Camel</a></li><li><a shape="rect" href="component.html">Component</a></li><li><a shape="rect" href="endpoint.html">Endpoint</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li></ul><ul class="alternate"><li><a shape="rect" href="jasypt.html">Jasypt</a> for using encrypted values e.g., passwords, in properties.</li></ul></div>
</td>
<td valign="top">
<div class="navigation">