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 2016/12/07 11:18:39 UTC

svn commit: r1002346 [2/2] - in /websites/production/camel/content: articles.html cache/main.pageCache camel-219-release.html cdi.html

Modified: websites/production/camel/content/camel-219-release.html
==============================================================================
--- websites/production/camel/content/camel-219-release.html (original)
+++ websites/production/camel/content/camel-219-release.html Wed Dec  7 11:18:39 2016
@@ -85,7 +85,7 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h1 id="Camel2.19Release-Camel2.19.0Release(currentlyinprogress)">Camel 2.19.0 Release (currently in progress)</h1><div style="padding-right:20px;float:left;margin-left:-20px;"><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image confluence-external-resource" src="http://camel.apache.org/images/camel-box-small.png" data-image-src="http://camel.apache.org/images/camel-box-small.png"></span></div><div style="min-height:200px">&#160;</div><h2 id="Camel2.19Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to the 2.19.0 release which approx XXX issues resolved (new features, improvements and bug fixes such as...)</p><ul><li>The <a shape="rect" href="camel-maven-plugin.html">Camel Maven Plugin</a> now provides the <code>camel:validate</code> goal to parse your Java and XML source code for any Camel routes and report invalid Camel endpoint uri and simple expression errors. You can run this at code time (not run
 time).&#160;</li><li>Introduced a new&#160;<code>camel-catalog-rest</code>&#160;artifact which is a tiny standalone REST API of the CamelCatalog using JAX-RS and Swagger Annotations.</li><li>Added&#160;<code>camel-catalog-rest-app</code>&#160;as a standalone application which used Apache CXF with Jetty to host the Catalog REST API with embedded Swagger UI</li><li>Returning&#160;<code>null</code>&#160;from&#160;<a shape="rect" href="bean.html">Bean</a> should work similar to how&#160;<code>setBody</code>&#160;and&#160;<code>transform</code>&#160;works when they set a&#160;<code>null</code>&#160;body.</li><li>The Camel Spring Boot starter components now have their auto configuration depends on&#160;<code>org.apache.camel.springboot.CamelAutoConfiguration</code> which makes it easier writing unit tests where you can exclude&#160;<code>org.apache.camel.springboot.CamelAutoConfiguration</code> to turn off Camel Spring Boot auto configuration completely.</li><li>Camel now supports OWASP d
 ependency check maven plugin</li><li>Camel-Nats component now supports TLS</li><li>Camel-Nats component now supports explicit flushing (with timeout) of the connection</li><li>Camel-Metrics component now supports Gauge type</li><li><a shape="rect" href="file2.html">File&#160;consumer</a> now supports idempotent-changed and idempotent-rename read lock strategies for clustering.&#160;</li><li>Camel Catalog now supports custom runtime providers that only includes the supported Camel components, languages and data formats running in that container. For example for Karaf or Spring Boot in the camel-catalog-provider-karaf and camel-catalog-provider-springboot.</li><li>The&#160;<a shape="rect" href="https://cwiki.apache.org/confluence/display/WW/bean">bean</a> component will when calling a method that returned an instance of <code>Callable</code>&#160;now call that callable to obtain the chained result. This allows to call Groovy functions/closures etc.</li><li>Failover&#160;<a shape="rect
 " href="load-balancer.html">Load Balancer</a> with inheritErrorHandler=false, now allows Camel's&#160;<a shape="rect" href="error-handler.html">Error Handler</a> to react after the load balancer is exhausted.</li><li><a shape="rect" href="salesforce.html">Salesforce</a> component now supports limits, recent items and approvals</li><li>Dumping Camel routes as XML now includes custom namespaces which are at xpath expressions etc. Likewise updating Camel routes from XML can now include namespaces which will be associated on xpath expressions.</li><li>Added&#160;<code>RouteIdFactory</code> which can auto assign route ids based on the consumer endpoints to use more sensitible names, instead of route1, route2, etc.</li></ul><p>Fixed these issues</p><ul><li>Fixed&#160;<a shape="rect" href="hystrix-eip.html">Hystrix EIP</a> to also execute fallback if execution was rejected or short-circuited or other reasons from Hystrix.&#160;</li><li>Fixed adding new routes to running CamelContext and if
  the new routes would fail to startup, then before these routes would "hang around". Now only succesful started routes are added.</li><li>Adding or removing routes that starts from&#160;<a shape="rect" href="undertow.html">Undertow</a> no longer restart the entire HTTP server</li><li><a shape="rect" href="vm.html">VM</a> endpoint should prepare exchange with the CamelContext from the consumer and not from cached endpoint which can be different</li><li>Fixed a bug when using&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> with&#160;<a shape="rect" href="servlet.html">SERVLET</a> could cause a java.io.IOException: Stream closed exception when using <a shape="rect" href="bean.html">Bean</a>&#160;in the route.&#160;</li><li>Fixed an issue when using&#160;<code>pipeline</code> in Java DSL not setting up the EIP correctly which could lead to runtime route not as intended.</li><li>Fixed&#160;<a shape="rect" href="dropbox.html">Dropbox</a> to use&#160;<a shape="rect" href="stream-cac
 hing.html">Stream caching</a> to avoid reading entire file into memory so Camel can process big files</li><li>Fixed Netty douhle buffer release leak in&#160;<a shape="rect" href="netty4.html">Netty4</a> and&#160;<a shape="rect" href="netty4-http.html">Netty4 HTTP</a></li></ul><h3 id="Camel2.19Release-New">New <a shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a></h3><h3 id="Camel2.19Release-New.1">New <a shape="rect" href="components.html">Components</a></h3><ul><li>camel-bonita -&#160;allow you to communicate with a remote Bonita engine.</li><li>camel-google-pubsub - allow you communicate with Google Cloud Pub/Sub</li></ul><h3 id="Camel2.19Release-NewDSL">New DSL</h3><h3 id="Camel2.19Release-NewAnnotations">New Annotations</h3><h3 id="Camel2.19Release-New.2">New <a shape="rect" href="data-format.html">Data Format</a></h3><h3 id="Camel2.19Release-New.3">New <a shape="rect" href="languages.html">Languages</a></h3><h3 id="Camel2.19Release-New.
 4">New <a shape="rect" href="examples.html">Examples</a></h3><h3 id="Camel2.19Release-New.5">New <a shape="rect" href="tutorials.html">Tutorials</a></h3><h2 id="Camel2.19Release-APIbreaking">API breaking</h2><ul><li>Camel-spring-LDAP now uses java.util.function.BiFunction&lt;L, Q, S&gt; instead of&#160;org.apache.camel.component.springldap.LdapOperationsFunction&lt;Q, S&gt;</li></ul><h2 id="Camel2.19Release-KnownIssues">Known Issues</h2><h2 id="Camel2.19Release-Importantchangestoconsiderwhenupgrading">Important changes to consider when upgrading</h2><ul><li>Camel now uses Karaf 4.x API and therefore not possible to run on older Karaf versions.</li><li><code>camel-blueprint</code>&#160;changed startup behavior to start on Blueprint.CREATED event which would be more `correct` way of startup instead of Blueprint.REGISTERED as before.</li><li>camel-spring-boot now don't include prototype scoped beans when auto scanning for RouteBuilder instances, which is how camel-spring works. You can
  turn this back using the&#160;includeNonSingletons option.</li></ul><h2 id="Camel2.19Release-GettingtheDistributions">Getting the Distributions</h2><h3 id="Camel2.19Release-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/x.y.x/apache-camel-x.y.x.zip">apache-camel-x.y.x.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/x.y.x/apache-camel-x.y.x.
 zip.asc">apache-camel-x.y.x.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/x.y.x/apache-camel-x.y.x.tar.gz">apache-camel-x.y.x.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/x.y.x/apache-camel-x.y.x.tar.gz.asc">apache-camel-x.y.x.tar.gz.asc</a></p></td></tr></tbody></table></div><div class="confluence-information-macro confluence-information-macro-information"><p class="title">The above URLs use redirection</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>The above URLs use the Apache Mirror system to redirect you to a suitable mirror for your downloa
 d. Some users have experienced issues with some versions of browsers (e.g. some Safari browsers). If the download doesn't seem to work for you from the above URL then try using <a shape="rect" class="external-link" href="http://www.mozilla.com/en-US/firefox/" rel="nofollow">FireFox</a></p></div></div><h3 id="Camel2.19Release-SourceDistributions">Source 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>Source (zip)</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/x.y.x/apache-camel-x.y.x-src.zip">apache-camel-x.y.x-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/x.y.x/apache-camel-x.y.x-src.zip.asc">apache-camel-x.y.x-src.zip.asc</a></p></td></tr></tbody></table></div><h3 id="Camel2.19Release-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">
