Author: buildbot Date: Fri Mar 28 20:19:55 2014 New Revision: 904088 Log: Production update by buildbot for camel
Modified: websites/production/camel/content/advanced-configuration-of-camelcontext-using-spring.html websites/production/camel/content/cache/main.pageCache websites/production/camel/content/camel-2140-release.html Modified: websites/production/camel/content/advanced-configuration-of-camelcontext-using-spring.html ============================================================================== --- websites/production/camel/content/advanced-configuration-of-camelcontext-using-spring.html (original) +++ websites/production/camel/content/advanced-configuration-of-camelcontext-using-spring.html Fri Mar 28 20:19:55 2014 @@ -86,32 +86,7 @@ <tbody> <tr> <td valign="top" width="100%"> -<div class="wiki-content maincontent"><h2 id="AdvancedconfigurationofCamelContextusingSpring-AdvancedconfigurationofCamelContextusingSpring">Advanced configuration of CamelContext using Spring</h2> - -<p>When using Spring the CamelContext can be pre configured based on defined beans in spring XML.<br clear="none"> -This wiki page documentes these features. Most of these features requires <strong>Camel 2.0</strong>.</p> - -<h3 id="AdvancedconfigurationofCamelContextusingSpring-Whatcanbeconfigured">What can be configured</h3> -<p>The following functions can be configured:</p> -<ul class="alternate"><li>Class resolvers</li><li>Lifecycle factories</li><li>Registry for lookup</li><li><a shape="rect" href="debugger.html">Debugger</a>, <a shape="rect" href="tracer.html">Tracer</a>, <a shape="rect" href="delay-interceptor.html">Delay</a> and <a shape="rect" href="uuidgenerator.html">UuidGenerator</a></li><li><a shape="rect" href="intercept.html">Intercept</a></li><li><a shape="rect" href="graceful-shutdown.html">Graceful Shutdown</a></li><li><a shape="rect" href="stream-caching.html">Stream Caching</a></li></ul> - - -<p>Camel will configure these functions by doing a lookup in the Spring bean registry to find beans of the given type<br clear="none"> -When Camel finds and uses any of these it logs at <code>INFO</code> level.</p> - -<p>The following list all requires at most 1 beans defined. If there are more than 1 bean of this type, then Camel will <strong>not</strong> use it. </p> -<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Type </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Number of beans </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> PackageScanClassResolver </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 0..1 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> To use a 3rd party package scan resolver. More details at <a shape="rect" href="pluggable-class-resolvers.html">Pluggable Class Resolvers</a>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> ClassResolver </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 0..1 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> To use a 3rd party class resolver. More details at <a shape="rect" href="pluggable-class-resolvers.html">Pluggable Class Resolvers</a>. </p ></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> >FactoryFinderResolver </p></td><td colspan="1" rowspan="1" >class="confluenceTd"><p> 0..1 </p></td><td colspan="1" rowspan="1" >class="confluenceTd"><p> To use a 3rd party factory finder. ></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> >Registry </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 0..1 ></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> To use a 3rd >party bean registry. By default Camel will use Spring ApplicationContext as >registry. </p></td></tr><tr><td colspan="1" rowspan="1" >class="confluenceTd"><p> Debugger </p></td><td colspan="1" rowspan="1" >class="confluenceTd"><p> 0..1 </p></td><td colspan="1" rowspan="1" >class="confluenceTd"><p> To use a <a shape="rect" >href="debugger.html">Debugger</a> usually for tooling. </p></td></tr><tr><td >colspan="1" rowspan="1" class="confluenceTd"><p> Tracer </p></td><td >colspan="1" rowspan="1" class="confluenceTd"><p> 0..1 < /p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> To use a 3rd party <a shape="rect" href="tracer.html">Tracer</a>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> TraceFormatter </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 0..1 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> To use a bean that has the tracing options configured. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> HandleFault </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 0..1 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> To use a 3rd part fault handler to handle FAULT messages. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Delayer </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 0..1 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> To use a 3rd part <a shape="rect" href="delayer.html">Delayer</a>. </p></td></tr><tr><td colspan="1" rowspan="1" class="co nfluenceTd"><p> ManagementStrategy </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 0..1 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.1:</strong> To use a 3rd part strategy for <a shape="rect" href="camel-jmx.html">management</a>, for example JMX management. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> ManagementNamingStrategy </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 0..1 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.6:</strong> To use a 3rd part strategy for naming MBeans for <a shape="rect" href="camel-jmx.html">management</a>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> NodeIdFactory </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 0..1 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.10:</strong> To use a 3rd part node id factory. </p></td></tr><tr><td colspan="1" rowspan="1" class="confl uenceTd"><p> EventFactory </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 0..1 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.1:</strong> To use a 3rd part event factory. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> EventNotifier </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 0..1 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.1:</strong> To use a 3rd part event notifier. In Camel 2.2 onwards you can have multiple notifiers, see next table.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> InflightRepository </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 0..1 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.1:</strong> To use a 3rd part inflight repository. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> ShutdownStrategy </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 0..1 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.2:</strong> To use a 3rd part shutdown strategy. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> ExecutorServiceStrategy </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 0..1 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.3 - 2.8.x:</strong> To use a 3rd part executor service strategy. More details at <a shape="rect" href="threading-model.html">Threading Model</a>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> ExecutorServiceManager </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 0..1 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.9:</strong> To use a 3rd part executor service manager. More details at <a shape="rect" href="threading-model.html">Threading Model</a>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> ThreadPoolFactory </p></td><td c olspan="1" rowspan="1" class="confluenceTd"><p> 0..1 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.9:</strong> To use a 3rd part thread pool factory. More details at <a shape="rect" href="threading-model.html">Threading Model</a>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> ProcessorFactory </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 0..1 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.4:</strong> To use a 3rd part processor factory. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> UuidGenerator </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 0..1 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.5:</strong> To use a 3rd part <a shape="rect" href="uuidgenerator.html">UuidGenerator</a>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> StreamCachingStrategy </p></td><td colspan="1" rowspan="1" c lass="confluenceTd"><p> 0..1 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.12:</strong> To use a 3rd part <a shape="rect" href="stream-caching.html">Stream Caching</a> strategy. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> UnitOfWorkFactory </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 0..1 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.12.3/2.13:</strong> To use 3rd part <code>UnitOfWork</code> implementations created by the factory. </p></td></tr></tbody></table></div> - - -<p>And the following options have support for any number of beans defined.</p> -<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Type </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Number of beans </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> InterceptStrategy </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 0..n </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> To use your own <a shape="rect" href="intercept.html">Intercept</a> that intercepts every processing steps in all routes in the <a shape="rect" href="camelcontext.html">CamelContext</a>. For instance you can use this to do an AOP like performance timer interceptor. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> LifecycleStrategy </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 0..n </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.1:< /strong> To use 3rd party lifecycle strategies. By default Camel uses a JMX aware that does JMX instrumentation. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> EventNotifier </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 0..n </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.2:</strong> To use 3rd part event notifiers. </p></td></tr></tbody></table></div> - - -<p>Camel will log at <code>INFO</code> level if it pickup and uses a custom bean using <code>org.apache.camel.spring.CamelContextFactoryBean</code> as name.</p> - -<h3 id="AdvancedconfigurationofCamelContextusingSpring-Usingcontainerwideinterceptors">Using container wide interceptors</h3> -<p>Imagine that you have multiple <a shape="rect" href="camelcontext.html">CamelContext</a> and you want to configure that they all use the same container wide interceptor. How do we do that? Well we can leverage the fact that Camel can auto detect and use custom interceptors. So what we simply do is to define our interceptor in the spring xml file. The sample below does this and also define 2 camel contexts. The sample is based on unit test.</p> -<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Spring DSL</b></div><div class="codeContent panelContent pdl"> +<div class="wiki-content maincontent"><h2 id="AdvancedconfigurationofCamelContextusingSpring-AdvancedconfigurationofCamelContextusingSpring">Advanced configuration of CamelContext using Spring</h2><p>When using Spring the CamelContext can be pre configured based on defined beans in spring XML.<br clear="none"> This wiki page documentes these features. Most of these features requires <strong>Camel 2.0</strong>.</p><h3 id="AdvancedconfigurationofCamelContextusingSpring-Whatcanbeconfigured">What can be configured</h3><p>The following functions can be configured:</p><ul class="alternate"><li>Class resolvers</li><li>Lifecycle factories</li><li>Registry for lookup</li><li><a shape="rect" href="debugger.html">Debugger</a>, <a shape="rect" href="tracer.html">Tracer</a>, <a shape="rect" href="delay-interceptor.html">Delay</a> and <a shape="rect" href="uuidgenerator.html">UuidGenerator</a></li><li><a shape="rect" href="intercept.html">Intercept</a></li><li><a shape="rect" href="graceful-shutd own.html">Graceful Shutdown</a></li><li><a shape="rect" href="stream-caching.html">Stream caching</a></li></ul><p>Camel will configure these functions by doing a lookup in the Spring bean registry to find beans of the given type<br clear="none"> When Camel finds and uses any of these it logs at <code>INFO</code> level.</p><p>The following list all requires at most 1 beans defined. If there are more than 1 bean of this type, then Camel will <strong>not</strong> use it.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Number of beans</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>PackageScanClassResolver</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0..1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To use a 3rd party package scan resolver. More details at <a shape="rect" href="pluggable-class-resolvers.html">Pluggable Class Resolvers</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>ClassResolver</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0..1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To use a 3rd party class resolver. More details at <a shape="rect" href="pluggable-class-resolvers.html">Pluggable Class Resolvers</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>FactoryFinderResolver</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0..1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To use a 3rd party factory finder.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Registry</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0..1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To use a 3rd party bean registry. By default Camel will use Spring ApplicationContext a s registry.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Debugger</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0..1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To use a <a shape="rect" href="debugger.html">Debugger</a> usually for tooling.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Tracer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0..1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To use a 3rd party <a shape="rect" href="tracer.html">Tracer</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>TraceFormatter</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0..1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To use a bean that has the tracing options configured.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>HandleFault</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0..1</p></td><td colspan="1" r owspan="1" class="confluenceTd"><p>To use a 3rd part fault handler to handle FAULT messages.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Delayer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0..1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To use a 3rd part <a shape="rect" href="delayer.html">Delayer</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>ManagementStrategy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0..1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.1:</strong> To use a 3rd part strategy for <a shape="rect" href="camel-jmx.html">management</a>, for example JMX management.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>ManagementNamingStrategy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0..1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.6:</strong> To use a 3rd part strategy for nam ing MBeans for <a shape="rect" href="camel-jmx.html">management</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>NodeIdFactory</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0..1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> To use a 3rd part node id factory.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>EventFactory</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0..1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.1:</strong> To use a 3rd part event factory.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>EventNotifier</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0..1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.1:</strong> To use a 3rd part event notifier. In Camel 2.2 onwards you can have multiple notifiers, see next table.</p></td></tr><tr><td colspan="1" rowspan="1" cla ss="confluenceTd"><p>InflightRepository</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0..1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.1:</strong> To use a 3rd part inflight repository.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>ShutdownStrategy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0..1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.2:</strong> To use a 3rd part shutdown strategy.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>ExecutorServiceStrategy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0..1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.3 - 2.8.x:</strong> To use a 3rd part executor service strategy. More details at <a shape="rect" href="threading-model.html">Threading Model</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>ExecutorServiceManager</p></td><td colsp an="1" rowspan="1" class="confluenceTd"><p>0..1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> To use a 3rd part executor service manager. More details at <a shape="rect" href="threading-model.html">Threading Model</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>ThreadPoolFactory</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0..1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.9:</strong> To use a 3rd part thread pool factory. More details at <a shape="rect" href="threading-model.html">Threading Model</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>ProcessorFactory</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0..1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.4:</strong> To use a 3rd part processor factory.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>UuidGenerator</p></td><td colsp an="1" rowspan="1" class="confluenceTd"><p>0..1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.5:</strong> To use a 3rd part <a shape="rect" href="uuidgenerator.html">UuidGenerator</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>StreamCachingStrategy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0..1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12:</strong> To use a 3rd part <a shape="rect" href="stream-caching.html">Stream caching</a> strategy.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>UnitOfWorkFactory</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0..1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12.3/2.13:</strong> To use 3rd part <code>UnitOfWork</code> implementations created by the factory.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">RuntimeEndpointRegistry</td><td colspan="1" rowspan=" 1" class="confluenceTd">0..1</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.13.1:</strong> To use a 3rd party RuntimeEndpointRegistry implementation.</td></tr></tbody></table></div><p>And the following options have support for any number of beans defined.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Number of beans</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>InterceptStrategy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0..n</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To use your own <a shape="rect" href="intercept.html">Intercept</a> that intercepts every processing steps in all routes in the <a shape="rect" href="camelcontext.html">CamelContext</a>. For instance you can use this to do an AOP lik e performance timer interceptor.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>LifecycleStrategy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0..n</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.1:</strong> To use 3rd party lifecycle strategies. By default Camel uses a JMX aware that does JMX instrumentation.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>EventNotifier</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0..n</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.2:</strong> To use 3rd part event notifiers.</p></td></tr></tbody></table></div><p>Camel will log at <code>INFO</code> level if it pickup and uses a custom bean using <code>org.apache.camel.spring.CamelContextFactoryBean</code> as name.</p><h3 id="AdvancedconfigurationofCamelContextusingSpring-Usingcontainerwideinterceptors">Using container wide interceptors</h3><p>Imagine that you have multip le <a shape="rect" href="camelcontext.html">CamelContext</a> and you want to configure that they all use the same container wide interceptor. How do we do that? Well we can leverage the fact that Camel can auto detect and use custom interceptors. So what we simply do is to define our interceptor in the spring xml file. The sample below does this and also define 2 camel contexts. The sample is based on unit test.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Spring DSL</b></div><div class="codeContent panelContent pdl"> <script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[ <!-- here we define a spring bean that is our container wide interceptor @@ -140,10 +115,7 @@ When Camel finds and uses any of these i </route> </camelContext> ]]></script> -</div></div> - -<p>Okay lets build our interceptor to simply count the number of interceptions. This is quite easy as we can just implement this logic in our implementation directly as the code below illustrates:</p> -<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>InterceptorStrategy</b></div><div class="codeContent panelContent pdl"> +</div></div><p>Okay lets build our interceptor to simply count the number of interceptions. This is quite easy as we can just implement this logic in our implementation directly as the code below illustrates:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>InterceptorStrategy</b></div><div class="codeContent panelContent pdl"> <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[ public class ContainerWideInterceptor implements InterceptStrategy { @@ -176,19 +148,10 @@ public class ContainerWideInterceptor im } } ]]></script> -</div></div> - -<p>When Camel boots up it logs at <code>INFO</code> level the container wide interceptors it have found:</p> -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> -<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[ -INFO CamelContextFactoryBean - Using custom intercept strategy with id: myInterceptor and implementation:org.apache.camel.spring.interceptor.ContainerWideInterceptor@b84c44 +</div></div><p>When Camel boots up it logs at <code>INFO</code> level the container wide interceptors it have found:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[INFO CamelContextFactoryBean - Using custom intercept strategy with id: myInterceptor and implementation:org.apache.camel.spring.interceptor.ContainerWideInterceptor@b84c44 ]]></script> -</div></div> - -<p><strong>Notice:</strong> If we have more than 1 container wide interceptor, we can just define them as spring bean. Camel will find and use them.</p> - -<h2 id="AdvancedconfigurationofCamelContextusingSpring-SeeAlso">See Also</h2> -<ul><li><a shape="rect" href="spring.html">Spring</a></li><li><a shape="rect" href="tutorial-jmsremoting.html">Spring JMS Tutorial</a></li><li><a shape="rect" href="creating-a-new-spring-based-camel-route.html">Creating a new Spring based Camel Route</a></li><li><a shape="rect" href="spring-example.html">Spring example</a></li><li><a shape="rect" href="xml-reference.html">Xml Reference</a></li></ul></div> +</div></div><p><strong>Notice:</strong> If we have more than 1 container wide interceptor, we can just define them as spring bean. Camel will find and use them.</p><h2 id="AdvancedconfigurationofCamelContextusingSpring-SeeAlso">See Also</h2><ul><li><a shape="rect" href="spring.html">Spring</a></li><li><a shape="rect" href="tutorial-jmsremoting.html">Spring JMS Tutorial</a></li><li><a shape="rect" href="creating-a-new-spring-based-camel-route.html">Creating a new Spring based Camel Route</a></li><li><a shape="rect" href="spring-example.html">Spring example</a></li><li><a shape="rect" href="xml-reference.html">Xml Reference</a></li></ul></div> </td> <td valign="top"> <div class="navigation"> Modified: websites/production/camel/content/cache/main.pageCache ============================================================================== Binary files - no diff available. Modified: websites/production/camel/content/camel-2140-release.html ============================================================================== --- websites/production/camel/content/camel-2140-release.html (original) +++ websites/production/camel/content/camel-2140-release.html Fri Mar 28 20:19:55 2014 @@ -87,7 +87,7 @@ <tr> <td valign="top" width="100%"> <div class="wiki-content maincontent"><h1 id="Camel2.14.0Release-Camel2.14.0release(currentlyinprogress)">Camel 2.14.0 release (currently in progress)</h1><div style="padding-right:20px;float:left;margin-left:-20px;"> -<p><span class="image-wrap" style=""><img src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png" style="border: 0px solid black"></span></p></div><div style="min-height:200px"></div><h2 id="Camel2.14.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to the 2.14.0 release which approx XXX issues resolved (new features, improvements and bug fixes such as...)</p><ul><li>Simple language defined in routes using resultType as boolean is now evaluated as predicate instead of as expression.</li></ul><h3 id="Camel2.14.0Release-FixedIssues">Fixed Issues</h3><ul><li>Timer consumer is now scheduled after CamelContext has started all routes, to ensure other routes is running when timer routes is triggered to run.</li></ul><h3 id="Camel2.14.0Release-New">New <a shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a></h3><h3 id="Camel2.14.0Release-New.1">New <a shape="rect" href="components.html">Components</a></h3><ul><li>New compone nt ...</li></ul><h3 id="Camel2.14.0Release-New.2">New <a shape="rect" href="camel-maven-archetypes.html">Camel Maven Archetypes</a></h3><h3 id="Camel2.14.0Release-NewDSL">New DSL</h3><h3 id="Camel2.14.0Release-NewAnnotations">New Annotations</h3><h3 id="Camel2.14.0Release-NewDataFormats">New <a shape="rect" href="data-format.html">Data Formats</a></h3><h3 id="Camel2.14.0Release-New.3">New <a shape="rect" href="languages.html">Languages</a></h3><h3 id="Camel2.14.0Release-New.4">New <a shape="rect" href="examples.html">Examples</a></h3><h3 id="Camel2.14.0Release-New.5">New <a shape="rect" href="tutorials.html">Tutorials</a></h3><h3 id="Camel2.14.0Release-NewTooling">New Tooling</h3><h2 id="Camel2.14.0Release-APIchanges">API changes</h2><ul><li>Changed ...</li></ul><h2 id="Camel2.14.0Release-KnownIssues">Known Issues</h2><ul><li>Spring 4.x is not yet official supported.</li></ul><h2 id="Camel2.14.0Release-DependencyUpgrades">Dependency Upgrades</h2><p>You can see any dependency changes using <a shape="rect" class="external-link" href="http://vdiff.notsoclever.cc/" rel="nofollow">Camel Dependencies Version Differences web tool</a> created by Tracy Snell from the Camel <a shape="rect" href="team.html">Team</a>.</p><p>The below list is a best effort, and we may miss some updates, its better to use the <a shape="rect" class="external-link" href="http://vdiff.notsoclever.cc/" rel="nofollow">Camel Dependencies Version Differences web tool</a> which uses the released projects for comparison.</p><ul><li>Scala 2.10.3 to 2.10.4</li></ul><h2 id="Camel2.14.0Release-Internalchanges">Internal changes</h2><ul><li>Changed ...</li></ul><h2 id="Camel2.14.0Release-Changesthatmayaffectendusers">Changes that may affect end users</h2><ul><li>Bla bla</li></ul><h2 id="Camel2.14.0Release-Importantchangestoconsiderwhenupgrading">Important changes to consider when upgrading</h2><ul><li>Bla bla<br clear="none"><br clear="none"></li></ul><h2 id="Camel2.14.0Release-GettingtheDistributions">Ge tting the Distributions</h2><h3 id="Camel2.14.0Release-BinaryDistributions">Binary Distributions</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP Signature file of download</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Windows Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.14.0/apache-camel-2.14.0.zip">apache-camel-2.14.0.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/2.14.0/apache-camel-2.14.0.zip.asc">apache-camel-2.14.0.zip.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Unix /Linux/Cygwin Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.14.0/apache-camel-2.14.0.tar.gz">apache-camel-2.14.0.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/2.14.0/apache-camel-2.14.0.tar.gz.asc">apache-camel-2.14.0.tar.gz.asc</a></p></td></tr></tbody></table></div><h3 id="Camel2.14.0Release-SourceDistribution">Source Distribution</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP Signature file of download</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source</p></td><td colspan="1" rowspan="1" class=" confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.14.0/apache-camel-2.14.0-src.zip">apache-camel-2.14.0-src.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/2.14.0/apache-camel-2.14.0-src.zip.asc">apache-camel-2.14.0-src.zip.asc</a></p></td></tr></tbody></table></div><h3 id="Camel2.14.0Release-GettingtheBinariesusingMaven2">Getting the Binaries using Maven 2</h3><p>To use this release in your maven project, the proper dependency configuration that you should use in your <a shape="rect" class="external-link" href="http://maven.apache.org/guides/introduction/introduction-to-the-pom.html">Maven POM</a> is:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<p><span class="image-wrap" style=""><img src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png" style="border: 0px solid black"></span></p></div><div style="min-height:200px"></div><h2 id="Camel2.14.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to the 2.14.0 release which approx XXX issues resolved (new features, improvements and bug fixes such as...)</p><ul><li>Simple language defined in routes using resultType as boolean is now evaluated as predicate instead of as expression.</li><li>Introduced RuntimeEndpointRegistry to capture runtime usage of endpoints in use during routing, such as dynamic endpoints from dynamic <a shape="rect" href="eip.html">EIP</a>s.</li></ul><h3 id="Camel2.14.0Release-FixedIssues">Fixed Issues</h3><ul><li>Timer consumer is now scheduled after CamelContext has started all routes, to ensure other routes is running when timer routes is triggered to run.</li></ul><h3 id="Camel2.14.0Release-New">New <a shape="rect" href="enterpri se-integration-patterns.html">Enterprise Integration Patterns</a></h3><h3 id="Camel2.14.0Release-New.1">New <a shape="rect" href="components.html">Components</a></h3><ul><li>New component ...</li></ul><h3 id="Camel2.14.0Release-New.2">New <a shape="rect" href="camel-maven-archetypes.html">Camel Maven Archetypes</a></h3><h3 id="Camel2.14.0Release-NewDSL">New DSL</h3><h3 id="Camel2.14.0Release-NewAnnotations">New Annotations</h3><h3 id="Camel2.14.0Release-NewDataFormats">New <a shape="rect" href="data-format.html">Data Formats</a></h3><h3 id="Camel2.14.0Release-New.3">New <a shape="rect" href="languages.html">Languages</a></h3><h3 id="Camel2.14.0Release-New.4">New <a shape="rect" href="examples.html">Examples</a></h3><h3 id="Camel2.14.0Release-New.5">New <a shape="rect" href="tutorials.html">Tutorials</a></h3><h3 id="Camel2.14.0Release-NewTooling">New Tooling</h3><h2 id="Camel2.14.0Release-APIchanges">API changes</h2><ul><li>Changed ...</li></ul><h2 id="Camel2.14.0Release-KnownIssues" >Known Issues</h2><ul><li>Spring 4.x is not yet official >supported.</li></ul><h2 id="Camel2.14.0Release-DependencyUpgrades">Dependency >Upgrades</h2><p>You can see any dependency changes using <a shape="rect" >class="external-link" href="http://vdiff.notsoclever.cc/" >rel="nofollow">Camel Dependencies Version Differences web tool</a> created by >Tracy Snell from the Camel <a shape="rect" >href="team.html">Team</a>.</p><p>The below list is a best effort, and we may >miss some updates, its better to use the <a shape="rect" >class="external-link" href="http://vdiff.notsoclever.cc/" >rel="nofollow">Camel Dependencies Version Differences web tool</a> which uses >the released projects for comparison.</p><ul><li>Scala 2.10.3 to >2.10.4</li></ul><h2 id="Camel2.14.0Release-Internalchanges">Internal >changes</h2><ul><li>Changed ...</li></ul><h2 >id="Camel2.14.0Release-Changesthatmayaffectendusers">Changes that may affect >end users</h2><ul><li>Bla bla</li></ul><h2 >id="Camel2.14.0Release-Importantchangesto considerwhenupgrading">Important changes to consider when upgrading</h2><ul><li>Bla bla<br clear="none"><br clear="none"></li></ul><h2 id="Camel2.14.0Release-GettingtheDistributions">Getting the Distributions</h2><h3 id="Camel2.14.0Release-BinaryDistributions">Binary Distributions</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP Signature file of download</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Windows Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.14.0/apache-camel-2.14.0.zip">apache-camel-2.14.0.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="ht tp://www.apache.org/dist/camel/apache-camel/2.14.0/apache-camel-2.14.0.zip.asc">apache-camel-2.14.0.zip.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Unix/Linux/Cygwin Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.14.0/apache-camel-2.14.0.tar.gz">apache-camel-2.14.0.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/2.14.0/apache-camel-2.14.0.tar.gz.asc">apache-camel-2.14.0.tar.gz.asc</a></p></td></tr></tbody></table></div><h3 id="Camel2.14.0Release-SourceDistribution">Source Distribution</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Download Link</p></th><th colspan="1" r owspan="1" class="confluenceTh"><p>PGP Signature file of download</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/2.14.0/apache-camel-2.14.0-src.zip">apache-camel-2.14.0-src.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/2.14.0/apache-camel-2.14.0-src.zip.asc">apache-camel-2.14.0-src.zip.asc</a></p></td></tr></tbody></table></div><h3 id="Camel2.14.0Release-GettingtheBinariesusingMaven2">Getting the Binaries using Maven 2</h3><p>To use this release in your maven project, the proper dependency configuration that you should use in your <a shape="rect" class="external-link" href="http://maven.apache.org/guides/introduction/introduction-to-the-pom.html">Maven POM</a> is:</p><div class="code pan el pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-core</artifactId>