Author: buildbot
Date: Mon Aug 26 12:19:08 2013
New Revision: 876243

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/camel-2120-release.html
    websites/production/camel/content/properties.html
    websites/production/camel/content/using-propertyplaceholder.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 Mon Aug 26 
12:19:08 2013
@@ -13863,7 +13863,7 @@ This works much like you would do if usi
 <div class="panelMacro"><table class="tipMacro"><colgroup span="1"><col 
span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" 
valign="top"><img align="middle" 
src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif"; 
width="16" height="16" alt="" border="0"></td><td colspan="1" 
rowspan="1"><b>Bridging Spring and Camel property placeholders</b><br 
clear="none">From Camel 2.10 onwards, you can bridge the Spring property 
placeholder with Camel, see further below for more 
details.</td></tr></table></div>
 
 <p>The property placeholder is generally in use when doing:</p>
-<ul class="alternate" type="square"><li>lookup or creating 
endpoints</li><li>lookup of beans in the <a shape="rect" href="registry.html" 
title="Registry">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" title="Properties">Properties</a> 
component</li></ul>
+<ul class="alternate" type="square"><li>lookup or creating 
endpoints</li><li>lookup of beans in the <a shape="rect" href="registry.html" 
title="Registry">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" title="Properties">Properties</a> 
component</li><li>using <tt>@PropertyInject</tt> to inject a property in a 
POJO</li></ul>
 
 
 <h3><a shape="rect" name="BookComponentAppendix-Syntax"></a>Syntax</h3>
@@ -14577,6 +14577,51 @@ protected Properties useOverrideProperti
 
 <p>The <tt>ignoreMissingLocationWithPropertiesComponent</tt> can be used to 
instruct Camel to ignore any locations which was not discoverable, for example 
if you run the unit test, in an environment that does not have access to the 
location of the properties. </p>
 
+
+<h3><a shape="rect" 
name="BookComponentAppendix-Using@PropertyInject"></a>Using @PropertyInject</h3>
+<p><b>Available as of Camel 2.12</b></p>
+
+<p>Camel allows to inject property placeholders in POJOs using the 
@PropertyInject annotation which can be set on fields and setter methods.<br 
clear="none">
+For example you can use that with <tt>RouteBuilder</tt> classes, such as shown 
below:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent 
panelContent">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
+public class MyRouteBuilder extends RouteBuilder {
+
+    @PropertyInject("hello")
+    private String greeting;
+
+    @Override
+    public void configure() throws Exception {
+        from("direct:start")
+            .transform().constant(greeting)
+            .to("{{result}}");
+    }
+
+}
+]]></script>
+</div></div>
+
+<p>Notice we have annotated the greeting field with @PropertyInject and define 
it to use the key "hello". Camel will then lookup the property with this key 
and inject its value, converted to a String type.</p>
+
+<p>You can also use multiple placeholders and text in the key, for example we 
can do:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent 
panelContent">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
+    @PropertyInject("Hello {{name}} how are you?")
+    private String greeting;
+]]></script>
+</div></div>
+
+<p>This will lookup the placeholder with they key "name".</p>
+
+<p>You can also add a default value if the key does not exists, such as:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent 
panelContent">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
+    @PropertyInject("myTimeout", default = "5000")
+    private int timeout;
+]]></script>
+</div></div>
+
 <h3><a shape="rect" name="BookComponentAppendix-SeeAlso"></a>See Also</h3>
 <ul><li><a shape="rect" href="configuring-camel.html" title="Configuring 
Camel">Configuring Camel</a></li><li><a shape="rect" href="component.html" 
title="Component">Component</a></li><li><a shape="rect" href="endpoint.html" 
title="Endpoint">Endpoint</a></li><li><a shape="rect" 
href="getting-started.html" title="Getting Started">Getting 
Started</a></li></ul>
 

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 Mon Aug 26 12:19:08 
2013
@@ -35565,7 +35565,7 @@ This works much like you would do if usi
 <div class="panelMacro"><table class="tipMacro"><colgroup span="1"><col 
span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" 
valign="top"><img align="middle" 
src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif"; 
width="16" height="16" alt="" border="0"></td><td colspan="1" 
rowspan="1"><b>Bridging Spring and Camel property placeholders</b><br 
clear="none">From Camel 2.10 onwards, you can bridge the Spring property 
placeholder with Camel, see further below for more 
details.</td></tr></table></div>
 
 <p>The property placeholder is generally in use when doing:</p>
-<ul class="alternate" type="square"><li>lookup or creating 
endpoints</li><li>lookup of beans in the <a shape="rect" href="registry.html" 
title="Registry">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" title="Properties">Properties</a> 
component</li></ul>
+<ul class="alternate" type="square"><li>lookup or creating 
endpoints</li><li>lookup of beans in the <a shape="rect" href="registry.html" 
title="Registry">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" title="Properties">Properties</a> 
component</li><li>using <tt>@PropertyInject</tt> to inject a property in a 
POJO</li></ul>
 
 
 <h3><a shape="rect" name="BookInOnePage-Syntax"></a>Syntax</h3>