+<div class="wiki-content maincontent"><h1 id="Camel2.19Release-Camel2.19.0Release(currentlyinprogress)">Camel 2.19.0 Release (currently in progress)</h1><div style="padding-right:20px;float:left;margin-left:-20px;"><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image confluence-external-resource" src="http://camel.apache.org/images/camel-box-small.png" data-image-src="http://camel.apache.org/images/camel-box-small.png"></span></div><div style="min-height:200px">&#160;</div><h2 id="Camel2.19Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to the 2.19.0 release which approx XXX issues resolved (new features, improvements and bug fixes such as...)</p><ul><li>The <a shape="rect" href="camel-maven-plugin.html">Camel Maven Plugin</a> now provides the <code>camel:validate</code> goal to parse your Java and XML source code for any Camel routes and report invalid Camel endpoint uri and simple expression errors. You can run this at code time (not run
 time).&#160;</li><li>Introduced a new&#160;<code>camel-catalog-rest</code>&#160;artifact which is a tiny standalone REST API of the CamelCatalog using JAX-RS and Swagger Annotations.</li><li>Added&#160;<code>camel-catalog-rest-app</code>&#160;as a standalone application which used Apache CXF with Jetty to host the Catalog REST API with embedded Swagger UI</li><li>Returning&#160;<code>null</code>&#160;from&#160;<a shape="rect" href="bean.html">Bean</a> should work similar to how&#160;<code>setBody</code>&#160;and&#160;<code>transform</code>&#160;works when they set a&#160;<code>null</code>&#160;body.</li><li>The Camel Spring Boot starter components now have their auto configuration depends on&#160;<code>org.apache.camel.springboot.CamelAutoConfiguration</code> which makes it easier writing unit tests where you can exclude&#160;<code>org.apache.camel.springboot.CamelAutoConfiguration</code> to turn off Camel Spring Boot auto configuration completely.</li><li>Camel now supports OWASP d
 ependency check maven plugin</li><li>Camel-Nats component now supports TLS</li><li>Camel-Nats component now supports explicit flushing (with timeout) of the connection</li><li>Camel-Metrics component now supports Gauge type</li><li><a shape="rect" href="file2.html">File&#160;consumer</a> now supports idempotent-changed and idempotent-rename read lock strategies for clustering.&#160;</li><li>Camel Catalog now supports custom runtime providers that only includes the supported Camel components, languages and data formats running in that container. For example for Karaf or Spring Boot in the camel-catalog-provider-karaf and camel-catalog-provider-springboot.</li><li>The&#160;<a shape="rect" href="https://cwiki.apache.org/confluence/display/WW/bean">bean</a> component will when calling a method that returned an instance of <code>Callable</code>&#160;now call that callable to obtain the chained result. This allows to call Groovy functions/closures etc.</li><li>Failover&#160;<a shape="rect
 " href="load-balancer.html">Load Balancer</a> with inheritErrorHandler=false, now allows Camel's&#160;<a shape="rect" href="error-handler.html">Error Handler</a> to react after the load balancer is exhausted.</li><li><a shape="rect" href="salesforce.html">Salesforce</a> component now supports limits, recent items and approvals</li><li>Dumping Camel routes as XML now includes custom namespaces which are at xpath expressions etc. Likewise updating Camel routes from XML can now include namespaces which will be associated on xpath expressions.</li><li>Added&#160;<code>RouteIdFactory</code> which can auto assign route ids based on the consumer endpoints to use more sensitible names, instead of route1, route2, etc.</li><li><code>RouteBuilder</code> auto-configuration can now be disabled in <a shape="rect" href="cdi.html">Camel CDI</a></li></ul><p>Fixed these issues</p><ul><li>Fixed&#160;<a shape="rect" href="hystrix-eip.html">Hystrix EIP</a> to also execute fallback if execution was rejec
 ted or short-circuited or other reasons from Hystrix.&#160;</li><li>Fixed adding new routes to running CamelContext and if the new routes would fail to startup, then before these routes would "hang around". Now only succesful started routes are added.</li><li>Adding or removing routes that starts from&#160;<a shape="rect" href="undertow.html">Undertow</a> no longer restart the entire HTTP server</li><li><a shape="rect" href="vm.html">VM</a> endpoint should prepare exchange with the CamelContext from the consumer and not from cached endpoint which can be different</li><li>Fixed a bug when using&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> with&#160;<a shape="rect" href="servlet.html">SERVLET</a> could cause a java.io.IOException: Stream closed exception when using <a shape="rect" href="bean.html">Bean</a>&#160;in the route.&#160;</li><li>Fixed an issue when using&#160;<code>pipeline</code> in Java DSL not setting up the EIP correctly which could lead to runtime route not as
  intended.</li><li>Fixed&#160;<a shape="rect" href="dropbox.html">Dropbox</a> to use&#160;<a shape="rect" href="stream-caching.html">Stream caching</a> to avoid reading entire file into memory so Camel can process big files</li><li>Fixed Netty douhle buffer release leak in&#160;<a shape="rect" href="netty4.html">Netty4</a> and&#160;<a shape="rect" href="netty4-http.html">Netty4 HTTP</a></li></ul><h3 id="Camel2.19Release-New">New <a shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a></h3><h3 id="Camel2.19Release-New.1">New <a shape="rect" href="components.html">Components</a></h3><ul><li>camel-bonita -&#160;allow you to communicate with a remote Bonita engine.</li><li>camel-google-pubsub - allow you communicate with Google Cloud Pub/Sub</li></ul><h3 id="Camel2.19Release-NewDSL">New DSL</h3><h3 id="Camel2.19Release-NewAnnotations">New Annotations</h3><h3 id="Camel2.19Release-New.2">New <a shape="rect" href="data-format.html">Data Format</a></h3
 ><h3 id="Camel2.19Release-New.3">New <a shape="rect" href="languages.html">Languages</a></h3><h3 id="Camel2.19Release-New.4">New <a shape="rect" href="examples.html">Examples</a></h3><h3 id="Camel2.19Release-New.5">New <a shape="rect" href="tutorials.html">Tutorials</a></h3><h2 id="Camel2.19Release-APIbreaking">API breaking</h2><ul><li>Camel-spring-LDAP now uses java.util.function.BiFunction&lt;L, Q, S&gt; instead of&#160;org.apache.camel.component.springldap.LdapOperationsFunction&lt;Q, S&gt;</li></ul><h2 id="Camel2.19Release-KnownIssues">Known Issues</h2><h2 id="Camel2.19Release-Importantchangestoconsiderwhenupgrading">Important changes to consider when upgrading</h2><ul><li>Camel now uses Karaf 4.x API and therefore not possible to run on older Karaf versions.</li><li><code>camel-blueprint</code>&#160;changed startup behavior to start on Blueprint.CREATED event which would be more `correct` way of startup instead of Blueprint.REGISTERED as before.</li><li>camel-spring-boot now do
 n't include prototype scoped beans when auto scanning for RouteBuilder instances, which is how camel-spring works. You can turn this back using the&#160;includeNonSingletons option.</li></ul><h2 id="Camel2.19Release-GettingtheDistributions">Getting the Distributions</h2><h3 id="Camel2.19Release-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/x.y.x/apache-camel-x.y.x.zip">apache-camel-x.y.x.zip</a></p></td><td colspan="1" rowspan="1" class="confluence
 Td"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x.zip.asc">apache-camel-x.y.x.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/x.y.x/apache-camel-x.y.x.tar.gz">apache-camel-x.y.x.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/x.y.x/apache-camel-x.y.x.tar.gz.asc">apache-camel-x.y.x.tar.gz.asc</a></p></td></tr></tbody></table></div><div class="confluence-information-macro confluence-information-macro-information"><p class="title">The above URLs use redirection</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-in
 formation-macro-body"><p>The above URLs use the Apache Mirror system to redirect you to a suitable mirror for your download. Some users have experienced issues with some versions of browsers (e.g. some Safari browsers). If the download doesn't seem to work for you from the above URL then try using <a shape="rect" class="external-link" href="http://www.mozilla.com/en-US/firefox/" rel="nofollow">FireFox</a></p></div></div><h3 id="Camel2.19Release-SourceDistributions">Source 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>Source (zip)</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/x.y.x/apache-camel-x.y.x-src.zip">apache-camel-x.y.x-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/x.y.x/apache-camel-x.y.x-src.zip.asc">apache-camel-x.y.x-src.zip.asc</a></p></td></tr></tbody></table></div><h3 id="Camel2.19Release-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">
 <script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
   &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
   &lt;artifactId&gt;camel-core&lt;/artifactId&gt;

