Author: buildbot
Date: Thu May 10 09:23:53 2012
New Revision: 817058

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/camel-2100-release.html
    websites/production/camel/content/cdi.html
    websites/production/camel/content/dependency-injection.html
    websites/production/camel/content/karaf.html

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

Modified: websites/production/camel/content/camel-2100-release.html
==============================================================================
--- websites/production/camel/content/camel-2100-release.html (original)
+++ websites/production/camel/content/camel-2100-release.html Thu May 10 
09:23:53 2012
@@ -90,7 +90,7 @@
 
 <h3><a shape="rect" name="Camel2.10.0Release-Fixedissues"></a>Fixed issues</h3>
 
-<ul><li>Fixed memory leak when dynamically adding and removing many routes at 
runtime. See this <a shape="rect" 
href="memory-leak-when-adding-and-removing-routes-at-runtime.html" 
title="Memory leak when adding and removing routes at runtime">FAQ</a> for more 
information.</li><li>Fixed potential NPE in <a shape="rect" href="ftp2.html" 
title="FTP2">FTP</a> consumer when using double slashes as starting 
directory.</li><li>Fixed <a shape="rect" 
href="intercept.html#Intercept-InterceptSendToEndpoint">InterceptSendToEndpoint</a>
 when using <tt>skipSendToEndpoint=true</tt> with a <a shape="rect" 
href="predicate.html" title="Predicate">when</a> predicate to only skip sending 
if the predicate was true.</li><li>Fixed an issue with <a shape="rect" 
href="bean-binding.html" title="Bean Binding">Bean Binding</a> directly in a 
method name not working properly with method call expressions.</li><li>Fixed 
issue with using custom namespaces in <a shape="rect" href="xpath.html" 
title="XPath">XP
 ath</a> expressions when using <a shape="rect" 
href="using-osgi-blueprint-with-camel.html" title="Using OSGi blueprint with 
Camel">OSGi Blueprint</a></li><li>Fixed <a shape="rect" href="validation.html" 
title="Validation">Validation</a> to support <tt>xs:import</tt> in the schema 
files.</li><li>Fixed <a shape="rect" href="content-enricher.html" 
title="Content Enricher">Poll Enrich</a> where the timeout was not explicitly 
configured to use blocking mode (was wrongly using non-blocking 
mode).</li><li>Fixed <a shape="rect" href="async.html" title="Async">Threads 
EIP</a> to handle rejected policies, ensuring the <a shape="rect" 
href="exchange.html" title="Exchange">Exchange</a> will finish the 
<tt>UnitOfWork</tt> and will be de-registered from the inflight 
registry.</li><li>Fixed <a shape="rect" href="delayer.html" 
title="Delayer">Delayer</a> not working with a <a shape="rect" href="bean.html" 
title="Bean">Bean</a> expression to define the delay when using XML 
DSL</li><li>Fixed 
 <a shape="rect" href="jms.html" title="JMS">JMS</a> consumer to no longer 
complain by default if no errorHandler is configured when an uncaught exception 
was thrown while processing a message.</li><li>Fixed the String trim issue in 
<a shape="rect" href="simple.html" title="Simple">Simple</a> 
expressions.</li><li>Fixed the issue with <a shape="rect" 
href="recipient-list.html" title="Recipient List">Recipient List</a> not 
triggering <a shape="rect" href="error-handler.html" title="Error 
Handler">Error Handler</a> for endpoints with non existing <a shape="rect" 
href="component.html" title="Component">Component</a>s.</li><li>Fixed <a 
shape="rect" href="load-balancer.html" title="Load Balancer">Load Balancer</a> 
to update statistics in <a shape="rect" href="camel-jmx.html" title="Camel 
JMX">JMX</a></li><li>Fixed <a shape="rect" href="seda.html" 
title="SEDA">SEDA</a> producer configured with 
<tt>waitForTaskToComplete=Always</tt> to not hand over on-completion tasks, 
which otherwis
 e could be processed prematurely.</li><li>Fixed a potential issue with 
configuring custom start and end tokens for the <a shape="rect" 
href="simple.html" title="Simple">Simple</a> language when using Spring 
XML.</li><li>Fixed an issue with <a shape="rect" href="type-converter.html" 
title="Type Converter">Type Converter</a> where NaN values were converted to 
integers.</li><li>Fixed <a shape="rect" href="http.html" title="HTTP">HTTP</a>, 
<a shape="rect" href="http4.html" title="HTTP4">HTTP4</a>, and <a shape="rect" 
href="jetty.html" title="Jetty">Jetty</a> producers to send empty HTTP headers 
for <a shape="rect" href="exchange.html" title="Exchange">Exchange</a> headers 
with an empty value.</li><li>Fixed an issue with configuring a custom thread 
pool profile on some <a shape="rect" href="eip.html" 
title="EIP">EIP</a>s.</li><li>Fixed an issue with <a shape="rect" 
href="intercept.html" title="Intercept">Intercept</a> causing processors to not 
update their performance statistics 
 in <a shape="rect" href="camel-jmx.html" title="Camel 