@@ -36279,6 +36279,51 @@ protected Properties useOverrideProperti
 
 <p>The <tt>ignoreMissingLocationWithPropertiesComponent</tt> can be used to 
instruct Camel to ignore any locations which was not discoverable, for example 
if you run the unit test, in an environment that does not have access to the 
location of the properties. </p>
 
+
+<h3><a shape="rect" name="BookInOnePage-Using@PropertyInject"></a>Using 
@PropertyInject</h3>
+<p><b>Available as of Camel 2.12</b></p>
+
+<p>Camel allows to inject property placeholders in POJOs using the 
@PropertyInject annotation which can be set on fields and setter methods.<br 
clear="none">
+For example you can use that with <tt>RouteBuilder</tt> classes, such as shown 
below:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent 
panelContent">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
+public class MyRouteBuilder extends RouteBuilder {
+
+    @PropertyInject("hello")
+    private String greeting;
+
+    @Override
+    public void configure() throws Exception {
+        from("direct:start")
+            .transform().constant(greeting)
+            .to("{{result}}");
+    }
+
+}
+]]></script>
+</div></div>
+
+<p>Notice we have annotated the greeting field with @PropertyInject and define 
it to use the key "hello". Camel will then lookup the property with this key 
and inject its value, converted to a String type.</p>
+
+<p>You can also use multiple placeholders and text in the key, for example we 
can do:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent 
panelContent">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
+    @PropertyInject("Hello {{name}} how are you?")
+    private String greeting;
+]]></script>
+</div></div>
+
+<p>This will lookup the placeholder with they key "name".</p>
+
+<p>You can also add a default value if the key does not exists, such as:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent 
panelContent">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
+    @PropertyInject("myTimeout", default = "5000")
+    private int timeout;
+]]></script>
+</div></div>
+
 <h3><a shape="rect" name="BookInOnePage-SeeAlso"></a>See Also</h3>
 <ul><li><a shape="rect" href="configuring-camel.html" title="Configuring 
Camel">Configuring Camel</a></li><li><a shape="rect" href="component.html" 
title="Component">Component</a></li><li><a shape="rect" href="endpoint.html" 
title="Endpoint">Endpoint</a></li><li><a shape="rect" 
href="getting-started.html" title="Getting Started">Getting 
Started</a></li></ul>
 

Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/camel/content/camel-2120-release.html
==============================================================================
--- websites/production/camel/content/camel-2120-release.html (original)
+++ websites/production/camel/content/camel-2120-release.html Mon Aug 26 
12:19:08 2013
@@ -94,7 +94,7 @@
 
 <p>Welcome to the 2.12.0 release which approx XXX issues resolved (new 
features, improvements and bug fixes such as...)</p>
 
-<ul><li><a shape="rect" href="endpoint-annotations.html" title="Endpoint 
Annotations">Endpoint Annotations</a> along with automatically created HTML 
documentation for the endpoint parameters; this makes it easier for component 
developers to add a few refactoring-safe annotations to their Endpoint or 
Consumer implementations and, (along with javadoc comments on the field or 
setter method), get nice user documentation on how to use the endpoint for 
free.</li><li><a shape="rect" href="componentconfiguration.html" 
title="ComponentConfiguration">ComponentConfiguration</a> API provides a handy 
API for tools developers to introspect on a Component to find all the possible 
parameters, their types and any extra annotations (like Bean Validation 
Annotations) to be able to create/edit endpoints or URI strings so that tools 
can generate nicer UIs for configuring endpoints than just letting folks edit 
Strings.</li><li><a shape="rect" href="endpointcompleter.html" 
title="EndpointCompleter">Endpoi
 ntCompleter</a> API provides a hook so that command line tools (like <a 
shape="rect" class="external-link" 
href="http://karaf.apache.org/manual/latest-2.3.x/users-guide/using-console.html";>Karaf's
 shell</a>), IDEs and web tools can get (bash tab like) auto-completion on 
endpoint paths (such as file or directory names, message queue names, database 
table names) when creating or using new endpoints</li><li>Reduced stack-frames 
in use during routing, that also makes Camel's stack traces being logged much 
less verbose. This also allows people to easier debug the internals of Camel as 
less <tt>AsyncCallback</tt> callbacks are in use during routing.</li><li>Easy 
to use <a shape="rect" href="message-history.html" title="Message 
History">Message History</a> out of the box. And included message history as 
"route stack-trace" when exceptions logged by <a shape="rect" 
href="error-handler.html" title="Error Handler">Error Handler</a> to make it 
easier for end users to spot where the exception o
 ccurred.</li><li><a shape="rect" href="spring-web-services.html" title="Spring 