Modified: websites/production/camel/content/cdi.html
==============================================================================
--- websites/production/camel/content/cdi.html (original)
+++ websites/production/camel/content/cdi.html Wed Dec  7 11:18:39 2016
@@ -98,7 +98,11 @@ CamelContext context;]]></script>
         from(&quot;jms:invoices&quot;).to(&quot;file:/invoices&quot;);
     }
 }]]></script>
-</div></div><p>Note that you can declare as many&#160;<strong><code>RoutesBuilder</code></strong> beans as you want. Besides,&#160;<strong><code>RouteContainer</code></strong> beans are also automatically collected, instantiated and added to the&#160;<strong><code>CamelContext</code></strong> bean instance managed by Camel CDI when the container initializes.</p><h3 id="CDI-Auto-ConfiguredCamelPrimitives">Auto-Configured Camel Primitives</h3><p>Camel CDI provides beans for common Camel primitives that can be injected in any CDI beans, e.g.:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Note that you can declare as many&#160;<strong><code>RoutesBuilder</code></strong> beans as you want. Besides,&#160;<strong><code>RouteContainer</code></strong> beans are also automatically collected, instantiated and added to the&#160;<strong><code>CamelContext</code></strong> bean instance managed by Camel CDI when the container initializes.</p><p><strong>Available as of Camel 2.19</strong></p><p>In some situations, it may be necessary to disable the auto-configuration of the&#160;<strong><code>RouteBuilder</code></strong>&#160;and <strong><code>RouteContainer</code></strong>&#160;beans. That can be achieved by observing for the&#160;<span><strong><code>CdiCamelConfiguration</code></strong>&#160;</span>event, e.g.:</p><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[static void configuration(@Observes CdiCamelConfiguration configuration) {
+    configuration.autoConfigureRoutes(false);
+}]]></script>
+</div></div><h3 id="CDI-Auto-ConfiguredCamelPrimitives">Auto-Configured Camel Primitives</h3><p>Camel CDI provides beans for common Camel primitives that can be injected in any CDI beans, e.g.:</p><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[@Inject
 @Uri(&quot;direct:inbound&quot;)
 ProducerTemplate producerTemplate;
@@ -121,7 +125,7 @@ class MyRouteBean extends RouteBuilder {
         from(&quot;jms:invoices&quot;).to(&quot;file:/invoices&quot;);
     }
 }]]></script>
