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">