Web Services">Spring Web Services</a> now supports setting/receiving SOAP 
headers more easily using a header on the Camel <a shape="rect" 
href="message.html" title="Message">Message</a>.</li><li>Evaluating <a 
shape="rect" href="groovy.html" title="Groovy">Groovy</a> expressions is faster 
as we cache the compiled scripts.</li><li>Added <tt>base64</tt> option to <a 
shape="rect" href="shiro-security.html" title="Shiro Security">Shiro 
Security</a> to allow transferring security token over <a shape="rect" 
href="jms.html" title="JMS">JMS</a> and other transports as base64 encoded 
representation.</li><li>Made it easier to use <a shape="rect" 
href="shiro-security.html" title="Shiro Security">Shiro Security</a> as the 
credentials can be provided in headers, when sending a message to a secured 
route.</li><li><a shape="rect" href="bindy.html" title="Bindy">Bindy</a> now 
supports enums.</li><li>Added new <a shape="re
 ct" href="backlogdebugger.html" title="BacklogDebugger">BacklogDebugger</a> to 
perform live debugging of messages during routing. The <a shape="rect" 
href="backlogdebugger.html" title="BacklogDebugger">BacklogDebugger</a> has JMX 
API allows tooling to control the debugger.</li><li>While using the <a 
shape="rect" class="external-link" 
href="http://xircles.codehaus.org/projects/jackson"; rel="nofollow">Jackson 
library</a> through the <a shape="rect" href="json.html" title="JSON">JSON</a> 
Dataformat there's now a <tt>jsonView</tt> attribute you could make use of 
directly inside the <a shape="rect" href="dsl.html" title="DSL">DSL</a> 
itself.</li><li><a shape="rect" href="smpp.html" title="SMPP">SMPP</a> now 
supports optional parameters in all commands where they are 
possible.</li><li><a shape="rect" href="jdbc.html" title="JDBC">JDBC</a> now 
supports named parameters.</li><li>Added timeout support for <a shape="rect" 
href="direct.html" title="Direct">Direct</a> producers to wait for cons
 umer to become active.</li><li>Added <tt>stats</tt> action to <a shape="rect" 
href="controlbus.html" title="ControlBus">ControlBus</a> to easily get 
performance statics in a single XML message.</li><li>Added support for request 
timeout on <a shape="rect" href="netty.html" title="Netty">Netty</a> producer, 
and to configure logging level on <a shape="rect" href="netty.html" 
title="Netty">Netty</a> consumer to be less noisy for ChannelClosedException 
which can flood the logs when client disconnects abruptly.</li><li><a 
shape="rect" href="springbatch.html" title="SpringBatch">Spring Batch</a> 
component producer now returns the <tt>JobExecution</tt> instance as the output 
message. Users can use the <tt>JobExecution</tt> instance to perform some 
operations using the Spring Batch API directly.</li><li>Added support for NULL 
values in <a shape="rect" href="sql-component.html" title="SQL 
Component">SQL</a> with named parameters.</li><li>Optimized <a shape="rect" 
href="jetty.html" title="Jett
 y">Jetty</a> streaming responses in non-chunked mode; and as well using buffer 
sizes based on <tt>HttpServletResponse.getBufferSize()</tt> instead of fixed 
size of 4kb.</li><li>Added <tt>greedy</tt> option to <a shape="rect" 
href="polling-consumer.html" title="Polling Consumer">scheduled polling 
consumer</a>.</li><li>Added support for accessing the length field on Java 
arrays in <a shape="rect" href="simple.html" title="Simple">Simple</a> 
language.</li><li>Added support for using JAXB annotations with Camel's Jackson 
<a shape="rect" href="json.html" title="JSON">JSON</a> component.</li><li>Added 
the ability for <a shape="rect" href="bindy.html" title="Bindy">Bindy</a> to 
skip content when parsing fixed-length records.</li><li><a shape="rect" 
href="mongodb.html" title="MongoDB">MongoDB</a> now supports aggregation 
queries.</li><li><a shape="rect" href="netty.html" title="Netty">Netty</a> 
allows to use shared Netty boss and worker thread pools.</li><li>The <a 
shape="rect" href="camel-
 maven-archetypes.html" title="Camel Maven Archetypes">Camel Maven 