-</div></div><p>Else, if more customization is needed, any&#160;<strong><code>CamelContext</code></strong>&#160;class can be used to declare a custom Camel context bean. Then, the&#160;<strong><code>@PostConstruct</code></strong>&#160;and&#160;<strong><code>@PreDestroy</code></strong>&#160;lifecycle callbacks can be done to do the customization, e.g.:</p><div class="highlight highlight-source-java"><p>&#160;</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Else, if more customization is needed, any&#160;<strong><code>CamelContext</code></strong>&#160;class can be used to declare a custom Camel context bean. Then, the&#160;<strong><code>@PostConstruct</code></strong>&#160;and&#160;<strong><code>@PreDestroy</code></strong>&#160;lifecycle callbacks can be done to do the customization, e.g.:</p><div class="highlight highlight-source-java"><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[@ApplicationScoped
 class CustomCamelContext extends DefaultCamelContext {
 
@@ -366,7 +370,7 @@ void onRouteStarted(@Observes @Named(&qu
 void onContextStarted(@Observes @Manual CamelContextStartedEvent event) {
     // Called after the the Camel context qualified with &#39;@Manual&#39; has started
 }]]></script>
-</div></div><p>Similarly, the&#160;<strong><code>@Default</code></strong>&#160;qualifier can be used to observe Camel events for the&#160;<em>default</em>&#160;Camel context if multiples contexts exist, e.g.:</p><div class="highlight highlight-source-java"><p>&#160;</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Similarly, the&#160;<strong><code>@Default</code></strong>&#160;qualifier can be used to observe Camel events for the&#160;<em>default</em>&#160;Camel context if multiples contexts exist, e.g.:</p><div class="highlight highlight-source-java"><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[void onExchangeCompleted(@Observes @Default ExchangeCompletedEvent event) {
     // Called after the exchange &#39;event.getExchange()&#39; processing has completed
 }]]></script>