JMX">JMX</a></li><li>Fixed using &lt;errorHandler&gt; with embedded 
&lt;redeliveryPolicy&gt; to support <a shape="rect" 
href="using-propertyplaceholder.html" title="Using PropertyPlaceholder">Using 
PropertyPlaceholder</a></li><li>Fixed issue with using 
&lt;redeliveryPolicy&gt;, and &lt;redeliveryPolicyProfile&gt; with OSGi 
Blueprint.</li><li>Fixed failover <a shape="rect" href="load-balancer.html" 
title="Load Balancer">Load Balancer</a> to perform defensive copy of the 
message before attempting failover, to ensure previous attempts do not 
propagate back into succeeding attempts.</li><li>Fixed issue when restarting 
application using <a shape="rect" href="quartz.html" title="Quartz">Quartz</a> 
with a persistent (non clustered) job store, where the app was not shutdown 
cleanly (such as crashed)</li><li>Fixed issue when using consumer endpoints 
with <a shape="rect" href="using-propertyplaceholder.html" title="Using 
PropertyPl
 aceholder">Property placeholders</a> not working with <a shape="rect" 
href="intercept.html" title="Intercept">inteceptors</a> such as 
<tt>interceptFrom</tt>.</li><li>Fixed issue with suspend/resume a <a 
shape="rect" href="timer.html" title="Timer">Timer</a> consumer, not causing 
timer task to stop firing.</li><li>Fixed <a shape="rect" href="netty.html" 
title="Netty">Netty</a> producer to re-use existing connections when sending. 
This avoid re-creating a new connection for every message being 
sent.</li><li>Fixed issue with <a shape="rect" href="simple.html" 
title="Simple">Simple</a> invoking overloaded methods using OGNL notation, 
where method name was explicitly declared to invoke the no-parameter 
method</li><li>Fixed continued and handled <a shape="rect" 
href="predicate.html" title="Predicate">Predicates</a> of <a shape="rect" 
href="exception-clause.html" title="Exception Clause">OnException</a> to be 
evaluated once per exception, instead of twice.</li><li>Fixed <a shape="r
 ect" href="throttler.html" title="Throttler">Throttler</a> and <a shape="rect" 
href="delayer.html" title="Delayer">Delayer</a> EIPs when evaluating of 
max/delay expression fails at runtime, not causing error handling to 
react.</li><li>Fixed <a shape="rect" href="mail.html" title="Mail">Mail</a> 
message with attachments may appear to be lost when <a shape="rect" 
href="error-handler.html" title="Error Handler">Error Handler</a> performs 2+ 
redelivery attempts.</li><li>Fixed issue with a failed type conversion using <a 
shape="rect" href="jaxb.html" title="JAXB">JAXB</a> may cause subsequent 
attempts to be regarded as failed as well</li><li>Fixed method call <a 
shape="rect" href="expression.html" title="Expression">Expression</a> to 
preserve headers and <a shape="rect" href="exchange.html" 
title="Exchange">Exchange</a> properties, which allow to use it for storing 
state with the <a shape="rect" href="dynamic-router.html" title="Dynamic 
Router">Dynamic Router</a> EIP</li><li>Fixe
 d locale issue with configuring endpoints using uris, such as Turkish with the 
lower/upper case of the letter i.</li><li>Fixed issue reading and writing files 
when a <tt>charset</tt> was configured on the file endpoint.</li><li>Fixed 
issue with <tt>convertBodyTo</tt> not working internally as <tt>transform</tt> 
and <tt>setBody</tt>, by resetting the message type to 
<tt>DefaultMessage</tt>.</li><li>Fixed issue with <a shape="rect" 
href="loop.html" title="Loop">Loop</a> using <tt>copy</tt> and an exception 
occurred</li><li>Fixed so <a shape="rect" href="file2.html" 
title="File2">File</a> consumer using done file name, will not automatic delete 
the done file if <tt>noop=true</tt> is configured.</li></ul>
+<ul><li>Fixed memory leak when dynamically adding and removing many routes at 
runtime. See this <a shape="rect" 
href="memory-leak-when-adding-and-removing-routes-at-runtime.html" 
title="Memory leak when adding and removing routes at runtime">FAQ</a> for more 
information.</li><li>Fixed potential NPE in <a shape="rect" href="ftp2.html" 
title="FTP2">FTP</a> consumer when using double slashes as starting 
directory.</li><li>Fixed <a shape="rect" 
href="intercept.html#Intercept-InterceptSendToEndpoint">InterceptSendToEndpoint</a>
 when using <tt>skipSendToEndpoint=true</tt> with a <a shape="rect" 
href="predicate.html" title="Predicate">when</a> predicate to only skip sending 
if the predicate was true.</li><li>Fixed an issue with <a shape="rect" 
href="bean-binding.html" title="Bean Binding">Bean Binding</a> directly in a 
method name not working properly with method call expressions.</li><li>Fixed 
issue with using custom namespaces in <a shape="rect" href="xpath.html" 
title="XPath">XP
 ath</a> expressions when using <a shape="rect" 
href="using-osgi-blueprint-with-camel.html" title="Using OSGi blueprint with 
Camel">OSGi Blueprint</a></li><li>Fixed <a shape="rect" href="validation.html" 
title="Validation">Validation</a> to support <tt>xs:import</tt> in the schema 
files.</li><li>Fixed <a shape="rect" href="content-enricher.html" 
title="Content Enricher">Poll Enrich</a> where the timeout was not explicitly 
configured to use blocking mode (was wrongly using non-blocking 
mode).</li><li>Fixed <a shape="rect" href="async.html" title="Async">Threads 
EIP</a> to handle rejected policies, ensuring the <a shape="rect" 
href="exchange.html" title="Exchange">Exchange</a> will finish the 
<tt>UnitOfWork</tt> and will be de-registered from the inflight 
registry.</li><li>Fixed <a shape="rect" href="delayer.html" 
title="Delayer">Delayer</a> not working with a <a shape="rect" href="bean.html" 
title="Bean">Bean</a> expression to define the delay when using XML 
DSL</li><li>Fixed 
 <a shape="rect" href="jms.html" title="JMS">JMS</a> consumer to no longer 