Archetypes</a> for component and data format now packages as OSGi bundles out 
of the box.</li><li>Easier <a shape="rect" href="stream-caching.html" 
title="Stream caching">Stream caching</a> configuration using 
<tt>StreamCachingStrategy</tt>. Also allows spool directory per <a shape="rect" 
href="camelcontext.html" title="CamelContext">CamelContext</a> instead of 
shared per JVM. And insight at runtime using JMX management. As well allowing 
to plugin 3rd party implementations.</li><li>Improved <a shape="rect" 
href="netty.html" title="Netty">Netty</a> to be able to join an UDP multicast 
group.</li><li>Using Camel <a shape="rect" href="spring.html" 
title="Spring">Spring</a> is now setting up Camel routes later in the process 
allow Spring to complete all of its dependency injection, before Camel 
<tt>RouteBuilder</tt> instances is configured. This allows to safely use Spring 
dependency injection in these <tt>RouteBuilder</tt
 > classes.</li><li>Services in a <a shape="rect" href="camelcontext.html" 
 > title="CamelContext">CamelContext</a> which can only be enlisted once (eg it 
 > similar to a static in a JVM) has simpler and fixed MBean names in 
 > JMX.</li><li><a shape="rect" href="sql-component.html" title="SQL 
 > Component">JDBC based aggregation repository</a> for the <a shape="rect" 
 > href="aggregator2.html" title="Aggregator2">Aggregate</a> EIP now supports 
 > optimistic locking, allows clustered Camel applications to use a shared 
 > database for the aggregation repository.</li><li><a shape="rect" 
 > href="recipient-list.html" title="Recipient List">Recipient List</a> stores 
 > a property (<tt>Exchange.RECIPIENT_LIST_ENDPOINT</tt>) on the <a 
 > shape="rect" href="exchange.html" title="Exchange">Exchange</a> with the <a 
 > shape="rect" href="uris.html" title="URIs">URIs</a> of the <a shape="rect" 
 > href="endpoint.html" title="Endpoint">Endpoint</a> the message was sent 
 > to.</li><li>Added <tt>mask</tt> option to <a shape="rect" href="
 camel-jmx.html" title="Camel JMX">Camel JMX</a> to hide sensitive information 
such as passwords.</li><li>Added <tt>outputType</tt> option supporting 
<tt>SelectList</tt>, and <tt>SelectOne</tt> to <a shape="rect" 
href="sql-component.html" title="SQL Component">SQL Component</a> to dictate 
the output message body type when doing SQL SELECT queries.</li><li><a 
shape="rect" href="polling-consumer.html" title="Polling Consumer">Polling 
Consumer</a>s such as <a shape="rect" href="file2.html" title="File2">File</a>, 
and <a shape="rect" href="ftp2.html" title="FTP2">FTP</a> now supports using 
custom scheduler. Providing a new <a shape="rect" href="quartz2.html" 
title="Quartz2">Quartz2</a>, and <a shape="rect" href="spring.html" 
title="Spring">Spring</a> based out of the box, that allows to use CRON based 
scheduler.</li><li><a shape="rect" href="polling-consumer.html" title="Polling 
Consumer">Polling Consumer</a>s such as <a shape="rect" href="file2.html" 
title="File2">File</a>, and <a shape
 ="rect" href="ftp2.html" title="FTP2">FTP</a> now supports <em>backoff</em>, 
to let the consumer be less aggressive, when there has been no messages to 
poll, or errors keeps occurring for a while.</li><li>Added support for XML 
Encryption 1.1 algorithms in the <a shape="rect" 
href="xmlsecurity-dataformat.html" title="XMLSecurity DataFormat">XMLSecurity 
data format</a>. It is now possible to specify stronger digest algorithms when 
using RSA OAEP Key Transport algorithms.</li><li><a shape="rect" 
href="netty.html" title="Netty">Netty</a> consumer now unbinds/binds the 
acceptor when the route is suspended/resumed.</li><li><a shape="rect" 
href="eip.html" title="EIP">EIP</a>s supporting <tt>AggregationStrategy</tt> 
such as <a shape="rect" href="aggregator2.html" 
title="Aggregator2">Aggregate</a>, <a shape="rect" href="splitter.html" 
title="Splitter">Splitter</a>, <a shape="rect" href="content-enricher.html" 
title="Content Enricher">Content Enricher</a> now supports using a POJO as the 
<tt>
 AggregationStrategy</tt>, which allows to implement the aggregate logic with 
no Camel API dependency. See more details at the <a shape="rect" 
href="aggregator2.html" title="Aggregator2">Aggregate</a> 
page.</li><li><tt>camel-jpa</tt> upgraded to use native JPA API instead of 
Springs deprecated JpaTemplate</li><li>Improved validation of routes being 
misconfigured on startup, when using <tt>onException</tt>, 
<tt>onCompletion</tt>, <tt>transacted</tt>, etc. as they must be configured as 
top-level on the route (eg in the start), and not later (such as nested in a <a 
shape="rect" href="splitter.html" title="Splitter">Splitter</a>).</li></ul>
+<ul><li><a shape="rect" href="endpoint-annotations.html" title="Endpoint 
Annotations">Endpoint Annotations</a> along with automatically created HTML 
documentation for the endpoint parameters; this makes it easier for component 
developers to add a few refactoring-safe annotations to their Endpoint or 
Consumer implementations and, (along with javadoc comments on the field or 
setter method), get nice user documentation on how to use the endpoint for 
free.</li><li><a shape="rect" href="componentconfiguration.html" 
title="ComponentConfiguration">ComponentConfiguration</a> API provides a handy 
API for tools developers to introspect on a Component to find all the possible 
parameters, their types and any extra annotations (like Bean Validation 
Annotations) to be able to create/edit endpoints or URI strings so that tools 
can generate nicer UIs for configuring endpoints than just letting folks edit 
Strings.</li><li><a shape="rect" href="endpointcompleter.html" 
title="EndpointCompleter">Endpoi
 ntCompleter</a> API provides a hook so that command line tools (like <a 
shape="rect" class="external-link" 
href="http://karaf.apache.org/manual/latest-2.3.x/users-guide/using-console.html";>Karaf's
 shell</a>), IDEs and web tools can get (bash tab like) auto-completion on 
