Author: buildbot
Date: Sat Dec  5 08:19:31 2015
New Revision: 974622

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
 Sat Dec  5 08:19:31 2015
@@ -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><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><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><span>ModelJAXBContextFactory</span></td><td colspan="1" 
rowspan="1" class="confluenceTd">0..1</td><td colspan="
 1" rowspan="1" class="confluenceTd"><strong>Camel 2.15.2:</strong> To use a 
3rd party model JAXB ContextFactory</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 colspa
 n="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 cust
 om 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><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><span>ModelJAXBContextFactory</span></td><td colspan="1" 
rowspan="1" class="confluenceTd">0..1</td><td colspan="
 1" rowspan="1" class="confluenceTd"><strong>Camel 2.15.2:</strong> To use a 
3rd party model JAXB ContextFactory</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">MessageHistoryFactory</td><td colspan="1" rowspan="1" 
class="confluenceTd">0..1</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.17:</strong> To use a 3rd party 
MessageHistoryFactory 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 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="conflu
 enceTd">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="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
 
 &lt;!-- here we define a spring bean that is our container wide interceptor
@@ -115,7 +115,7 @@
     &lt;/route&gt;
 &lt;/camelContext&gt;
 ]]></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>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:<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="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
 public class ContainerWideInterceptor implements InterceptStrategy {
 
@@ -148,7 +148,7 @@ 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">
+</div></div>When Camel boots up it logs at <code>INFO</code> level the 
container wide interceptors it have found:<div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
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>

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


Reply via email to