complain by default if no errorHandler is configured when an uncaught exception 
was thrown while processing a message.</li><li>Fixed the String trim issue in 
<a shape="rect" href="simple.html" title="Simple">Simple</a> 
expressions.</li><li>Fixed the issue with <a shape="rect" 
href="recipient-list.html" title="Recipient List">Recipient List</a> not 
triggering <a shape="rect" href="error-handler.html" title="Error 
Handler">Error Handler</a> for endpoints with non existing <a shape="rect" 
href="component.html" title="Component">Component</a>s.</li><li>Fixed <a 
shape="rect" href="load-balancer.html" title="Load Balancer">Load Balancer</a> 
to update statistics in <a shape="rect" href="camel-jmx.html" title="Camel 
JMX">JMX</a></li><li>Fixed <a shape="rect" href="seda.html" 
title="SEDA">SEDA</a> producer configured with 
<tt>waitForTaskToComplete=Always</tt> to not hand over on-completion tasks, 
which otherwis
 e could be processed prematurely.</li><li>Fixed a potential issue with 
configuring custom start and end tokens for the <a shape="rect" 
href="simple.html" title="Simple">Simple</a> language when using Spring 
XML.</li><li>Fixed an issue with <a shape="rect" href="type-converter.html" 
title="Type Converter">Type Converter</a> where NaN values were converted to 
integers.</li><li>Fixed <a shape="rect" href="http.html" title="HTTP">HTTP</a>, 
<a shape="rect" href="http4.html" title="HTTP4">HTTP4</a>, and <a shape="rect" 
href="jetty.html" title="Jetty">Jetty</a> producers to send empty HTTP headers 
for <a shape="rect" href="exchange.html" title="Exchange">Exchange</a> headers 
with an empty value.</li><li>Fixed an issue with configuring a custom thread 
pool profile on some <a shape="rect" href="eip.html" 
title="EIP">EIP</a>s.</li><li>Fixed an issue with <a shape="rect" 
href="intercept.html" title="Intercept">Intercept</a> causing processors to not 
update their performance statistics 
 in <a shape="rect" href="camel-jmx.html" title="Camel 
JMX">JMX</a></li><li>Fixed using &lt;errorHandler&gt; with embedded 
&lt;redeliveryPolicy&gt; to support <a shape="rect" 
href="using-propertyplaceholder.html" title="Using PropertyPlaceholder">Using 
PropertyPlaceholder</a></li><li>Fixed issue with using 
&lt;redeliveryPolicy&gt;, and &lt;redeliveryPolicyProfile&gt; with OSGi 
Blueprint.</li><li>Fixed failover <a shape="rect" href="load-balancer.html" 
title="Load Balancer">Load Balancer</a> to perform defensive copy of the 
message before attempting failover, to ensure previous attempts do not 
propagate back into succeeding attempts.</li><li>Fixed issue when restarting 
application using <a shape="rect" href="quartz.html" title="Quartz">Quartz</a> 
with a persistent (non clustered) job store, where the app was not shutdown 
cleanly (such as crashed)</li><li>Fixed issue when using consumer endpoints 
with <a shape="rect" href="using-propertyplaceholder.html" title="Using 
PropertyPl
 aceholder">Property placeholders</a> not working with <a shape="rect" 
href="intercept.html" title="Intercept">inteceptors</a> such as 
<tt>interceptFrom</tt>.</li><li>Fixed issue with suspend/resume a <a 
shape="rect" href="timer.html" title="Timer">Timer</a> consumer, not causing 
timer task to stop firing.</li><li>Fixed <a shape="rect" href="netty.html" 
title="Netty">Netty</a> producer to re-use existing connections when sending. 
This avoid re-creating a new connection for every message being 
sent.</li><li>Fixed issue with <a shape="rect" href="simple.html" 
title="Simple">Simple</a> invoking overloaded methods using OGNL notation, 
where method name was explicitly declared to invoke the no-parameter 
method</li><li>Fixed continued and handled <a shape="rect" 
href="predicate.html" title="Predicate">Predicates</a> of <a shape="rect" 
href="exception-clause.html" title="Exception Clause">OnException</a> to be 
evaluated once per exception, instead of twice.</li><li>Fixed <a shape="r
 ect" href="throttler.html" title="Throttler">Throttler</a> and <a shape="rect" 
href="delayer.html" title="Delayer">Delayer</a> EIPs when evaluating of 
max/delay expression fails at runtime, not causing error handling to 
react.</li><li>Fixed <a shape="rect" href="mail.html" title="Mail">Mail</a> 
message with attachments may appear to be lost when <a shape="rect" 
href="error-handler.html" title="Error Handler">Error Handler</a> performs 2+ 
redelivery attempts.</li><li>Fixed issue with a failed type conversion using <a 
shape="rect" href="jaxb.html" title="JAXB">JAXB</a> may cause subsequent 
attempts to be regarded as failed as well</li><li>Fixed method call <a 
shape="rect" href="expression.html" title="Expression">Expression</a> to 
preserve headers and <a shape="rect" href="exchange.html" 
title="Exchange">Exchange</a> properties, which allow to use it for storing 
state with the <a shape="rect" href="dynamic-router.html" title="Dynamic 
Router">Dynamic Router</a> EIP</li><li>Fixe
 d locale issue with configuring endpoints using uris, such as Turkish with the 