@@ -392,7 +396,7 @@ CdiEventEndpoint&lt;String&gt; cdiEventE
 
 from(&quot;direct:event&quot;)
   .to(cdiEventEndpoint).log(&quot;CDI event sent: ${body}&quot;);]]></script>
-</div></div><p>This is equivalent to writing:</p><div class="highlight highlight-source-java"><p>&#160;</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>This is equivalent to writing:</p><div class="highlight highlight-source-java"><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[@Inject
 Event&lt;String&gt; event;
 
@@ -470,7 +474,7 @@ Processor processor = exchange -&gt; exc
  Context        Status              Total #       Failed #     Inflight #   Uptime        
  -------        ------              -------       --------     ----------   ------        
  camel-cdi      Started                   1              0              0   1 minute  ]]></script>
-</div></div><p>See the&#160;<span><strong><code>camel-example-cdi-osgi</code></strong> example for a working example of the Camel CDI OSGi integration.</span></p><h3 id="CDI-LazyInjection/ProgrammaticLookup">Lazy Injection / Programmatic Lookup</h3><p><strong>Available as of Camel 2.17</strong></p><p>While the CDI programmatic model favors a&#160;<a shape="rect" class="external-link" href="http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#typesafe_resolution" style="text-decoration: underline;" rel="nofollow">type-safe resolution</a>&#160;mechanism that occurs at application initialization time, it is possible to perform dynamic / lazy injection later during the application execution using the&#160;<a shape="rect" class="external-link" href="http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#programmatic_lookup" style="text-decoration: underline;" rel="nofollow">programmatic lookup</a>&#160;mechanism.</p><p>Camel CDI provides for convenience the annotation literals corresponding to the
  CDI qualifiers that you can use for standard injection of Camel primitives. These annotation literals can be used in conjunction with the<strong><code> javax.enterprise.inject.Instance</code></strong>&#160;interface which is the CDI entry point to perform lazy injection / programmatic lookup.</p><p>For example, you can use the provided annotation literal for the&#160;<strong><code>@Uri</code></strong> qualifier to lazily lookup for Camel primitives, e.g. for&#160;<strong><code>ProducerTemplate</code></strong> beans:</p><div class="listingblock"><div class="content"><div class="line"><p>&#160;</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>See the&#160;<span><strong><code>camel-example-cdi-osgi</code></strong> example for a working example of the Camel CDI OSGi integration.</span></p><h3 id="CDI-LazyInjection/ProgrammaticLookup">Lazy Injection / Programmatic Lookup</h3><p><strong>Available as of Camel 2.17</strong></p><p>While the CDI programmatic model favors a&#160;<a shape="rect" class="external-link" href="http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#typesafe_resolution" style="text-decoration: underline;" rel="nofollow">type-safe resolution</a>&#160;mechanism that occurs at application initialization time, it is possible to perform dynamic / lazy injection later during the application execution using the&#160;<a shape="rect" class="external-link" href="http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#programmatic_lookup" style="text-decoration: underline;" rel="nofollow">programmatic lookup</a>&#160;mechanism.</p><p>Camel CDI provides for convenience the annotation literals corresponding to the
  CDI qualifiers that you can use for standard injection of Camel primitives. These annotation literals can be used in conjunction with the<strong><code> javax.enterprise.inject.Instance</code></strong>&#160;interface which is the CDI entry point to perform lazy injection / programmatic lookup.</p><p>For example, you can use the provided annotation literal for the&#160;<strong><code>@Uri</code></strong> qualifier to lazily lookup for Camel primitives, e.g. for&#160;<strong><code>ProducerTemplate</code></strong> beans:</p><div class="listingblock"><div class="content"><div class="line"><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[@Any
 @Inject
 Instance&lt;ProducerTemplate&gt; producers;
