You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bu...@apache.org on 2014/12/21 08:18:19 UTC

svn commit: r933524 - in /websites/production/camel/content: advanced-configuration-of-camelcontext-using-spring.html cache/main.pageCache

Author: buildbot
Date: Sun Dec 21 07:18:19 2014
New Revision: 933524

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

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 Sun Dec 21 07:18:19 2014
@@ -86,7 +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-shutd
 own.html">Graceful Shutdown</a></li><li><a shape="rect" href="stream-caching.html">Stream caching</a></li><li>Logging</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 pa
 rty 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 Appl
 icationContext 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="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 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="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" 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 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 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" 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 colsp
 an="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><tr><td colspan="1" rowspan="1" class="confluenceTd">Logger</td><td colspan="1" rowspan="1" class="confluenceTd">0..1</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.12.4/2.13.1:</strong> To use provided org.slf4j.Logger for <a shape="rect" href="log.html">Log</a> component and <a shape="rect" href="logeip.html">log() EIP</a>.</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>I
 nterceptStrategy</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 3r
 d part event notifiers.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">RoutePolicyFactory</td><td colspan="1" rowspan="1" class="confluenceTd">0..n</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.14:</strong> To use a 3rd party route policy factory to create a route policy for every route.</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><li>Logging</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 pa
 rty 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 Appl
 icationContext 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="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 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="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" 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 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 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" 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 colsp
 an="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><tr><td colspan="1" rowspan="1" class="confluenceTd">Logger</td><td colspan="1" rowspan="1" class="confluenceTd">0..1</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.12.4/2.13.1:</strong> To use provided org.slf4j.Logger for <a shape="rect" href="log.html">Log</a> component and <a shape="rect" href="logeip.html">log() EIP</a>.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">AsyncProcessorAwaitManager</td><td colspan="1" rowspan="1" class="confluenceTd">0..1</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.15:</strong> To use a 3rd part async process await manager.</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><tr><td colspan="1" rowspan="1" class="confluenceTd">RoutePolicyFactory</td><td colspan="1" rowspan="1" class="confluenceTd">0..n</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.14:</strong> To use a 3rd party route policy factory to create a route policy for every route.</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">
 <script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
 
 &lt;!-- here we define a spring bean that is our container wide interceptor

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