lower/upper case of the letter i.</li><li>Fixed issue reading and writing files 
when a <tt>charset</tt> was configured on the file endpoint.</li><li>Fixed 
issue with <tt>convertBodyTo</tt> not working internally as <tt>transform</tt> 
and <tt>setBody</tt>, by resetting the message type to 
<tt>DefaultMessage</tt>.</li><li>Fixed issue with <a shape="rect" 
href="loop.html" title="Loop">Loop</a> using <tt>copy</tt> and an exception 
occurred</li><li>Fixed so <a shape="rect" href="file2.html" 
title="File2">File</a> consumer using done file name, will not automatic delete 
the done file if <tt>noop=true</tt> is configured.</li><li>Fixed issue with <a 
shape="rect" href="servlet.html" title="SERVLET">SERVLET</a> may send back 
incorrect content length for data with unicode characters outside the normal 
ASCII range.</li></ul>
 
 
 <h3><a shape="rect" 
name="Camel2.10.0Release-NewEnterpriseIntegrationPatterns"></a>New <a 
shape="rect" href="enterprise-integration-patterns.html" title="Enterprise 
Integration Patterns">Enterprise Integration Patterns</a></h3>
@@ -140,7 +140,7 @@
 
 <h2><a shape="rect" 
name="Camel2.10.0Release-DependencyUpgrades"></a>Dependency Upgrades</h2>
 
-<ul><li>AHC 1.6.5 to 1.7.4</li><li>AWS 1.2.2 to 1.3.0</li><li>Commons-codec 
1.4 to 1.6</li><li>Commons-net 2.2 to 3.1.0</li><li>CXF 2.5.1 to 
2.6.0</li><li>EHCache 2.4.3 to 2.5.1</li><li>Freemarker 2.3.18 to 
2.3.19</li><li>Groovy 1.8.5 to 1.8.6</li><li>Hadoop 0.20.203.0 to 
1.0.0</li><li>HTTP4 core 4.1.2 to 4.1.4</li><li>HTTP4 client 4.1.2 to 
4.1.3</li><li>Hazelcast 1.9.4.4 to 2.0.2</li><li>Hawtbuf 1.7 to 
1.9</li><li>Jackson 1.9.2 to 1.9.5</li><li>Jackrabbit 2.2.4 to 
2.2.11</li><li>Jasypt 1.7 to 1.9.0</li><li>Javax Mail 1.4.4. to 
1.4.5</li><li>Jersey 1.10 to 1.12</li><li>JClouds 1.3.1 to 
1.4.0</li><li>Jettison 1.3 to 1.3.1</li><li>Jetty 7.5.3 to 7.5.4</li><li>JRuby 
1.6.6 to 1.6.7</li><li>JSCH 0.1.44 to 0.1.46</li><li>JuEL 2.1.3 to 
2.1.4</li><li>Kratti 0.4.1 to 0.4.5</li><li>Logback 1.0.0 to 
1.0.1</li><li>Lucene 3.0.3 to 3.5.0</li><li>MyBatis 3.0.6 to 
3.1.1</li><li>Netty 3.2.6 to 3.4.2</li><li>OGNL 3.0.2 to 3.0.4</li><li>Resetlet 
2.0.10 to 2.0.11</li><li>SNMP 1.8.1 to 1.10.1</l
 i><li>Shiro 1.1.0 to 1.2.0</li><li>Stringtemplate 3.0 to 3.2.1</li><li>Spring 
3.0.6 to 3.0.7/3.1.1</li><li>Spring Integration 2.0.5 to 2.1.1</li><li>Spring 
Security 3.0.7 to 3.1.0</li><li>Spring WebServices 2.0.3 to 
2.0.5</li><li>Spymemcached 2.5 to 2.8.0</li><li>Tagsoup 1.2 to 
1.2.1</li><li>Woodstox 4.1.1 to 4.1.2</li><li>XStream 1.4.1 to 
1.4.2</li><li>XML Security 1.4.5 to 1.5.1</li></ul>
+<ul><li>AHC 1.6.5 to 1.7.4</li><li>AWS 1.2.2 to 1.3.8</li><li>Commons-codec 
1.4 to 1.6</li><li>Commons-net 2.2 to 3.1.0</li><li>CXF 2.5.1 to 
2.6.0</li><li>EHCache 2.4.3 to 2.5.1</li><li>Freemarker 2.3.18 to 
2.3.19</li><li>Groovy 1.8.5 to 1.8.6</li><li>Hadoop 0.20.203.0 to 
1.0.0</li><li>HTTP4 core 4.1.2 to 4.1.4</li><li>HTTP4 client 4.1.2 to 
4.1.3</li><li>Hazelcast 1.9.4.4 to 2.0.2</li><li>Hawtbuf 1.7 to 
1.9</li><li>Jackson 1.9.2 to 1.9.5</li><li>Jackrabbit 2.2.4 to 
2.2.11</li><li>Jasypt 1.7 to 1.9.0</li><li>Javax Mail 1.4.4. to 
1.4.5</li><li>Jersey 1.10 to 1.12</li><li>JClouds 1.3.1 to 
1.4.0</li><li>Jettison 1.3 to 1.3.1</li><li>Jetty 7.5.3 to 7.5.4</li><li>JRuby 
1.6.6 to 1.6.7</li><li>JSCH 0.1.44 to 0.1.46</li><li>JuEL 2.1.3 to 
2.1.4</li><li>Kratti 0.4.1 to 0.4.5</li><li>Logback 1.0.0 to 
1.0.1</li><li>Lucene 3.0.3 to 3.5.0</li><li>MyBatis 3.0.6 to 
3.1.1</li><li>Netty 3.2.6 to 3.4.2</li><li>OGNL 3.0.2 to 3.0.4</li><li>Resetlet 
2.0.10 to 2.0.11</li><li>SNMP 1.8.1 to 1.10.1</l
 i><li>Shiro 1.1.0 to 1.2.0</li><li>Stringtemplate 3.0 to 3.2.1</li><li>Spring 
