camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r817058 - in /websites/production/camel/content: cache/main.pageCache camel-2100-release.html cdi.html dependency-injection.html karaf.html
Date Thu, 10 May 2012 09:23:54 GMT
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">



Mime
View raw message