@@ -478,7 +482,7 @@ Instance&lt;ProducerTemplate&gt; produce
 ProducerTemplate inbound = producers
     .select(Uri.Literal.of(&quot;direct:inbound&quot;))
     .get();]]></script>
-</div></div><p>&#160;</p></div><div class="line">Or for&#160;<strong><code>Endpoint</code></strong>&#160;beans, e.g.:</div></div></div><div class="paragraph"><p>&#160;</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div></div><div class="line">Or for&#160;<strong><code>Endpoint</code></strong>&#160;beans, e.g.:</div></div></div><div class="paragraph"><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[@Any
 @Inject
 Instance&lt;Endpoint&gt; endpoints;
@@ -486,7 +490,7 @@ Instance&lt;Endpoint&gt; endpoints;
 MockEndpoint outbound = endpoints
     .select(MockEndpoint.class, Uri.Literal.of(&quot;mock:outbound&quot;))
     .get();]]></script>
-</div></div><p>&#160;</p></div><div class="paragraph"><p>Similarly, you can use the provided annotation literal for the<strong><code> @ContextName</code></strong>&#160;qualifier to lazily lookup for&#160;<strong><code>CamelContext</code></strong>&#160;beans, e.g.:</p></div><div class="listingblock"><div class="content"><div class="line"><p>&#160;</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div></div><div class="paragraph"><p>Similarly, you can use the provided annotation literal for the<strong><code> @ContextName</code></strong>&#160;qualifier to lazily lookup for&#160;<strong><code>CamelContext</code></strong>&#160;beans, e.g.:</p></div><div class="listingblock"><div class="content"><div class="line"><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[@Any
 @Inject
 Instance&lt;CamelContext&gt; contexts;
@@ -494,7 +498,7 @@ Instance&lt;CamelContext&gt; contexts;
 CamelContext context = contexts
     .select(ContextName.Literal.of(&quot;foo&quot;))
     .get();]]></script>
-</div></div><p>&#160;</p></div></div></div><div class="paragraph"><p>You can also refined the selection based on the Camel context type, e.g.:</p></div><div class="listingblock"><div class="content"><div class="line"><p>&#160;</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div></div></div></div><div class="paragraph"><p>You can also refined the selection based on the Camel context type, e.g.:</p></div><div class="listingblock"><div class="content"><div class="line"><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[@Any
 @Inject
 Instance&lt;CamelContext&gt; contexts;