3.0.6 to 3.0.7/3.1.1</li><li>Spring Integration 2.0.5 to 2.1.1</li><li>Spring 
Security 3.0.7 to 3.1.0</li><li>Spring WebServices 2.0.3 to 
2.0.5</li><li>Spymemcached 2.5 to 2.8.0</li><li>Tagsoup 1.2 to 
1.2.1</li><li>Woodstox 4.1.1 to 4.1.2</li><li>XStream 1.4.1 to 
1.4.2</li><li>XML Security 1.4.5 to 1.5.1</li></ul>
 
 
 <h2><a shape="rect" 
name="Camel2.10.0Release-Importantchangestoconsiderwhenupgrading"></a>Important 
changes to consider when upgrading</h2>

Modified: websites/production/camel/content/cdi.html
==============================================================================
--- websites/production/camel/content/cdi.html (original)
+++ websites/production/camel/content/cdi.html Thu May 10 09:23:53 2012
@@ -77,98 +77,86 @@
         <td valign="top" width="100%">
 <div class="wiki-content maincontent"><h2><a shape="rect" 
name="CDI-CamelCDI"></a>Camel CDI</h2>
 
-<p>As of 2.10 we now have support for <a shape="rect" class="external-link" 
href="http://jcp.org/en/jsr/detail?id=299"; rel="nofollow">Contexts and 
Dependency Injection - JSR299</a> and <a shape="rect" class="external-link" 
href="http://jcp.org/en/jsr/detail?id=330"; rel="nofollow">Dependency Injection 
for Java - JSR330</a> as a dependency injection framework.</p>
+<p>As of 2.10 we now have support <a shape="rect" class="external-link" 
href="http://jcp.org/en/jsr/detail?id=299"; rel="nofollow">Contexts and 
Dependency Injection - JSR299</a> and <a shape="rect" class="external-link" 
href="http://jcp.org/en/jsr/detail?id=330"; rel="nofollow">Dependency Injection 
for Java - JSR330</a> as a dependency injection framework. This offers new 
opportunities to develop and deploy Apache Camel projects in <a shape="rect" 
class="external-link" 
href="http://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition"; 
rel="nofollow">Java EE 6 containers</a> but also in standalone Java SE or <a 
shape="rect" class="external-link" 
href="http://openwebbeans.apache.org/owb/index.html";>CDI container</a> </p>
 
-<h3><a shape="rect" name="CDI-DependencyInjectingCamelwithCDI"></a>Dependency 
Injecting Camel with CDI</h3>
-
-<p>The <a shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-guice/apidocs/org/apache/camel/guice/GuiceCamelContext.html";>GuiceCamelContext</a>
 is designed to work nicely inside Guice. You then need to bind it using some 
Guice Module.</p>
+<p>The current project is under active development and does not provide all 
the features that we have with injection frameworks like Spring or Blueprint 
</p>
 
-<p>The camel-guice library comes with a number of reusable Guice Modules you 
can use if you wish - or you can bind the GuiceCamelContext yourself in your 
own module.</p>
+<h3><a shape="rect" name="CDI-DependencyInjectingCamelwithCDI"></a>Dependency 
Injecting Camel with CDI</h3>
 
-<ul><li><a shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-guice/apidocs/org/apache/camel/guice/CamelModule.html";>CamelModule</a>
 is the base module which binds the GuiceCamelContext but leaves it up you to 
bind the RouteBuilder instances</li><li><a shape="rect" class="external-link" 
href="hhttp://camel.apache.org/maven/current/camel-guice/apidocs/org/apache/camel/guice/CamelModuleWithRouteTypes.html";
 rel="nofollow">CamelModuleWithRouteTypes</a> extends CamelModule so that in 
the constructor of the module you specify the RouteBuilder classes or instances 
to use</li><li><a shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-guice/apidocs/org/apache/camel/guice/CamelModuleWithMatchingRoutes.html";>CamelModuleWithMatchingRoutes</a>
 extends CamelModule so that all bound RouteBuilder instances will be injected 
into the CamelContext or you can supply an optional Matcher to find 
RouteBuilder instances matching som
 e kind of predicate.</li></ul>
+<p>Basically, two things should be done to use Apache Camel in a CDI 
environment. First, we just need to create a <a shape="rect" 
class="external-link" 
href="https://github.com/cmoulliard/cdi-camel/blob/master/src/main/java/com/fusesource/cdi/camel/simple/BootStrap.java";
 rel="nofollow">BootStrap</a> class which will be use by the Java EE 6 
container or Java SE to start the Camel Context. The <a shape="rect" 
class="external-link" 
href="https://svn.apache.org/repos/asf/camel/trunk/components/camel-cdi/src/main/java/org/apache/camel/component/cdi/CdiCamelContext.java";>CdiCamelContext</a>
 when instantiated will add a CDI <a shape="rect" class="external-link" 