endpoint paths (such as file or directory names, message queue names, database 
table names) when creating or using new endpoints</li><li>Reduced stack-frames 
in use during routing, that also makes Camel's stack traces being logged much 
less verbose. This also allows people to easier debug the internals of Camel as 
less <tt>AsyncCallback</tt> callbacks are in use during routing.</li><li>Easy 
to use <a shape="rect" href="message-history.html" title="Message 
History">Message History</a> out of the box. And included message history as 
"route stack-trace" when exceptions logged by <a shape="rect" 
href="error-handler.html" title="Error Handler">Error Handler</a> to make it 
easier for end users to spot where the exception o
 ccurred.</li><li><a shape="rect" href="spring-web-services.html" title="Spring 
Web Services">Spring Web Services</a> now supports setting/receiving SOAP 
headers more easily using a header on the Camel <a shape="rect" 
href="message.html" title="Message">Message</a>.</li><li>Evaluating <a 
shape="rect" href="groovy.html" title="Groovy">Groovy</a> expressions is faster 
as we cache the compiled scripts.</li><li>Added <tt>base64</tt> option to <a 
shape="rect" href="shiro-security.html" title="Shiro Security">Shiro 
Security</a> to allow transferring security token over <a shape="rect" 
href="jms.html" title="JMS">JMS</a> and other transports as base64 encoded 
representation.</li><li>Made it easier to use <a shape="rect" 
href="shiro-security.html" title="Shiro Security">Shiro Security</a> as the 
credentials can be provided in headers, when sending a message to a secured 
route.</li><li><a shape="rect" href="bindy.html" title="Bindy">Bindy</a> now 
supports enums.</li><li>Added new <a shape="re
 ct" href="backlogdebugger.html" title="BacklogDebugger">BacklogDebugger</a> to 
perform live debugging of messages during routing. The <a shape="rect" 
href="backlogdebugger.html" title="BacklogDebugger">BacklogDebugger</a> has JMX 
API allows tooling to control the debugger.</li><li>While using the <a 
shape="rect" class="external-link" 
href="http://xircles.codehaus.org/projects/jackson"; rel="nofollow">Jackson 
library</a> through the <a shape="rect" href="json.html" title="JSON">JSON</a> 
Dataformat there's now a <tt>jsonView</tt> attribute you could make use of 
directly inside the <a shape="rect" href="dsl.html" title="DSL">DSL</a> 
itself.</li><li><a shape="rect" href="smpp.html" title="SMPP">SMPP</a> now 
supports optional parameters in all commands where they are 
possible.</li><li><a shape="rect" href="jdbc.html" title="JDBC">JDBC</a> now 
supports named parameters.</li><li>Added timeout support for <a shape="rect" 
href="direct.html" title="Direct">Direct</a> producers to wait for cons
 umer to become active.</li><li>Added <tt>stats</tt> action to <a shape="rect" 
href="controlbus.html" title="ControlBus">ControlBus</a> to easily get 
performance statics in a single XML message.</li><li>Added support for request 
timeout on <a shape="rect" href="netty.html" title="Netty">Netty</a> producer, 
and to configure logging level on <a shape="rect" href="netty.html" 
title="Netty">Netty</a> consumer to be less noisy for ChannelClosedException 
which can flood the logs when client disconnects abruptly.</li><li><a 
shape="rect" href="springbatch.html" title="SpringBatch">Spring Batch</a> 
component producer now returns the <tt>JobExecution</tt> instance as the output 
message. Users can use the <tt>JobExecution</tt> instance to perform some 
operations using the Spring Batch API directly.</li><li>Added support for NULL 
values in <a shape="rect" href="sql-component.html" title="SQL 
Component">SQL</a> with named parameters.</li><li>Optimized <a shape="rect" 
href="jetty.html" title="Jett
 y">Jetty</a> streaming responses in non-chunked mode; and as well using buffer 