@@ -505,16 +509,16 @@ Instance&lt;DefaultCamelContext&gt; cont
 // Check if such a bean exists then retrieve a reference 
 if (!context.isUnsatisfied())
     context.get();]]></script>
-</div></div><p>&#160;</p></div></div></div><div class="paragraph"><p>Or even iterate over a selection of Camel contexts, e.g.:</p></div><div class="listingblock"><div class="content"><div class="line"><p>&#160;</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div></div></div></div><div class="paragraph"><p>Or even iterate over a selection of Camel contexts, e.g.:</p></div><div class="listingblock"><div class="content"><div class="line"><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[@Any
 @Inject
 Instance&lt;CamelContext&gt; contexts;
  
 for (CamelContext context : contexts)
     context.setUseBreadcrumb(true);]]></script>
-</div></div><p>&#160;</p></div></div></div><h3 id="CDI-MavenArchetype">Maven Archetype</h3><p>Among the available&#160;<a shape="rect" href="camel-maven-archetypes.html">Camel Maven archetypes</a>, you can use the provided&#160;<strong><code>camel-archetype-cdi</code></strong>&#160;to generate a Camel CDI Maven project, e.g.:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div></div></div></div><h3 id="CDI-MavenArchetype">Maven Archetype</h3><p>Among the available&#160;<a shape="rect" href="camel-maven-archetypes.html">Camel Maven archetypes</a>, you can use the provided&#160;<strong><code>camel-archetype-cdi</code></strong>&#160;to generate a Camel CDI Maven project, e.g.:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: bash; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[mvn archetype:generate -DarchetypeGroupId=org.apache.camel.archetypes -DarchetypeArtifactId=camel-archetype-cdi]]></script>
-</div></div><h3 id="CDI-SupportedContainers">Supported Containers</h3><p>The Camel CDI component is compatible with any CDI 1.0, CDI 1.1 and CDI 1.2 compliant runtime. It's been successfully tested against the following runtimes:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Container</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Version</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Runtime</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Weld SE</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1.1.28.Final</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>CDI 1.0 / Java SE 7</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>OpenWebBeans</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1.2.7</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>CDI 1.0 / Java SE 7</p></td></tr><tr
 ><td colspan="1" rowspan="1" class="confluenceTd"><p>Weld SE</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>2.3.4.Final</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>CDI 1.2 / Java SE 7</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>OpenWebBeans</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1.6.3</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>CDI 1.2 / Java SE 7</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>WildFly</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>8.2.1.Final</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>CDI 1.2 / Java EE 7</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>WildFly</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>9.0.1.Final</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>CDI 1.2 / Java EE 7</p></td></tr><tr><td colspan="1" rowspan="1" c
 lass="confluenceTd"><p>WildFly</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>10.0.0.Final</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>CDI 1.2 / Java EE 7</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Karaf</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>2.4.4</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>CDI 1.2 / <span>OSGi 4 / PAX CDI</span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Karaf</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>3.0.5</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>CDI 1.2 / <span>OSGi 5 / PAX CDI</span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Karaf</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>4.0.4</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>CDI 1.2 / <span>OSGi 6 / PAX CDI</span></p></td></tr></tbody></table></div><h3
  id="CDI-Examples">Examples</h3><p>The following examples are available in the <strong><code>examples</code></strong> directory of the Camel project:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Example</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code><span>camel-example-cdi</span></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Illustrates how to work with Camel using CDI to configure components, endpoints and beans</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code><span>camel-example-cdi-kubernetes</span></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Illustrates the integration between Camel, CDI and Kubernetes</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code><span>camel-example-cdi-metrics</span></code></p></td><td cols
 pan="1" rowspan="1" class="confluenceTd"><p>Illustrates the integration between Camel, Dropwizard Metrics and CDI</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code><span>camel-example-cdi-properties</span></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Illustrates the integration between Camel, DeltaSpike and CDI for configuration properties</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code><span>camel-example-cdi-osgi</span></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A&#160;CDI application using the SJMS component that can be executed inside an OSGi container using PAX CDI</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code><span>camel-example-cdi-test</span></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Demonstrates the testing features that are provided as part of the integration between Camel and CDI</p></td></tr><tr><td colspan="1" rowspan="1
 " class="confluenceTd"><p><code><span>camel-example-cdi-rest-servlet</span></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Illustrates the Camel REST DSL being used in a Web application that uses CDI as dependency injection framework</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>camel-example-cdi-xml</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span>Illustrates the use of Camel XML configuration files into a Camel CDI application</span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code><span>camel-example-widget-gadget-cdi</span></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Widget and Gadget use-case from the EIP book implemented in Java with CDI dependency injection</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code><span>camel-example-swagger-cdi</span></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>An example using 
 REST DSL and Swagger Java with CDI</p></td></tr></tbody></table></div><h3 id="CDI-SeeAlso">See Also</h3><ul><li><a shape="rect" href="cdi-testing.html">Camel CDI Testing</a></li><li><a shape="rect" class="external-link" href="http://www.cdi-spec.org" rel="nofollow">CDI Web site</a></li><li><a shape="rect" class="external-link" href="http://www.cdi-spec.org/ecosystem/" rel="nofollow">CDI ecosystem</a></li><li><a shape="rect" class="external-link" href="https://github.com/astefanutti/further-cdi" rel="nofollow">Going further with CDI</a> (See Camel CDI section)</li></ul></div>