href="http://docs.oracle.com/javaee/6/api/javax/enterprise/inject/spi/BeanManager.html";
 rel="nofollow">Bean Registry</a>. That will allow Camel to perform lookup of 
beans injected and registered in CDI container. Next, we must add CDI annotated 
beans (@inject, @named, ...) to use them from the Apache Camel routes.</p>
 
+<h3><a shape="rect" 
name="CDI-BootstrappingCamelwithCDIcontainer"></a>Bootstrapping Camel with CDI 
container</h3>
 
-<p>So you can specify the exact <a shape="rect" href="routebuilder.html" 
title="RouteBuilder">RouteBuilder</a> instances you want</p>
+<p>The following example shows how we can bootstrap an Apache Camel Context in 
a Boot Strap class. This class contains important annotations like the  <a 
shape="rect" class="external-link" 
href="http://docs.oracle.com/javaee/6/api/javax/ejb/Singleton.html"; 
rel="nofollow">javax.ejb.Singleton</a>. This annotation will tell the container 
to create a Singleton instance of the BootStrapClass class. This mechanism is 
similar to Bean instance creation that we have with Spring framework. By 
combining this annotation with <a shape="rect" class="external-link" 
href="http://docs.oracle.com/javaee/6/api/javax/ejb/Startup.html"; 
rel="nofollow">javax.ejb.Startup</a>, the container will start the camel 
context at the startup of the CDI container. </p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent 
panelContent">
 <pre class="code-java">