sizes based on <tt>HttpServletResponse.getBufferSize()</tt> instead of fixed 
size of 4kb.</li><li>Added <tt>greedy</tt> option to <a shape="rect" 
href="polling-consumer.html" title="Polling Consumer">scheduled polling 
consumer</a>.</li><li>Added support for accessing the length field on Java 
arrays in <a shape="rect" href="simple.html" title="Simple">Simple</a> 
language.</li><li>Added support for using JAXB annotations with Camel's Jackson 
<a shape="rect" href="json.html" title="JSON">JSON</a> component.</li><li>Added 
the ability for <a shape="rect" href="bindy.html" title="Bindy">Bindy</a> to 
skip content when parsing fixed-length records.</li><li><a shape="rect" 
href="mongodb.html" title="MongoDB">MongoDB</a> now supports aggregation 
queries.</li><li><a shape="rect" href="netty.html" title="Netty">Netty</a> 
allows to use shared Netty boss and worker thread pools.</li><li>The <a 
shape="rect" href="camel-
 maven-archetypes.html" title="Camel Maven Archetypes">Camel Maven 
Archetypes</a> for component and data format now packages as OSGi bundles out 
of the box.</li><li>Easier <a shape="rect" href="stream-caching.html" 
title="Stream caching">Stream caching</a> configuration using 
<tt>StreamCachingStrategy</tt>. Also allows spool directory per <a shape="rect" 
href="camelcontext.html" title="CamelContext">CamelContext</a> instead of 
shared per JVM. And insight at runtime using JMX management. As well allowing 
to plugin 3rd party implementations.</li><li>Improved <a shape="rect" 
href="netty.html" title="Netty">Netty</a> to be able to join an UDP multicast 
group.</li><li>Using Camel <a shape="rect" href="spring.html" 
title="Spring">Spring</a> is now setting up Camel routes later in the process 
allow Spring to complete all of its dependency injection, before Camel 
<tt>RouteBuilder</tt> instances is configured. This allows to safely use Spring 
dependency injection in these <tt>RouteBuilder</tt
 > classes.</li><li>Services in a <a shape="rect" href="camelcontext.html" 
 > title="CamelContext">CamelContext</a> which can only be enlisted once (eg it 
 > similar to a static in a JVM) has simpler and fixed MBean names in 
 > JMX.</li><li><a shape="rect" href="sql-component.html" title="SQL 
 > Component">JDBC based aggregation repository</a> for the <a shape="rect" 
 > href="aggregator2.html" title="Aggregator2">Aggregate</a> EIP now supports 
 > optimistic locking, allows clustered Camel applications to use a shared 
 > database for the aggregation repository.</li><li><a shape="rect" 
 > href="recipient-list.html" title="Recipient List">Recipient List</a> stores 
 > a property (<tt>Exchange.RECIPIENT_LIST_ENDPOINT</tt>) on the <a 
 > shape="rect" href="exchange.html" title="Exchange">Exchange</a> with the <a 
 > shape="rect" href="uris.html" title="URIs">URIs</a> of the <a shape="rect" 
 > href="endpoint.html" title="Endpoint">Endpoint</a> the message was sent 
 > to.</li><li>Added <tt>mask</tt> option to <a shape="rect" href="
 camel-jmx.html" title="Camel JMX">Camel JMX</a> to hide sensitive information 
such as passwords.</li><li>Added <tt>outputType</tt> option supporting 
<tt>SelectList</tt>, and <tt>SelectOne</tt> to <a shape="rect" 
href="sql-component.html" title="SQL Component">SQL Component</a> to dictate 
the output message body type when doing SQL SELECT queries.</li><li><a 
shape="rect" href="polling-consumer.html" title="Polling Consumer">Polling 
Consumer</a>s such as <a shape="rect" href="file2.html" title="File2">File</a>, 
and <a shape="rect" href="ftp2.html" title="FTP2">FTP</a> now supports using 
custom scheduler. Providing a new <a shape="rect" href="quartz2.html" 
title="Quartz2">Quartz2</a>, and <a shape="rect" href="spring.html" 
title="Spring">Spring</a> based out of the box, that allows to use CRON based 
scheduler.</li><li><a shape="rect" href="polling-consumer.html" title="Polling 
Consumer">Polling Consumer</a>s such as <a shape="rect" href="file2.html" 
title="File2">File</a>, and <a shape
 ="rect" href="ftp2.html" title="FTP2">FTP</a> now supports <em>backoff</em>, 