+</div></div><h3 id="CDI-SupportedContainers">Supported Containers</h3><p>The Camel CDI component is compatible with any CDI 1.0, CDI 1.1 and CDI 1.2 compliant runtime. It's been successfully tested against the following runtimes:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Container</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Version</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Runtime</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Weld SE</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1.1.28.Final</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>CDI 1.0 / Java SE 7</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>OpenWebBeans</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1.2.7</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>CDI 1.0 / Java SE 7</p></td></tr><tr
 ><td colspan="1" rowspan="1" class="confluenceTd"><p>Weld SE</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>2.4.1.Final</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>CDI 1.2 / Java SE 7</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>OpenWebBeans</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1.7.0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>CDI 1.2 / Java SE 7</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>WildFly</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>8.2.1.Final</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>CDI 1.2 / Java EE 7</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>WildFly</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>9.0.1.Final</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>CDI 1.2 / Java EE 7</p></td></tr><tr><td colspan="1" rowspan="1" c
 lass="confluenceTd"><p>WildFly</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>10.0.0.Final</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>CDI 1.2 / Java EE 7</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Karaf</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>2.4.4</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>CDI 1.2 / <span>OSGi 4 / PAX CDI</span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Karaf</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>3.0.5</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>CDI 1.2 / <span>OSGi 5 / PAX CDI</span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Karaf</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>4.0.4</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>CDI 1.2 / <span>OSGi 6 / PAX CDI</span></p></td></tr></tbody></table></div><h3
  id="CDI-Examples">Examples</h3><p>The following examples are available in the <strong><code>examples</code></strong> directory of the Camel project:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Example</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code><span>camel-example-cdi</span></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Illustrates how to work with Camel using CDI to configure components, endpoints and beans</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code><span>camel-example-cdi-kubernetes</span></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Illustrates the integration between Camel, CDI and Kubernetes</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code><span>camel-example-cdi-metrics</span></code></p></td><td cols
 pan="1" rowspan="1" class="confluenceTd"><p>Illustrates the integration between Camel, Dropwizard Metrics and CDI</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code><span>camel-example-cdi-properties</span></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Illustrates the integration between Camel, DeltaSpike and CDI for configuration properties</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code><span>camel-example-cdi-osgi</span></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A&#160;CDI application using the SJMS component that can be executed inside an OSGi container using PAX CDI</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code><span>camel-example-cdi-test</span></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Demonstrates the testing features that are provided as part of the integration between Camel and CDI</p></td></tr><tr><td colspan="1" rowspan="1
 " class="confluenceTd"><p><code><span>camel-example-cdi-rest-servlet</span></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Illustrates the Camel REST DSL being used in a Web application that uses CDI as dependency injection framework</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>camel-example-cdi-xml</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span>Illustrates the use of Camel XML configuration files into a Camel CDI application</span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code><span>camel-example-widget-gadget-cdi</span></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The Widget and Gadget use-case from the EIP book implemented in Java with CDI dependency injection</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code><span>camel-example-swagger-cdi</span></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>An example using 
 REST DSL and Swagger Java with CDI</p></td></tr></tbody></table></div><h3 id="CDI-SeeAlso">See Also</h3><ul><li><a shape="rect" href="cdi-testing.html">Camel CDI Testing</a></li><li><a shape="rect" class="external-link" href="http://www.cdi-spec.org" rel="nofollow">CDI Web site</a></li><li><a shape="rect" class="external-link" href="http://www.cdi-spec.org/ecosystem/" rel="nofollow">CDI ecosystem</a></li><li><a shape="rect" class="external-link" href="https://github.com/astefanutti/further-cdi" rel="nofollow">Going further with CDI</a> (See Camel CDI section)</li></ul></div>
         </td>
         <td valign="top">
           <div class="navigation">