-Injector injector = Guice.createInjector(<span class="code-keyword">new</span> 
CamelModuleWithRouteTypes(MyRouteBuilder.class, AnotherRouteBuilder.class));
-<span class="code-comment">// <span class="code-keyword">if</span> required 
you can lookup the CamelContext
-</span>CamelContext camelContext = injector.getInstance(CamelContext.class);
+    @Singleton
+    @Startup
+    <span class="code-keyword">public</span> class BootStrap {
+    ...
 </pre>
 </div></div>
 
-<p>Or inject them all</p>
+<p>When the @PreConstruct annotation is called, then we inject a 
CdiCamelContext objet, register a SimpleCamelRoute using @Inject annotation and 
starts the Camel Route.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent 
panelContent">
 <pre class="code-java">
-Injector injector = Guice.createInjector(<span class="code-keyword">new</span> 
CamelModuleWithRouteTypes());
-<span class="code-comment">// <span class="code-keyword">if</span> required 
you can lookup the CamelContext
-</span>CamelContext camelContext = injector.getInstance(CamelContext.class);
+    @PostConstruct
+    <span class="code-keyword">public</span> void init() <span 
class="code-keyword">throws</span> Exception {
+            logger.info(<span class="code-quote">"&gt;&gt; Create CamelContext 
and register Camel Route."</span>);
+
+            <span class="code-comment">// Define Timer URI
+</span>            simpleRoute.setTimerUri(<span 
class="code-quote">"timer:<span class="code-comment">//simple?fixedRate=<span 
class="code-keyword">true</span>&amp;period=10s"</span>);
+</span>
+            <span class="code-comment">// Add Camel Route
+</span>            camelCtx.addRoutes(simpleRoute);
+
+            <span class="code-comment">// Start Camel Context
+</span>            camelCtx.start();
 </pre>
 </div></div>
 
-<p>You can then use Guice in the usual way to inject the route instances or 
any other dependent objects.</p>
-
-<h3><a shape="rect" name="CDI-BootstrappingwithJNDI"></a>Bootstrapping with 
JNDI</h3>
-
-<p>A common pattern used in J2EE is to bootstrap your application or root 
objects by looking them up in JNDI. This has long been the approach when 
working with JMS for example - looking up the JMS ConnectionFactory in JNDI for 
example.</p>
-
-<p>You can follow a similar pattern with Guice using the <a shape="rect" 
class="external-link" 
href="http://code.google.com/p/guiceyfruit/wiki/GuiceyJndi"; 
rel="nofollow">GuiceyFruit JNDI Provider</a> which lets you bootstrap Guice 
from a <b>jndi.properties</b> file which can include the Guice Modules to 
create along with environment specific properties you can inject into your 
modules and objects.</p>
-
-<p>If the <b>jndi.properties</b> is conflict with other component, you can 
specify the jndi properties file name in the Guice Main with option -j or 
-jndiProperties with the properties file location to let Guice Main to load 
right jndi properties file.</p>
-
-<h3><a shape="rect" 
name="CDI-ConfiguringComponent%2CEndpointorRouteBuilderinstances"></a>Configuring
 Component, Endpoint or RouteBuilder instances</h3>
-
-<p>You can use <a shape="rect" href="guice.html" title="Guice">Guice</a> to 
dependency inject whatever objects you need to create, be it an <a shape="rect" 
href="endpoint.html" title="Endpoint">Endpoint</a>, <a shape="rect" 
href="component.html" title="Component">Component</a>, <a shape="rect" 
href="routebuilder.html" title="RouteBuilder">RouteBuilder</a> or arbitrary <a 
shape="rect" href="bean-integration.html" title="Bean Integration">bean used 
within a route</a>. </p>
-
-<p>The easiest way to do this is to create your own Guice Module class which 
extends one of the above module classes and add a provider method for each 
object you wish to create. A provider method is annotated with <b>@Provides</b> 
as follows</p>
+<p>When you look to the following Camel Route code, you can see that we do a 
lookup to find a bean "helloWorld" which has been injected. This is possible 
because the CdiCamelContext registers a Camel Registry containing a reference 
to a CDI BeanManager.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent 
panelContent">
 <pre class="code-java">
-<span class="code-keyword">public</span> class MyModule <span 
class="code-keyword">extends</span> CamelModuleWithMatchingRoutes {
+    @Override
+    <span class="code-keyword">public</span> void configure() <span 
class="code-keyword">throws</span> Exception {
+
+        from(timerUri)
+            .setBody()
+                .simple(<span class="code-quote">"Bean Injected"</span>)
+
+            <span class="code-comment">// Lookup <span 
class="code-keyword">for</span> bean injected by CDI container
+</span>            <span class="code-comment">// The HellowWorld class is 
annotated using @Named
+</span>            .beanRef(<span class="code-quote">"helloWorld"</span>, 
<span class="code-quote">"sayHello"</span>)
+
+            .log(<span class="code-quote">"&gt;&gt; Response : 
${body}"</span>);
 
-    @Provides
-    @JndiBind(<span class="code-quote">"jms"</span>)
-    JmsComponent jms(@Named(<span 
class="code-quote">"activemq.brokerURL"</span>) <span 
class="code-object">String</span> brokerUrl) {
-        <span class="code-keyword">return</span> 
JmsComponent.jmsComponent(<span class="code-keyword">new</span> 
ActiveMQConnectionFactory(brokerUrl));
     }
-}
 </pre>
 </div></div>
 
-<p>You can optionally annotate the method with <b>@JndiBind</b> to bind the 
object to JNDI at some name if the object is a component, endpoint or bean you 
wish to refer to by name in your routes.</p>
-
-<p>You can inject any environment specific properties (such as URLs, machine 
names, usernames/passwords and so forth) from the jndi.properties file easily 
using the <b>@Named</b> annotation as shown above. This allows most of your 
configuration to be in Java code which is typesafe and easily refactorable - 
then leaving some properties to be environment specific (the jndi.properties 
file) which you can then change based on development, testing, production 
etc.</p>
-
-
-<h3><a shape="rect" 
name="CDI-CreatingmultipleRouteBuilderinstancespertype"></a>Creating multiple 
RouteBuilder instances per type</h3>
-
-<p>It is sometimes useful to create multiple instances of a particular <a 
shape="rect" href="routebuilder.html" title="RouteBuilder">RouteBuilder</a> 
with different configurations.</p>
-
-<p>To do this just create multiple provider methods for each configuration; or 
create a single provider method that returns a collection of RouteBuilder 
instances.</p>
-
-<p>For example</p>
+<p>Here is the code of the HelloWorld Bean</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent 
panelContent">
 <pre class="code-java">
-<span class="code-keyword">import</span> 
org.apache.camel.guice.CamelModuleWithMatchingRoutes;
-<span class="code-keyword">import</span> com.google.common.collect.Lists;
+@Named
+<span class="code-keyword">public</span> class HelloWorld {
 
-<span class="code-keyword">public</span> class MyModule <span 
class="code-keyword">extends</span> CamelModuleWithMatchingRoutes {
-
-    @Provides
-    @JndiBind(<span class="code-quote">"foo"</span>)
-    Collection&lt;RouteBuilder&gt; foo(@Named(<span 
class="code-quote">"fooUrl"</span>) <span class="code-object">String</span> 
fooUrl) {
-        <span class="code-keyword">return</span> Lists.newArrayList(<span 
class="code-keyword">new</span> MyRouteBuilder(fooUrl), <span 
class="code-keyword">new</span> MyRouteBuilder(<span 
class="code-quote">"activemq:CheeseQueue"</span>));
+    <span class="code-keyword">public</span> <span 
class="code-object">String</span> sayHello(@Body <span 
class="code-object">String</span> message) {
+        <span class="code-keyword">return</span> <span 
class="code-quote">"&gt;&gt; Hello "</span> + message + <span 
class="code-quote">" user."</span>;
     }
 }
 </pre>
 </div></div>
 
+<p>This project is started using the <a shape="rect" class="external-link" 
href="http://embedded-glassfish.java.net/nonav/plugindocs/3.1/plugin-info.html"; 
rel="nofollow">GlassFish maven plugin</a> but alternatively, you can deploy the 
war file produced in any Java EE 6 servers : Glassfish, JBoss AS 7, OpenEJB, 
Apache TomEE or Apache KarafEE or using a <a shape="rect" class="external-link" 
href="http://agoncal.wordpress.com/2011/01/12/bootstrapping-cdi-in-several-environments/";
 rel="nofollow">Java SE</a>.</p>
+
 <h3><a shape="rect" name="CDI-SeeAlso"></a>See Also</h3>
 
-<ul><li>there are a number of <a shape="rect" href="examples.html" 
title="Examples">Examples</a> you can look at to see Guice and Camel being used 
such as <a shape="rect" href="guice-jms-example.html" title="Guice JMS 
Example">Guice JMS Example</a></li><li><a shape="rect" 
href="guice-maven-plugin.html" title="Guice Maven Plugin">Guice Maven 
Plugin</a> for running your Guice based routes via Maven</li></ul>
+<ul><li>Simple <a shape="rect" class="external-link" 
href="https://github.com/cmoulliard/cdi-camel"; rel="nofollow">Camel CDI 
BootStrap project</a></li><li><a shape="rect" class="external-link" 
href="http://docs.jboss.org/weld/reference/1.1.5.Final/en-US/html_single/"; 
rel="nofollow">JSR299</a> and <a shape="rect" class="external-link" 
href="http://openwebbeans.apache.org/owb/jsr330.html";>JSR330</a> reference 
documentations</li><li>CDI revealed by Antonio - <a shape="rect" 
class="external-link" 
href="https://agoncal.wordpress.com/2011/04/07/injection-with-cdi-part-i/"; 
rel="nofollow">part 1</a>, <a shape="rect" class="external-link" 
href="https://agoncal.wordpress.com/2011/05/03/injection-with-cdi-part-ii/"; 
rel="nofollow">part 2</a>, <a shape="rect" class="external-link" 
href="https://agoncal.wordpress.com/2011/09/25/injection-with-cdi-part-iii/"; 
rel="nofollow">part 3</a></li><li>Apache CDI implementation <a shape="rect" 
class="external-link" href="http://openwebbeans.apache.or
 g/owb/index.html">OpenWebbeans</a> and Apache <a shape="rect" 
class="external-link" href="http://openejb.apache.org/";>OpenEJB</a> which 
provide the containers to deploy camel CDI projects</li><li>Apache Karaf 
featured with OpenEJB and OpenCDI - <a shape="rect" class="external-link" 
href="https://svn.apache.org/repos/asf/openejb/trunk/openejb/osgi/";>Apache 
KarafEE</a></li></ul>
 </div>
         </td>
         <td valign="top">

Modified: websites/production/camel/content/dependency-injection.html
==============================================================================
--- websites/production/camel/content/dependency-injection.html (original)
+++ websites/production/camel/content/dependency-injection.html Thu May 10 
09:23:53 2012
@@ -79,10 +79,10 @@
 
 <p><em>Dependency Injection</em> or <em>Inversion of Control</em> is a pattern 
where dependencies of an object are injected into the object without the object 
being too aware of how the injection is performed. The two most popular 
Dependency Injection libraries available at the time of writing are</p>
 
-<ul><li><a shape="rect" href="spring.html" 
title="Spring">Spring</a></li><li><a shape="rect" href="guice.html" 
title="Guice">Guice</a></li></ul>
+<ul><li><a shape="rect" href="spring.html" 
title="Spring">Spring</a></li><li><a shape="rect" href="guice.html" 
title="Guice">Guice</a></li><li><a shape="rect" href="cdi.html" 
title="CDI">CDI</a></li></ul>
 
 
-<p>Camel is developed such that any Dependency Injection framework can be used 
easily - though we've tried hard to optimise Camel for both <a shape="rect" 
href="spring.html" title="Spring">Spring</a> and <a shape="rect" 
href="guice.html" title="Guice">Guice</a></p></div>
+<p>Camel is developed such that any Dependency Injection framework can be used 
easily - though we've tried hard to optimise Camel for both <a shape="rect" 
href="spring.html" title="Spring">Spring</a>,<a shape="rect" href="cdi.html" 
title="CDI">CDI</a> and <a shape="rect" href="guice.html" 
title="Guice">Guice</a></p></div>
         </td>
         <td valign="top">
           <div class="navigation">

Modified: websites/production/camel/content/karaf.html
==============================================================================
--- websites/production/camel/content/karaf.html (original)
+++ websites/production/camel/content/karaf.html Thu May 10 09:23:53 2012
@@ -189,6 +189,12 @@ karaf@root&gt; features:install camel-st
 </div>
 
 
+<h3><a shape="rect" name="Karaf-KarafcommandsinCamel2.10onwards"></a>Karaf 
commands in Camel 2.10 onwards</h3>
+<div class="table-wrap">
+<table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"> Command </th><th colspan="1" rowspan="1" 
class="confluenceTh"> Description </th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"> <b>camel:endpoint-list</b> </td><td colspan="1" 
rowspan="1" class="confluenceTd"> Lists endpoints fromm all camel contexts 
available in the current Karaf instance </td></tr></tbody></table>
+</div>
+
+
 <h3><a shape="rect" 
name="Karaf-camel%3Alistcontexts"></a>camel:list-contexts</h3>
 
 <p>The *<b>camel:list-contexts</b>* command displays the list of CamelContext 
available in the current Karaf instance:</p>
@@ -389,7 +395,24 @@ karaf@root&gt; camel:route-suspend route
 karaf@root&gt; camel:route-resume route1
 </pre>
 </div></div>
-<p><em>Tip: use TAB key for completion on the route name.</em></p></div>
+<p><em>Tip: use TAB key for completion on the route name.</em></p>
+
+<h4><a shape="rect" name="Karaf-Camel2.10ornewer%3A"></a>Camel 2.10 or 
newer:</h4>
+
+<h3><a shape="rect" 
name="Karaf-camel%3Aendpointlist"></a>camel:endpoint-list</h3>
+
+<p>The *<b>camel:endpoint-list</b>* command displays the list of the endpoints 
available in all camel contexts of the current Karaf instance:</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeContent 
panelContent">
+<pre class="code-java">
+karaf@root&gt; camel:endpoint-list 
+camel-id             uri                  Status              
+[test              ] [timer:<span class="code-comment">//test      ] [Started  
         ]
+</span>[test              ] [direct:<span class="code-comment">//A        ] 
[Started           ]</span>
+</pre>
+</div></div>
+
+<p>It displays the context name/ID (used in others commands), the URI of the 
endpoint and the current status (started/stopped).</p></div>
         </td>
         <td valign="top">
           <div class="navigation">


Reply via email to