to let the consumer be less aggressive, when there has been no messages to 
poll, or errors keeps occurring for a while.</li><li>Added support for XML 
Encryption 1.1 algorithms in the <a shape="rect" 
href="xmlsecurity-dataformat.html" title="XMLSecurity DataFormat">XMLSecurity 
data format</a>. It is now possible to specify stronger digest algorithms when 
using RSA OAEP Key Transport algorithms.</li><li><a shape="rect" 
href="netty.html" title="Netty">Netty</a> consumer now unbinds/binds the 
acceptor when the route is suspended/resumed.</li><li><a shape="rect" 
href="eip.html" title="EIP">EIP</a>s supporting <tt>AggregationStrategy</tt> 
such as <a shape="rect" href="aggregator2.html" 
title="Aggregator2">Aggregate</a>, <a shape="rect" href="splitter.html" 
title="Splitter">Splitter</a>, <a shape="rect" href="content-enricher.html" 
title="Content Enricher">Content Enricher</a> now supports using a POJO as the 
<tt>
 AggregationStrategy</tt>, which allows to implement the aggregate logic with 
no Camel API dependency. See more details at the <a shape="rect" 
href="aggregator2.html" title="Aggregator2">Aggregate</a> 
page.</li><li><tt>camel-jpa</tt> upgraded to use native JPA API instead of 
Springs deprecated JpaTemplate</li><li>Improved validation of routes being 
misconfigured on startup, when using <tt>onException</tt>, 
<tt>onCompletion</tt>, <tt>transacted</tt>, etc. as they must be configured as 
top-level on the route (eg in the start), and not later (such as nested in a <a 
shape="rect" href="splitter.html" title="Splitter">Splitter</a>).</li><li>Added 
new @PropertyInject annotation to inject <a shape="rect" 
href="using-propertyplaceholder.html" title="Using 
PropertyPlaceholder">property placeholders</a> to POJOs</li></ul>
 
 
 <h3><a shape="rect" name="Camel2.12.0Release-FixedIssues"></a>Fixed Issues</h3>
@@ -113,6 +113,9 @@
 
 <h3><a shape="rect" name="Camel2.12.0Release-NewAnnotations"></a>New 
Annotations</h3>
 
+<ul><li>@PropertyInject</li></ul>
+
+
 <h3><a shape="rect" name="Camel2.12.0Release-NewDataFormatsDataFormat"></a>New 
<a shape="rect" href="data-format.html" title="Data Format">Data 
Formats</a></h3>
 
 <h3><a shape="rect" name="Camel2.12.0Release-NewLanguages"></a>New <a 
shape="rect" href="languages.html" title="Languages">Languages</a></h3>

Modified: websites/production/camel/content/properties.html
==============================================================================
--- websites/production/camel/content/properties.html (original)
+++ websites/production/camel/content/properties.html Mon Aug 26 12:19:08 2013
@@ -115,7 +115,7 @@ This works much like you would do if usi
 <div class="panelMacro"><table class="tipMacro"><colgroup span="1"><col 
span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" 
valign="top"><img align="middle" 
src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif"; 
width="16" height="16" alt="" border="0"></td><td colspan="1" 
rowspan="1"><b>Bridging Spring and Camel property placeholders</b><br 
clear="none">From Camel 2.10 onwards, you can bridge the Spring property 
placeholder with Camel, see further below for more 
details.</td></tr></table></div>
 
 <p>The property placeholder is generally in use when doing:</p>
-<ul class="alternate" type="square"><li>lookup or creating 
endpoints</li><li>lookup of beans in the <a shape="rect" href="registry.html" 
title="Registry">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" title="Properties">Properties</a> 
component</li></ul>
+<ul class="alternate" type="square"><li>lookup or creating 
endpoints</li><li>lookup of beans in the <a shape="rect" href="registry.html" 
title="Registry">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" title="Properties">Properties</a> 
component</li><li>using <tt>@PropertyInject</tt> to inject a property in a 
POJO</li></ul>
 
 
 <h3><a shape="rect" name="Properties-Syntax"></a>Syntax</h3>
@@ -829,6 +829,51 @@ protected Properties useOverrideProperti
 
 <p>The <tt>ignoreMissingLocationWithPropertiesComponent</tt> can be used to 
instruct Camel to ignore any locations which was not discoverable, for example 
if you run the unit test, in an environment that does not have access to the 
location of the properties. </p>
 
+
+<h3><a shape="rect" name="Properties-Using@PropertyInject"></a>Using 
@PropertyInject</h3>
+<p><b>Available as of Camel 2.12</b></p>
+
+<p>Camel allows to inject property placeholders in POJOs using the 
@PropertyInject annotation which can be set on fields and setter methods.<br 
clear="none">
+For example you can use that with <tt>RouteBuilder</tt> classes, such as shown 
below:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent 
panelContent">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
+public class MyRouteBuilder extends RouteBuilder {
+
+    @PropertyInject("hello")
+    private String greeting;
+
+    @Override
+    public void configure() throws Exception {
+        from("direct:start")
+            .transform().constant(greeting)
+            .to("{{result}}");
+    }
+
+}
+]]></script>
+</div></div>
+
+<p>Notice we have annotated the greeting field with @PropertyInject and define 
it to use the key "hello". Camel will then lookup the property with this key 
and inject its value, converted to a String type.</p>
+
+<p>You can also use multiple placeholders and text in the key, for example we 
can do:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent 
panelContent">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
+    @PropertyInject("Hello {{name}} how are you?")
+    private String greeting;
+]]></script>
+</div></div>
+
+<p>This will lookup the placeholder with they key "name".</p>
+
+<p>You can also add a default value if the key does not exists, such as:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent 
panelContent">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
+    @PropertyInject("myTimeout", default = "5000")
+    private int timeout;
+]]></script>
+</div></div>
+
 <h3><a shape="rect" name="Properties-SeeAlso"></a>See Also</h3>
 <ul><li><a shape="rect" href="configuring-camel.html" title="Configuring 
Camel">Configuring Camel</a></li><li><a shape="rect" href="component.html" 
title="Component">Component</a></li><li><a shape="rect" href="endpoint.html" 
title="Endpoint">Endpoint</a></li><li><a shape="rect" 
href="getting-started.html" title="Getting Started">Getting 
Started</a></li></ul>
 

Modified: websites/production/camel/content/using-propertyplaceholder.html
==============================================================================
--- websites/production/camel/content/using-propertyplaceholder.html (original)
+++ websites/production/camel/content/using-propertyplaceholder.html Mon Aug 26 
12:19:08 2013
@@ -94,7 +94,7 @@ This works much like you would do if usi
 <div class="panelMacro"><table class="tipMacro"><colgroup span="1"><col 
span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" 
valign="top"><img align="middle" 
src="https://cwiki.apache.org/confluence/images/icons/emoticons/check.gif"; 
width="16" height="16" alt="" border="0"></td><td colspan="1" 
rowspan="1"><b>Bridging Spring and Camel property placeholders</b><br 
clear="none">From Camel 2.10 onwards, you can bridge the Spring property 
placeholder with Camel, see further below for more 
details.</td></tr></table></div>
 
 <p>The property placeholder is generally in use when doing:</p>
-<ul class="alternate" type="square"><li>lookup or creating 
endpoints</li><li>lookup of beans in the <a shape="rect" href="registry.html" 
title="Registry">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" title="Properties">Properties</a> 
component</li></ul>
+<ul class="alternate" type="square"><li>lookup or creating 
endpoints</li><li>lookup of beans in the <a shape="rect" href="registry.html" 
title="Registry">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" title="Properties">Properties</a> 
component</li><li>using <tt>@PropertyInject</tt> to inject a property in a 
POJO</li></ul>
 
 
 <h3><a shape="rect" name="UsingPropertyPlaceholder-Syntax"></a>Syntax</h3>
@@ -806,7 +806,52 @@ protected Properties useOverrideProperti
 
 <p>This can be done from any of the Camel Test kits, such as camel-test, 
camel-test-spring, and camel-test-blueprint.</p>
 
-<p>The <tt>ignoreMissingLocationWithPropertiesComponent</tt> can be used to 
instruct Camel to ignore any locations which was not discoverable, for example 
if you run the unit test, in an environment that does not have access to the 
location of the properties. </p></div>
+<p>The <tt>ignoreMissingLocationWithPropertiesComponent</tt> can be used to 
instruct Camel to ignore any locations which was not discoverable, for example 
if you run the unit test, in an environment that does not have access to the 
location of the properties. </p>
+
+
+<h3><a shape="rect" 
name="UsingPropertyPlaceholder-Using@PropertyInject"></a>Using 
@PropertyInject</h3>
+<p><b>Available as of Camel 2.12</b></p>
+
+<p>Camel allows to inject property placeholders in POJOs using the 
@PropertyInject annotation which can be set on fields and setter methods.<br 
clear="none">
+For example you can use that with <tt>RouteBuilder</tt> classes, such as shown 
below:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent 
panelContent">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
+public class MyRouteBuilder extends RouteBuilder {
+
+    @PropertyInject("hello")
+    private String greeting;
+
+    @Override
+    public void configure() throws Exception {
+        from("direct:start")
+            .transform().constant(greeting)
+            .to("{{result}}");
+    }
+
+}
+]]></script>
+</div></div>
+
+<p>Notice we have annotated the greeting field with @PropertyInject and define 
it to use the key "hello". Camel will then lookup the property with this key 
and inject its value, converted to a String type.</p>
+
+<p>You can also use multiple placeholders and text in the key, for example we 
can do:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent 
panelContent">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
+    @PropertyInject("Hello {{name}} how are you?")
+    private String greeting;
+]]></script>
+</div></div>
+
+<p>This will lookup the placeholder with they key "name".</p>
+
+<p>You can also add a default value if the key does not exists, such as:</p>
+<div class="code panel" style="border-width: 1px;"><div class="codeContent 
panelContent">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
+    @PropertyInject("myTimeout", default = "5000")
+    private int timeout;
+]]></script>
+</div></div></div>
         </td>
         <td valign="top">
           <div class="navigation">


Reply via email to