Author: buildbot
Date: Thu Mar 10 11:19:33 2016
New Revision: 982383

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/book-cookbook.html
    websites/production/camel/content/book-in-one-page.html
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/testing.html

Modified: websites/production/camel/content/book-cookbook.html
==============================================================================
--- websites/production/camel/content/book-cookbook.html (original)
+++ websites/production/camel/content/book-cookbook.html Thu Mar 10 11:19:33 
2016
@@ -1351,26 +1351,7 @@ public class IsMockEndpointsAndSkipJUnit
 ]]></script>
 </div></div><div class="confluence-information-macro 
confluence-information-macro-tip"><p class="title">time units</p><span 
class="aui-icon aui-icon-small aui-iconfont-approve 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>In the example above we use 
<code>seconds</code> as the time unit, but Camel offers 
<code>milliseconds</code>, and <code>minutes</code> as 
well.</p></div></div><p></p><h3 id="Bookcookbook-SeeAlso">See Also</h3>
 <ul><li><a shape="rect" href="configuring-camel.html">Configuring 
Camel</a></li><li><a shape="rect" 
href="component.html">Component</a></li><li><a shape="rect" 
href="endpoint.html">Endpoint</a></li><li><a shape="rect" 
href="getting-started.html">Getting Started</a></li></ul><ul><li><a 
shape="rect" href="spring-testing.html">Spring Testing</a></li><li><a 
shape="rect" href="testing.html">Testing</a></li></ul>
-<h2 id="Bookcookbook-Testing">Testing</h2>
-
-<p>Testing is a crucial activity in any piece of software development or 
integration. Typically Camel Riders use various different <a shape="rect" 
href="components.html">technologies</a> wired together in a variety of <a 
shape="rect" href="enterprise-integration-patterns.html">patterns</a> with 
different <a shape="rect" href="languages.html">expression languages</a> 
together with different forms of <a shape="rect" 
href="bean-integration.html">Bean Integration</a> and <a shape="rect" 
href="dependency-injection.html">Dependency Injection</a> so its very easy for 
things to go wrong! <img class="emoticon emoticon-smile" 
src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/smile.png";
 data-emoticon-name="smile" alt="(smile)"> . Testing is the crucial weapon to 
ensure that things work as you would expect.</p>
-
-<p>Camel is a Java library so you can easily wire up tests in whatever unit 
testing framework you use (JUnit 3.x (deprecated), 4.x, or TestNG). However the 
Camel project has tried to make the testing of Camel as easy and powerful as 
possible so we have introduced the following features.</p>
-
-<h3 id="Bookcookbook-Testingmechanisms">Testing mechanisms</h3>
-
-<p>The following mechanisms are supported</p>
-
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p> Component </p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" 
href="camel-test.html">Camel Test</a> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>camel-test</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> Is a standalone Java library letting you 
easily create Camel test cases using a single Java class for all your 
configuration and routing without using <a shape="rect" 
href="spring.html">Spring</a> or <a shape="rect" href="guice.html">Guice</a> 
for <a shape="rect" href="dependency-injection.html">Dependency 
Injection</a>&#160;which does not require an in-depth knowledge of Spring + 
Spring Test or Guice. &#160;Supports JUnit 3.x (deprecated) and JUnit 
 4.x based tests. </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <a shape="rect" href="spring-testing.html">Spring 
Testing</a> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>camel-test-spring</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Supports JUnit 3.x (deprecated) or JUnit 4.x based 
tests that bootstrap a test environment using Spring without needing to be 
familiar with Spring Test. &#160;The &#160;plain JUnit 3.x/4.x based tests work 
very similar to the test support classes in camel-test. &#160;Also supports 
Spring Test based tests that use the declarative style of test configuration 
and injection common in Spring Test. &#160;The Spring Test based tests provide 
feature parity with the plain JUnit 3.x/4.x based testing approach. 
&#160;Notice <code>camel-test-spring</code> is a new component in <strong>Camel 
2.10</strong> onwards. For older Camel release use <code>camel-test</code> 
which has built-in <a shape="re
 ct" href="spring-testing.html">Spring Testing</a>. </p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" 
href="blueprint-testing.html">Blueprint Testing</a> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <code>camel-test-blueprint</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 
2.10:</strong> Provides the ability to do unit testing on blueprint 
configurations </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <a shape="rect" href="guice.html">Guice</a> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>camel-guice</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Uses <a shape="rect" href="guice.html">Guice</a> to 
dependency inject your test classes </p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p> Camel TestNG </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> camel-testng <br clear="none" 
class="atl-forced-newlin
 e"> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Supports 
plain TestNG based tests&#160;with or without&#160;<a shape="rect" 
href="spring.html">Spring</a>&#160;or&#160;<a shape="rect" 
href="guice.html">Guice</a>&#160;for&#160;<a shape="rect" 
href="dependency-injection.html">Dependency Injection</a>&#160;which does not 
require an in-depth knowledge of Spring + Spring Test or Guice. &#160;Also from 
<strong>Camel 2.10</strong> onwards, this component supports Spring 
Test&#160;based tests that use the declarative style of test configuration and 
injection common in Spring Test and described in more detail under <a 
shape="rect" href="spring-testing.html">Spring Testing</a>. 
</p></td></tr></tbody></table></div>
-
-
-<p>In all approaches the test classes look pretty much the same in that they 
all reuse the <a shape="rect" href="bean-integration.html">Camel binding and 
injection annotations</a>.</p>
-
-<h4 id="Bookcookbook-CamelTestExample">Camel Test Example</h4>
-
-<p>Here is the <a shape="rect" href="camel-test.html">Camel Test</a> <a 
shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-test/src/test/java/org/apache/camel/test/patterns/FilterTest.java";>example</a>.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+<h2 id="Bookcookbook-Testing">Testing</h2><p>Testing is a crucial activity in 
any piece of software development or integration. Typically Camel Riders use 
various different <a shape="rect" href="components.html">technologies</a> wired 
together in a variety of <a shape="rect" 
href="enterprise-integration-patterns.html">patterns</a> with different <a 
shape="rect" href="languages.html">expression languages</a> together with 
different forms of <a shape="rect" href="bean-integration.html">Bean 
Integration</a> and <a shape="rect" href="dependency-injection.html">Dependency 
Injection</a> so its very easy for things to go wrong! <img class="emoticon 
emoticon-smile" 
src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/smile.png";
 data-emoticon-name="smile" alt="(smile)"> . Testing is the crucial weapon to 
ensure that things work as you would expect.</p><p>Camel is a Java library so 
you can easily wire up tests in whatever un
 it testing framework you use (JUnit 3.x (deprecated), 4.x, or TestNG). However 
the Camel project has tried to make the testing of Camel as easy and powerful 
as possible so we have introduced the following features.</p><h3 
id="Bookcookbook-Testingmechanisms">Testing mechanisms</h3><p>The following 
mechanisms are supported</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Component</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="camel-test.html">Camel Test</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>camel-test</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Is a standalone Java library letting you 
easily create Camel test cases using a single Java class for all your 
configuration and routing wi
 thout using <a shape="rect" href="spring.html">Spring</a> or <a shape="rect" 
href="guice.html">Guice</a> for <a shape="rect" 
href="dependency-injection.html">Dependency Injection</a>&#160;which does not 
require an in-depth knowledge of Spring + Spring Test or Guice. &#160;Supports 
JUnit 3.x (deprecated) and JUnit 4.x based tests.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><a shape="rect" 
href="cdi-testing.html">CDI Testing</a></td><td colspan="1" rowspan="1" 
class="confluenceTd"><code>camel-test-cdi</code></td><td colspan="1" 
rowspan="1" class="confluenceTd"><span style="color: rgb(0,0,0);">Provides a 
JUnit 4 runner that bootstraps a test environment using CDI so that you don't 
have to be familiar with any CDI testing frameworks and can concentrate on the 
testing logic of your Camel CDI applications. Testing frameworks like <a 
shape="rect" class="external-link" href="http://arquillian.org"; 
rel="nofollow">Arquillian</a> or <a shape="rect" class="external-link" 
 href="https://ops4j1.jira.com/wiki/display/PAXEXAM4"; rel="nofollow">PAX 
Exam</a>, can be used for more advanced test cases, where you need to configure 
your system under test in a very fine-grained way or target specific CDI 
containers.</span></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="spring-testing.html">Spring 
Testing</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>camel-test-spring</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Supports JUnit 3.x (deprecated) or JUnit 
4.x based tests that bootstrap a test environment using Spring without needing 
to be familiar with Spring Test. The plain JUnit 3.x/4.x based tests work very 
similar to the test support classes in <code>camel-test</code>. &#160;Also 
supports Spring Test based tests that use the declarative style of test 
configuration and injection common in Spring Test. &#160;The Spring Test based 
tests provide feature parity with the plain JUnit 
 3.x/4.x based testing approach. &#160;Notice <code>camel-test-spring</code> is 
a new component in <strong>Camel 2.10</strong> onwards. For older Camel release 
use <code>camel-test</code> which has built-in <a shape="rect" 
href="spring-testing.html">Spring Testing</a>.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="blueprint-testing.html">Blueprint Testing</a></p></td><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>camel-test-blueprint</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Provides the ability to do unit testing on blueprint 
configurations</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="guice.html">Guice</a></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>camel-guice</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Uses <a shape="rect" 
href="guice.html">Guice</a> to dependency inject your test cl
 asses</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Camel TestNG</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>camel-testng</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Supports plain TestNG based tests&#160;with 
or without&#160;<a shape="rect" href="spring.html">Spring</a>&#160;or&#160;<a 
shape="rect" href="guice.html">Guice</a>&#160;for&#160;<a shape="rect" 
href="dependency-injection.html">Dependency Injection</a>&#160;which does not 
require an in-depth knowledge of Spring + Spring Test or Guice. &#160;Also from 
<strong>Camel 2.10</strong> onwards, this component supports Spring 
Test&#160;based tests that use the declarative style of test configuration and 
injection common in Spring Test and described in more detail under <a 
shape="rect" href="spring-testing.html">Spring 
Testing</a>.</p></td></tr></tbody></table></div><p>In all approaches the test 
classes look pretty much the same in that they all reuse the <a shape=
 "rect" href="bean-integration.html">Camel binding and injection 
annotations</a>.</p><h4 id="Bookcookbook-CamelTestExample">Camel Test 
Example</h4><p>Here is the <a shape="rect" href="camel-test.html">Camel 
Test</a> <a shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-test/src/test/java/org/apache/camel/test/patterns/FilterTest.java";>example</a>.</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[
 public class FilterTest extends CamelTestSupport {
 
@@ -1415,15 +1396,7 @@ public class FilterTest extends CamelTes
     }
 }
 ]]></script>
-</div></div>
-
-<p>Notice how it derives from the Camel helper class 
<strong>CamelTestSupport</strong> but has no Spring or Guice dependency 
injection configuration but instead overrides the 
<strong>createRouteBuilder()</strong> method.</p>
-
-<h4 id="Bookcookbook-SpringTestwithXMLConfigExample">Spring Test with XML 
Config Example</h4>
-
-<p>Here is the <a shape="rect" href="spring-testing.html">Spring Testing</a> 
<a shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/patterns/FilterTest.java";>example
 using XML Config</a>.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+</div></div>Notice how it derives from the Camel helper class 
<strong>CamelTestSupport</strong> but has no Spring or Guice dependency 
injection configuration but instead overrides the 
<strong>createRouteBuilder()</strong> method.<h4 
id="Bookcookbook-SpringTestwithXMLConfigExample">Spring Test with XML Config 
Example</h4><p>Here is the <a shape="rect" href="spring-testing.html">Spring 
Testing</a> <a shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/patterns/FilterTest.java";>example
 using XML Config</a>.</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[
 @ContextConfiguration
 public class FilterTest extends SpringRunWithTestSupport {
@@ -1457,13 +1430,7 @@ public class FilterTest extends SpringRu
     }
 }
 ]]></script>
-</div></div>
-
-<p>Notice that we use <strong>@DirtiesContext</strong> on the test methods to 
force <a shape="rect" href="spring-testing.html">Spring Testing</a> to 
automatically reload the <a shape="rect" 
href="camelcontext.html">CamelContext</a> after each test method - this ensures 
that the tests don't clash with each other (e.g. one test method sending to an 
endpoint that is then reused in another test method).</p>
-
-<p>Also notice the use of <strong>@ContextConfiguration</strong> to indicate 
that by default we should look for the <a shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/patterns/FilterTest-context.xml";>FilterTest-context.xml
 on the classpath</a> to configure the test case which looks like this</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+</div></div>Notice that we use <strong>@DirtiesContext</strong> on the test 
methods to force <a shape="rect" href="spring-testing.html">Spring Testing</a> 
to automatically reload the <a shape="rect" 
href="camelcontext.html">CamelContext</a> after each test method - this ensures 
that the tests don't clash with each other (e.g. one test method sending to an 
endpoint that is then reused in another test method).<p>Also notice the use of 
<strong>@ContextConfiguration</strong> to indicate that by default we should 
look for the <a shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/patterns/FilterTest-context.xml";>FilterTest-context.xml
 on the classpath</a> to configure the test case which looks like this</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;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;
        xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
@@ -1485,15 +1452,7 @@ public class FilterTest extends SpringRu
 
 &lt;/beans&gt;
 ]]></script>
-</div></div>
-
-<h4 id="Bookcookbook-SpringTestwithJavaConfigExample">Spring Test with Java 
Config Example</h4>
-
-<p>Here is the <a shape="rect" href="spring-testing.html">Spring Testing</a> 
<a shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/patterns/FilterTest.java";>example
 using Java Config</a>. </p>
-
-<p>For more information see <a shape="rect" 
href="spring-java-config.html">Spring Java Config</a>.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+</div></div><h4 id="Bookcookbook-SpringTestwithJavaConfigExample">Spring Test 
with Java Config Example</h4><p>Here is the <a shape="rect" 
href="spring-testing.html">Spring Testing</a> <a shape="rect" 
class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/patterns/FilterTest.java";>example
 using Java Config</a>.</p><p>For more information see <a shape="rect" 
href="spring-java-config.html">Spring Java Config</a>.</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[
 
 @RunWith(CamelSpringJUnit4ClassRunner.class)
@@ -1541,14 +1500,7 @@ public class FilterTest extends Abstract
     }
 }
 ]]></script>
-</div></div>
-
-<p>This is similar to the XML Config example above except that there is no XML 
file and instead the nested <strong>ContextConfig</strong> class does all of 
the configuration; so your entire test case is contained in a single Java 
class. We currently have to reference by class name this class in the 
<strong>@ContextConfiguration</strong> which is a bit ugly. Please vote for <a 
shape="rect" class="external-link" 
href="http://jira.springframework.org/browse/SJC-238"; 
rel="nofollow">SJC-238</a> to address this and make Spring Test work more 
cleanly with Spring JavaConfig.</p>
-
-<p>Its totally optional but for the ContextConfig implementation we derive 
from <strong>SingleRouteCamelConfiguration</strong> which is a helper Spring 
Java Config class which will configure the CamelContext for us and then 
register the RouteBuilder we create.</p>
-
-<p>Since <strong>Camel 2.11.0</strong> you can use the 
CamelSpringJUnit4ClassRunner with CamelSpringDelegatingTestContextLoader like 
<a shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/test/CamelSpringDelegatingTestContextLoaderTest.java";>example
 using Java Config with CamelSpringJUnit4ClassRunner</a>.<br clear="none">
-</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+</div></div>This is similar to the XML Config example above except that there 
is no XML file and instead the nested <strong>ContextConfig</strong> class does 
all of the configuration; so your entire test case is contained in a single 
Java class. We currently have to reference by class name this class in the 
<strong>@ContextConfiguration</strong> which is a bit ugly. Please vote for <a 
shape="rect" class="external-link" 
href="http://jira.springframework.org/browse/SJC-238"; 
rel="nofollow">SJC-238</a> to address this and make Spring Test work more 
cleanly with Spring JavaConfig.<p>Its totally optional but for the 
ContextConfig implementation we derive from 
<strong>SingleRouteCamelConfiguration</strong> which is a helper Spring Java 
Config class which will configure the CamelContext for us and then register the 
RouteBuilder we create.</p><p>Since <strong>Camel 2.11.0</strong> you can use 
the CamelSpringJUnit4ClassRunner with CamelSpringDelegatingTestContextLoader 
like <a shape="rect" cl
 ass="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/test/CamelSpringDelegatingTestContextLoaderTest.java";>example
 using Java Config with CamelSpringJUnit4ClassRunner</a>:</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[
 @RunWith(CamelSpringJUnit4ClassRunner.class)
 @ContextConfiguration(
@@ -1597,13 +1549,7 @@ public class CamelSpringDelegatingTestCo
     }
 }
 ]]></script>
-</div></div>.
-
-<h4 
id="Bookcookbook-SpringTestwithXMLConfigandDeclarativeConfigurationExample">Spring
 Test with XML Config and Declarative Configuration Example</h4>
-
-<p>Here is a Camel test support enhanced&#160;<a shape="rect" 
href="spring-testing.html">Spring Testing</a>&#160;<a shape="rect" 
class="external-link" 
href="https://svn.apache.org/repos/asf/camel/trunk/components/camel-test-spring/src/test/java/org/apache/camel/test/spring/CamelSpringJUnit4ClassRunnerPlainTest.java";>example
 using XML Config and pure Spring Test based configuration of the Camel 
Context</a>.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+</div></div><h4 
id="Bookcookbook-SpringTestwithXMLConfigandDeclarativeConfigurationExample">Spring
 Test with XML Config and Declarative Configuration Example</h4><p>Here is a 
Camel test support enhanced&#160;<a shape="rect" 
href="spring-testing.html">Spring Testing</a>&#160;<a shape="rect" 
class="external-link" 
href="https://svn.apache.org/repos/asf/camel/trunk/components/camel-test-spring/src/test/java/org/apache/camel/test/spring/CamelSpringJUnit4ClassRunnerPlainTest.java";>example
 using XML Config and pure Spring Test based configuration of the Camel 
Context</a>:</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[
 @RunWith(CamelSpringJUnit4ClassRunner.class)
 // must tell Spring to bootstrap with Camel
@@ -1690,15 +1636,7 @@ public class CamelSpringJUnit4ClassRunne
     }
 }
 ]]></script>
-</div></div>
-
-<p>Notice how a custom test runner is used with 
the&#160;<strong>@RunWith</strong>&#160;annotation to support the features 
of&#160;<strong>CamelTestSupport</strong>&#160;through annotations on the test 
class. &#160;See&#160;<a shape="rect" href="spring-testing.html">Spring 
Testing</a>&#160;for a list of annotations you can use in your tests.</p>
-
-<h4 id="Bookcookbook-BlueprintTest">Blueprint Test</h4>
-
-<p>Here is the <a shape="rect" href="blueprint-testing.html">Blueprint 
Testing</a> <a shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/DebugBlueprintTest.java";>example
 using XML Config</a>.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+</div></div>Notice how a custom test runner is used with 
the&#160;<strong>@RunWith</strong>&#160;annotation to support the features 
of&#160;<strong>CamelTestSupport</strong>&#160;through annotations on the test 
class. &#160;See&#160;<a shape="rect" href="spring-testing.html">Spring 
Testing</a>&#160;for a list of annotations you can use in your tests.<h4 
id="Bookcookbook-BlueprintTest">Blueprint Test</h4><p>Here is the <a 
shape="rect" href="blueprint-testing.html">Blueprint Testing</a> <a 
shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/DebugBlueprintTest.java";>example
 using XML Config</a>:</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[
 // to use camel-test-blueprint, then extend the CamelBlueprintTestSupport 
class,
 // and add your unit tests methods as shown below.
@@ -1750,11 +1688,7 @@ public class DebugBlueprintTest extends
     }
 }
 ]]></script>
-</div></div>
-
-<p>Also notice the use of 
<code><strong>getBlueprintDescriptors</strong></code> to indicate that by 
default we should look for the <a shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/camelContext.xml";>camelContext.xml
 in the package</a> to configure the test case which looks like this</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+</div></div>Also notice the use of 
<code><strong>getBlueprintDescriptors</strong></code> to indicate that by 
default we should look for the <a shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/camelContext.xml";>camelContext.xml
 in the package</a> to configure the test case which looks like this:<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;blueprint xmlns=&quot;http://www.osgi.org/xmlns/blueprint/v1.0.0&quot;
            xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
@@ -1775,29 +1709,7 @@ public class DebugBlueprintTest extends
 
 &lt;/blueprint&gt;
 ]]></script>
-</div></div>
-
-<h3 id="Bookcookbook-Testingendpoints">Testing endpoints</h3>
-
-<p>Camel provides a number of endpoints which can make testing easier.</p>
-
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" 
href="dataset.html">DataSet</a> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> For load &amp; soak testing this endpoint provides a 
way to create huge numbers of messages for sending to <a shape="rect" 
href="components.html">Components</a> and asserting that they are consumed 
correctly </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <a shape="rect" href="mock.html">Mock</a> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> For testing routes and 
mediation rules using mocks and allowing assertions to be added to an endpoint 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <a 
shape="rect" href="test.html">Test</a> </p></td><td colspan
 ="1" rowspan="1" class="confluenceTd"><p> Creates a <a shape="rect" 
href="mock.html">Mock</a> endpoint which expects to receive all the message 
bodies that could be polled from the given underlying endpoint 
</p></td></tr></tbody></table></div>
-
-
-<p>The main endpoint is the <a shape="rect" href="mock.html">Mock</a> endpoint 
which allows expectations to be added to different endpoints; you can then run 
your tests and assert that your expectations are met at the end.</p>
-
-<h3 id="Bookcookbook-Stubbingoutphysicaltransporttechnologies">Stubbing out 
physical transport technologies</h3>
-
-<p>If you wish to test out a route but want to avoid actually using a real 
physical transport (for example to unit test a transformation route rather than 
performing a full integration test) then the following endpoints can be 
useful.</p>
-
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" 
href="direct.html">Direct</a> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Direct invocation of the consumer from the producer so 
that single threaded (non-SEDA) in VM invocation is performed which can be 
useful to mock out physical transports </p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <a shape="rect" href="seda.html">SEDA</a> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Delivers messages 
asynchonously to consumers via a <a shape="rect" class="external-link" 
href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/BlockingQueue.html";
 rel="nofollow">java.util.concurrent.BlockingQueue</a> which is good for 
testing asynchronous transpo
 rts </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <a 
shape="rect" href="stub.html">Stub</a> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Works like <a shape="rect" href="seda.html">SEDA</a> 
but does not validate the endpoint uri, which makes stubbing much easier. 
</p></td></tr></tbody></table></div>
-
-
-<h3 id="Bookcookbook-Testingexistingroutes">Testing existing routes</h3>
-
-<p>Camel provides some features to aid during testing of existing routes where 
you cannot or will not use <a shape="rect" href="mock.html">Mock</a> etc. For 
example you may have a production ready route which you want to test with some 
3rd party API which sends messages into this route.</p>
-
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" 
href="notifybuilder.html">NotifyBuilder</a> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> Allows you to be notified when a certain 
condition has occurred. For example when the route has completed 5 messages. 
You can build complex expressions to match your criteria when to be notified. 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <a 
shape="rect" href="advicewith.html">AdviceWith</a> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> Allows you to <strong>advice</strong> or 
<strong>enhance</strong> an existing route using a <a shape="rect" 
href="routebuilder.html">RouteBuilder</a> style. For example you can add 
interceptors to intercept sending outgoing
  messages to assert those messages are as expected. 
</p></td></tr></tbody></table></div>
+</div></div><h3 id="Bookcookbook-Testingendpoints">Testing 
endpoints</h3><p>Camel provides a number of endpoints which can make testing 
easier.</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="dataset.html">DataSet</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For load &amp; soak testing this endpoint provides a 
way to create huge numbers of messages for sending to <a shape="rect" 
href="components.html">Components</a> and asserting that they are consumed 
correctly</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="mock.html">Mock</a></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>For testing routes and 
mediation rules using mocks and allowing assertions to be added to an endpoi
 nt</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
shape="rect" href="test.html">Test</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Creates a <a shape="rect" href="mock.html">Mock</a> 
endpoint which expects to receive all the message bodies that could be polled 
from the given underlying endpoint</p></td></tr></tbody></table></div><p>The 
main endpoint is the <a shape="rect" href="mock.html">Mock</a> endpoint which 
allows expectations to be added to different endpoints; you can then run your 
tests and assert that your expectations are met at the end.</p><h3 
id="Bookcookbook-Stubbingoutphysicaltransporttechnologies">Stubbing out 
physical transport technologies</h3><p>If you wish to test out a route but want 
to avoid actually using a real physical transport (for example to unit test a 
transformation route rather than performing a full integration test) then the 
following endpoints can be useful.</p><div class="table-wrap"><table 
class="confluenc
 eTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="direct.html">Direct</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Direct invocation of the consumer from the producer so 
that single threaded (non-SEDA) in VM invocation is performed which can be 
useful to mock out physical transports</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="seda.html">SEDA</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Delivers messages asynchonously to consumers via a <a 
shape="rect" class="external-link" 
href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/BlockingQueue.html";
 rel="nofollow">java.util.concurrent.BlockingQueue</a> which is good for 
testing asynchronous transports</p></td></tr><tr><td colspan="1" rowspan="1" 
class="co
 nfluenceTd"><p><a shape="rect" href="stub.html">Stub</a></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Works like <a shape="rect" 
href="seda.html">SEDA</a> but does not validate the endpoint uri, which makes 
stubbing much easier.</p></td></tr></tbody></table></div><h3 
id="Bookcookbook-Testingexistingroutes">Testing existing routes</h3><p>Camel 
provides some features to aid during testing of existing routes where you 
cannot or will not use <a shape="rect" href="mock.html">Mock</a> etc. For 
example you may have a production ready route which you want to test with some 
3rd party API which sends messages into this route.</p><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="notifybuilder.html">NotifyBuilder</a></p></td><td colspan="1" rowspan
 ="1" class="confluenceTd"><p>Allows you to be notified when a certain 
condition has occurred. For example when the route has completed 5 messages. 
You can build complex expressions to match your criteria when to be 
notified.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" 
href="advicewith.html">AdviceWith</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Allows you to <strong>advice</strong> or 
<strong>enhance</strong> an existing route using a <a shape="rect" 
href="routebuilder.html">RouteBuilder</a> style. For example you can add 
interceptors to intercept sending outgoing messages to assert those messages 
are as expected.</p></td></tr></tbody></table></div>
 <h2 id="Bookcookbook-CamelTest">Camel Test</h2><p>As a simple alternative to 
using <a shape="rect" href="cdi-testing.html">CDI Testing</a>,&#160;<a 
shape="rect" href="spring-testing.html">Spring Testing</a> or <a shape="rect" 
href="guice.html">Guice</a> the <strong>camel-test</strong> module was 
introduced so you can perform powerful <a shape="rect" 
href="testing.html">Testing</a> of your <a shape="rect" 
href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a> 
easily.</p><div class="confluence-information-macro 
confluence-information-macro-information"><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>The <code>camel-test</code> JAR is 
using JUnit. There is an alternative <code>camel-testng</code> JAR (Camel 2.8 
onwards) using the <a shape="rect" class="external-link" 
href="http://testng.org/doc/index.html"; rel="nofollow">TestNG</a> test 
framework.</p></div></div><
 h3 id="Bookcookbook-Addingtoyourpom.xml">Adding to your pom.xml</h3><p>To get 
started using Camel Test you will need to add an entry to your pom.xml</p><h4 
id="Bookcookbook-JUnit">JUnit</h4><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;

Modified: websites/production/camel/content/book-in-one-page.html
==============================================================================
--- websites/production/camel/content/book-in-one-page.html (original)
+++ websites/production/camel/content/book-in-one-page.html Thu Mar 10 11:19:33 
2016
@@ -2414,26 +2414,7 @@ public class IsMockEndpointsAndSkipJUnit
 ]]></script>
 </div></div><div class="confluence-information-macro 
confluence-information-macro-tip"><p class="title">time units</p><span 
class="aui-icon aui-icon-small aui-iconfont-approve 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>In the example above we use 
<code>seconds</code> as the time unit, but Camel offers 
<code>milliseconds</code>, and <code>minutes</code> as 
well.</p></div></div><p></p><h3 id="BookInOnePage-SeeAlso">See Also</h3>
 <ul><li><a shape="rect" href="configuring-camel.html">Configuring 
Camel</a></li><li><a shape="rect" 
href="component.html">Component</a></li><li><a shape="rect" 
href="endpoint.html">Endpoint</a></li><li><a shape="rect" 
href="getting-started.html">Getting Started</a></li></ul><ul><li><a 
shape="rect" href="spring-testing.html">Spring Testing</a></li><li><a 
shape="rect" href="testing.html">Testing</a></li></ul>
-<h2 id="BookInOnePage-Testing">Testing</h2>
-
-<p>Testing is a crucial activity in any piece of software development or 
integration. Typically Camel Riders use various different <a shape="rect" 
href="components.html">technologies</a> wired together in a variety of <a 
shape="rect" href="enterprise-integration-patterns.html">patterns</a> with 
different <a shape="rect" href="languages.html">expression languages</a> 
together with different forms of <a shape="rect" 
href="bean-integration.html">Bean Integration</a> and <a shape="rect" 
href="dependency-injection.html">Dependency Injection</a> so its very easy for 
things to go wrong! <img class="emoticon emoticon-smile" 
src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/smile.png";
 data-emoticon-name="smile" alt="(smile)"> . Testing is the crucial weapon to 
ensure that things work as you would expect.</p>
-
-<p>Camel is a Java library so you can easily wire up tests in whatever unit 
testing framework you use (JUnit 3.x (deprecated), 4.x, or TestNG). However the 
Camel project has tried to make the testing of Camel as easy and powerful as 
possible so we have introduced the following features.</p>
-
-<h3 id="BookInOnePage-Testingmechanisms">Testing mechanisms</h3>
-
-<p>The following mechanisms are supported</p>
-
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p> Component </p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" 
href="camel-test.html">Camel Test</a> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <code>camel-test</code> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> Is a standalone Java library letting you 
easily create Camel test cases using a single Java class for all your 
configuration and routing without using <a shape="rect" 
href="spring.html">Spring</a> or <a shape="rect" href="guice.html">Guice</a> 
for <a shape="rect" href="dependency-injection.html">Dependency 
Injection</a>&#160;which does not require an in-depth knowledge of Spring + 
Spring Test or Guice. &#160;Supports JUnit 3.x (deprecated) and JUnit 
 4.x based tests. </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <a shape="rect" href="spring-testing.html">Spring 
Testing</a> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>camel-test-spring</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Supports JUnit 3.x (deprecated) or JUnit 4.x based 
tests that bootstrap a test environment using Spring without needing to be 
familiar with Spring Test. &#160;The &#160;plain JUnit 3.x/4.x based tests work 
very similar to the test support classes in camel-test. &#160;Also supports 
Spring Test based tests that use the declarative style of test configuration 
and injection common in Spring Test. &#160;The Spring Test based tests provide 
feature parity with the plain JUnit 3.x/4.x based testing approach. 
&#160;Notice <code>camel-test-spring</code> is a new component in <strong>Camel 
2.10</strong> onwards. For older Camel release use <code>camel-test</code> 
which has built-in <a shape="re
 ct" href="spring-testing.html">Spring Testing</a>. </p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" 
href="blueprint-testing.html">Blueprint Testing</a> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <code>camel-test-blueprint</code> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 
2.10:</strong> Provides the ability to do unit testing on blueprint 
configurations </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <a shape="rect" href="guice.html">Guice</a> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 
<code>camel-guice</code> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Uses <a shape="rect" href="guice.html">Guice</a> to 
dependency inject your test classes </p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p> Camel TestNG </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> camel-testng <br clear="none" 
class="atl-forced-newlin
 e"> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Supports 
plain TestNG based tests&#160;with or without&#160;<a shape="rect" 
href="spring.html">Spring</a>&#160;or&#160;<a shape="rect" 
href="guice.html">Guice</a>&#160;for&#160;<a shape="rect" 
href="dependency-injection.html">Dependency Injection</a>&#160;which does not 
require an in-depth knowledge of Spring + Spring Test or Guice. &#160;Also from 
<strong>Camel 2.10</strong> onwards, this component supports Spring 
Test&#160;based tests that use the declarative style of test configuration and 
injection common in Spring Test and described in more detail under <a 
shape="rect" href="spring-testing.html">Spring Testing</a>. 
</p></td></tr></tbody></table></div>
-
-
-<p>In all approaches the test classes look pretty much the same in that they 
all reuse the <a shape="rect" href="bean-integration.html">Camel binding and 
injection annotations</a>.</p>
-
-<h4 id="BookInOnePage-CamelTestExample">Camel Test Example</h4>
-
-<p>Here is the <a shape="rect" href="camel-test.html">Camel Test</a> <a 
shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-test/src/test/java/org/apache/camel/test/patterns/FilterTest.java";>example</a>.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+<h2 id="BookInOnePage-Testing">Testing</h2><p>Testing is a crucial activity in 
any piece of software development or integration. Typically Camel Riders use 
various different <a shape="rect" href="components.html">technologies</a> wired 
together in a variety of <a shape="rect" 
href="enterprise-integration-patterns.html">patterns</a> with different <a 
shape="rect" href="languages.html">expression languages</a> together with 
different forms of <a shape="rect" href="bean-integration.html">Bean 
Integration</a> and <a shape="rect" href="dependency-injection.html">Dependency 
Injection</a> so its very easy for things to go wrong! <img class="emoticon 
emoticon-smile" 
src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/smile.png";
 data-emoticon-name="smile" alt="(smile)"> . Testing is the crucial weapon to 
ensure that things work as you would expect.</p><p>Camel is a Java library so 
you can easily wire up tests in whatever u
 nit testing framework you use (JUnit 3.x (deprecated), 4.x, or TestNG). 
However the Camel project has tried to make the testing of Camel as easy and 
powerful as possible so we have introduced the following features.</p><h3 
id="BookInOnePage-Testingmechanisms">Testing mechanisms</h3><p>The following 
mechanisms are supported</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Component</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="camel-test.html">Camel Test</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>camel-test</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Is a standalone Java library letting you 
easily create Camel test cases using a single Java class for all your 
configuration and routing 
 without using <a shape="rect" href="spring.html">Spring</a> or <a shape="rect" 
href="guice.html">Guice</a> for <a shape="rect" 
href="dependency-injection.html">Dependency Injection</a>&#160;which does not 
require an in-depth knowledge of Spring + Spring Test or Guice. &#160;Supports 
JUnit 3.x (deprecated) and JUnit 4.x based tests.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><a shape="rect" 
href="cdi-testing.html">CDI Testing</a></td><td colspan="1" rowspan="1" 
class="confluenceTd"><code>camel-test-cdi</code></td><td colspan="1" 
rowspan="1" class="confluenceTd"><span style="color: rgb(0,0,0);">Provides a 
JUnit 4 runner that bootstraps a test environment using CDI so that you don't 
have to be familiar with any CDI testing frameworks and can concentrate on the 
testing logic of your Camel CDI applications. Testing frameworks like <a 
shape="rect" class="external-link" href="http://arquillian.org"; 
rel="nofollow">Arquillian</a> or <a shape="rect" class="external-link
 " href="https://ops4j1.jira.com/wiki/display/PAXEXAM4"; rel="nofollow">PAX 
Exam</a>, can be used for more advanced test cases, where you need to configure 
your system under test in a very fine-grained way or target specific CDI 
containers.</span></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="spring-testing.html">Spring 
Testing</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>camel-test-spring</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Supports JUnit 3.x (deprecated) or JUnit 
4.x based tests that bootstrap a test environment using Spring without needing 
to be familiar with Spring Test. The plain JUnit 3.x/4.x based tests work very 
similar to the test support classes in <code>camel-test</code>. &#160;Also 
supports Spring Test based tests that use the declarative style of test 
configuration and injection common in Spring Test. &#160;The Spring Test based 
tests provide feature parity with the plain JUni
 t 3.x/4.x based testing approach. &#160;Notice <code>camel-test-spring</code> 
is a new component in <strong>Camel 2.10</strong> onwards. For older Camel 
release use <code>camel-test</code> which has built-in <a shape="rect" 
href="spring-testing.html">Spring Testing</a>.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="blueprint-testing.html">Blueprint Testing</a></p></td><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>camel-test-blueprint</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Provides the ability to do unit testing on blueprint 
configurations</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="guice.html">Guice</a></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>camel-guice</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Uses <a shape="rect" 
href="guice.html">Guice</a> to dependency inject your test 
 classes</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Camel TestNG</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>camel-testng</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Supports plain TestNG based tests&#160;with 
or without&#160;<a shape="rect" href="spring.html">Spring</a>&#160;or&#160;<a 
shape="rect" href="guice.html">Guice</a>&#160;for&#160;<a shape="rect" 
href="dependency-injection.html">Dependency Injection</a>&#160;which does not 
require an in-depth knowledge of Spring + Spring Test or Guice. &#160;Also from 
<strong>Camel 2.10</strong> onwards, this component supports Spring 
Test&#160;based tests that use the declarative style of test configuration and 
injection common in Spring Test and described in more detail under <a 
shape="rect" href="spring-testing.html">Spring 
Testing</a>.</p></td></tr></tbody></table></div><p>In all approaches the test 
classes look pretty much the same in that they all reuse the <a shap
 e="rect" href="bean-integration.html">Camel binding and injection 
annotations</a>.</p><h4 id="BookInOnePage-CamelTestExample">Camel Test 
Example</h4><p>Here is the <a shape="rect" href="camel-test.html">Camel 
Test</a> <a shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-test/src/test/java/org/apache/camel/test/patterns/FilterTest.java";>example</a>.</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[
 public class FilterTest extends CamelTestSupport {
 
@@ -2478,15 +2459,7 @@ public class FilterTest extends CamelTes
     }
 }
 ]]></script>
-</div></div>
-
-<p>Notice how it derives from the Camel helper class 
<strong>CamelTestSupport</strong> but has no Spring or Guice dependency 
injection configuration but instead overrides the 
<strong>createRouteBuilder()</strong> method.</p>
-
-<h4 id="BookInOnePage-SpringTestwithXMLConfigExample">Spring Test with XML 
Config Example</h4>
-
-<p>Here is the <a shape="rect" href="spring-testing.html">Spring Testing</a> 
<a shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/patterns/FilterTest.java";>example
 using XML Config</a>.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+</div></div>Notice how it derives from the Camel helper class 
<strong>CamelTestSupport</strong> but has no Spring or Guice dependency 
injection configuration but instead overrides the 
<strong>createRouteBuilder()</strong> method.<h4 
id="BookInOnePage-SpringTestwithXMLConfigExample">Spring Test with XML Config 
Example</h4><p>Here is the <a shape="rect" href="spring-testing.html">Spring 
Testing</a> <a shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/patterns/FilterTest.java";>example
 using XML Config</a>.</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[
 @ContextConfiguration
 public class FilterTest extends SpringRunWithTestSupport {
@@ -2520,13 +2493,7 @@ public class FilterTest extends SpringRu
     }
 }
 ]]></script>
-</div></div>
-
-<p>Notice that we use <strong>@DirtiesContext</strong> on the test methods to 
force <a shape="rect" href="spring-testing.html">Spring Testing</a> to 
automatically reload the <a shape="rect" 
href="camelcontext.html">CamelContext</a> after each test method - this ensures 
that the tests don't clash with each other (e.g. one test method sending to an 
endpoint that is then reused in another test method).</p>
-
-<p>Also notice the use of <strong>@ContextConfiguration</strong> to indicate 
that by default we should look for the <a shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/patterns/FilterTest-context.xml";>FilterTest-context.xml
 on the classpath</a> to configure the test case which looks like this</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+</div></div>Notice that we use <strong>@DirtiesContext</strong> on the test 
methods to force <a shape="rect" href="spring-testing.html">Spring Testing</a> 
to automatically reload the <a shape="rect" 
href="camelcontext.html">CamelContext</a> after each test method - this ensures 
that the tests don't clash with each other (e.g. one test method sending to an 
endpoint that is then reused in another test method).<p>Also notice the use of 
<strong>@ContextConfiguration</strong> to indicate that by default we should 
look for the <a shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/patterns/FilterTest-context.xml";>FilterTest-context.xml
 on the classpath</a> to configure the test case which looks like this</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;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;
        xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
@@ -2548,15 +2515,7 @@ public class FilterTest extends SpringRu
 
 &lt;/beans&gt;
 ]]></script>
-</div></div>
-
-<h4 id="BookInOnePage-SpringTestwithJavaConfigExample">Spring Test with Java 
Config Example</h4>
-
-<p>Here is the <a shape="rect" href="spring-testing.html">Spring Testing</a> 
<a shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/patterns/FilterTest.java";>example
 using Java Config</a>. </p>
-
-<p>For more information see <a shape="rect" 
href="spring-java-config.html">Spring Java Config</a>.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+</div></div><h4 id="BookInOnePage-SpringTestwithJavaConfigExample">Spring Test 
with Java Config Example</h4><p>Here is the <a shape="rect" 
href="spring-testing.html">Spring Testing</a> <a shape="rect" 
class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/patterns/FilterTest.java";>example
 using Java Config</a>.</p><p>For more information see <a shape="rect" 
href="spring-java-config.html">Spring Java Config</a>.</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[
 
 @RunWith(CamelSpringJUnit4ClassRunner.class)
@@ -2604,14 +2563,7 @@ public class FilterTest extends Abstract
     }
 }
 ]]></script>
-</div></div>
-
-<p>This is similar to the XML Config example above except that there is no XML 
file and instead the nested <strong>ContextConfig</strong> class does all of 
the configuration; so your entire test case is contained in a single Java 
class. We currently have to reference by class name this class in the 
<strong>@ContextConfiguration</strong> which is a bit ugly. Please vote for <a 
shape="rect" class="external-link" 
href="http://jira.springframework.org/browse/SJC-238"; 
rel="nofollow">SJC-238</a> to address this and make Spring Test work more 
cleanly with Spring JavaConfig.</p>
-
-<p>Its totally optional but for the ContextConfig implementation we derive 
from <strong>SingleRouteCamelConfiguration</strong> which is a helper Spring 
Java Config class which will configure the CamelContext for us and then 
register the RouteBuilder we create.</p>
-
-<p>Since <strong>Camel 2.11.0</strong> you can use the 
CamelSpringJUnit4ClassRunner with CamelSpringDelegatingTestContextLoader like 
<a shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/test/CamelSpringDelegatingTestContextLoaderTest.java";>example
 using Java Config with CamelSpringJUnit4ClassRunner</a>.<br clear="none">
-</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+</div></div>This is similar to the XML Config example above except that there 
is no XML file and instead the nested <strong>ContextConfig</strong> class does 
all of the configuration; so your entire test case is contained in a single 
Java class. We currently have to reference by class name this class in the 
<strong>@ContextConfiguration</strong> which is a bit ugly. Please vote for <a 
shape="rect" class="external-link" 
href="http://jira.springframework.org/browse/SJC-238"; 
rel="nofollow">SJC-238</a> to address this and make Spring Test work more 
cleanly with Spring JavaConfig.<p>Its totally optional but for the 
ContextConfig implementation we derive from 
<strong>SingleRouteCamelConfiguration</strong> which is a helper Spring Java 
Config class which will configure the CamelContext for us and then register the 
RouteBuilder we create.</p><p>Since <strong>Camel 2.11.0</strong> you can use 
the CamelSpringJUnit4ClassRunner with CamelSpringDelegatingTestContextLoader 
like <a shape="rect" cl
 ass="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/test/CamelSpringDelegatingTestContextLoaderTest.java";>example
 using Java Config with CamelSpringJUnit4ClassRunner</a>:</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[
 @RunWith(CamelSpringJUnit4ClassRunner.class)
 @ContextConfiguration(
@@ -2660,13 +2612,7 @@ public class CamelSpringDelegatingTestCo
     }
 }
 ]]></script>
-</div></div>.
-
-<h4 
id="BookInOnePage-SpringTestwithXMLConfigandDeclarativeConfigurationExample">Spring
 Test with XML Config and Declarative Configuration Example</h4>
-
-<p>Here is a Camel test support enhanced&#160;<a shape="rect" 
href="spring-testing.html">Spring Testing</a>&#160;<a shape="rect" 
class="external-link" 
href="https://svn.apache.org/repos/asf/camel/trunk/components/camel-test-spring/src/test/java/org/apache/camel/test/spring/CamelSpringJUnit4ClassRunnerPlainTest.java";>example
 using XML Config and pure Spring Test based configuration of the Camel 
Context</a>.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+</div></div><h4 
id="BookInOnePage-SpringTestwithXMLConfigandDeclarativeConfigurationExample">Spring
 Test with XML Config and Declarative Configuration Example</h4><p>Here is a 
Camel test support enhanced&#160;<a shape="rect" 
href="spring-testing.html">Spring Testing</a>&#160;<a shape="rect" 
class="external-link" 
href="https://svn.apache.org/repos/asf/camel/trunk/components/camel-test-spring/src/test/java/org/apache/camel/test/spring/CamelSpringJUnit4ClassRunnerPlainTest.java";>example
 using XML Config and pure Spring Test based configuration of the Camel 
Context</a>:</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[
 @RunWith(CamelSpringJUnit4ClassRunner.class)
 // must tell Spring to bootstrap with Camel
@@ -2753,15 +2699,7 @@ public class CamelSpringJUnit4ClassRunne
     }
 }
 ]]></script>
-</div></div>
-
-<p>Notice how a custom test runner is used with 
the&#160;<strong>@RunWith</strong>&#160;annotation to support the features 
of&#160;<strong>CamelTestSupport</strong>&#160;through annotations on the test 
class. &#160;See&#160;<a shape="rect" href="spring-testing.html">Spring 
Testing</a>&#160;for a list of annotations you can use in your tests.</p>
-
-<h4 id="BookInOnePage-BlueprintTest">Blueprint Test</h4>
-
-<p>Here is the <a shape="rect" href="blueprint-testing.html">Blueprint 
Testing</a> <a shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/DebugBlueprintTest.java";>example
 using XML Config</a>.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+</div></div>Notice how a custom test runner is used with 
the&#160;<strong>@RunWith</strong>&#160;annotation to support the features 
of&#160;<strong>CamelTestSupport</strong>&#160;through annotations on the test 
class. &#160;See&#160;<a shape="rect" href="spring-testing.html">Spring 
Testing</a>&#160;for a list of annotations you can use in your tests.<h4 
id="BookInOnePage-BlueprintTest">Blueprint Test</h4><p>Here is the <a 
shape="rect" href="blueprint-testing.html">Blueprint Testing</a> <a 
shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/DebugBlueprintTest.java";>example
 using XML Config</a>:</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[
 // to use camel-test-blueprint, then extend the CamelBlueprintTestSupport 
class,
 // and add your unit tests methods as shown below.
@@ -2813,11 +2751,7 @@ public class DebugBlueprintTest extends
     }
 }
 ]]></script>
-</div></div>
-
-<p>Also notice the use of 
<code><strong>getBlueprintDescriptors</strong></code> to indicate that by 
default we should look for the <a shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/camelContext.xml";>camelContext.xml
 in the package</a> to configure the test case which looks like this</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+</div></div>Also notice the use of 
<code><strong>getBlueprintDescriptors</strong></code> to indicate that by 
default we should look for the <a shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/camelContext.xml";>camelContext.xml
 in the package</a> to configure the test case which looks like this:<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;blueprint xmlns=&quot;http://www.osgi.org/xmlns/blueprint/v1.0.0&quot;
            xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
@@ -2838,29 +2772,7 @@ public class DebugBlueprintTest extends
 
 &lt;/blueprint&gt;
 ]]></script>
-</div></div>
-
-<h3 id="BookInOnePage-Testingendpoints">Testing endpoints</h3>
-
-<p>Camel provides a number of endpoints which can make testing easier.</p>
-
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" 
href="dataset.html">DataSet</a> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> For load &amp; soak testing this endpoint provides a 
way to create huge numbers of messages for sending to <a shape="rect" 
href="components.html">Components</a> and asserting that they are consumed 
correctly </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> <a shape="rect" href="mock.html">Mock</a> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> For testing routes and 
mediation rules using mocks and allowing assertions to be added to an endpoint 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <a 
shape="rect" href="test.html">Test</a> </p></td><td colspan
 ="1" rowspan="1" class="confluenceTd"><p> Creates a <a shape="rect" 
href="mock.html">Mock</a> endpoint which expects to receive all the message 
bodies that could be polled from the given underlying endpoint 
</p></td></tr></tbody></table></div>
-
-
-<p>The main endpoint is the <a shape="rect" href="mock.html">Mock</a> endpoint 
which allows expectations to be added to different endpoints; you can then run 
your tests and assert that your expectations are met at the end.</p>
-
-<h3 id="BookInOnePage-Stubbingoutphysicaltransporttechnologies">Stubbing out 
physical transport technologies</h3>
-
-<p>If you wish to test out a route but want to avoid actually using a real 
physical transport (for example to unit test a transformation route rather than 
performing a full integration test) then the following endpoints can be 
useful.</p>
-
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" 
href="direct.html">Direct</a> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Direct invocation of the consumer from the producer so 
that single threaded (non-SEDA) in VM invocation is performed which can be 
useful to mock out physical transports </p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p> <a shape="rect" href="seda.html">SEDA</a> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Delivers messages 
asynchonously to consumers via a <a shape="rect" class="external-link" 
href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/BlockingQueue.html";
 rel="nofollow">java.util.concurrent.BlockingQueue</a> which is good for 
testing asynchronous transpo
 rts </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <a 
shape="rect" href="stub.html">Stub</a> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Works like <a shape="rect" href="seda.html">SEDA</a> 
but does not validate the endpoint uri, which makes stubbing much easier. 
</p></td></tr></tbody></table></div>
-
-
-<h3 id="BookInOnePage-Testingexistingroutes">Testing existing routes</h3>
-
-<p>Camel provides some features to aid during testing of existing routes where 
you cannot or will not use <a shape="rect" href="mock.html">Mock</a> etc. For 
example you may have a production ready route which you want to test with some 
3rd party API which sends messages into this route.</p>
-
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" 
href="notifybuilder.html">NotifyBuilder</a> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> Allows you to be notified when a certain 
condition has occurred. For example when the route has completed 5 messages. 
You can build complex expressions to match your criteria when to be notified. 
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <a 
shape="rect" href="advicewith.html">AdviceWith</a> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> Allows you to <strong>advice</strong> or 
<strong>enhance</strong> an existing route using a <a shape="rect" 
href="routebuilder.html">RouteBuilder</a> style. For example you can add 
interceptors to intercept sending outgoing
  messages to assert those messages are as expected. 
</p></td></tr></tbody></table></div>
+</div></div><h3 id="BookInOnePage-Testingendpoints">Testing 
endpoints</h3><p>Camel provides a number of endpoints which can make testing 
easier.</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="dataset.html">DataSet</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>For load &amp; soak testing this endpoint provides a 
way to create huge numbers of messages for sending to <a shape="rect" 
href="components.html">Components</a> and asserting that they are consumed 
correctly</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="mock.html">Mock</a></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>For testing routes and 
mediation rules using mocks and allowing assertions to be added to an endpo
 int</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
shape="rect" href="test.html">Test</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Creates a <a shape="rect" href="mock.html">Mock</a> 
endpoint which expects to receive all the message bodies that could be polled 
from the given underlying endpoint</p></td></tr></tbody></table></div><p>The 
main endpoint is the <a shape="rect" href="mock.html">Mock</a> endpoint which 
allows expectations to be added to different endpoints; you can then run your 
tests and assert that your expectations are met at the end.</p><h3 
id="BookInOnePage-Stubbingoutphysicaltransporttechnologies">Stubbing out 
physical transport technologies</h3><p>If you wish to test out a route but want 
to avoid actually using a real physical transport (for example to unit test a 
transformation route rather than performing a full integration test) then the 
following endpoints can be useful.</p><div class="table-wrap"><table 
class="conflue
 nceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="direct.html">Direct</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Direct invocation of the consumer from the producer so 
that single threaded (non-SEDA) in VM invocation is performed which can be 
useful to mock out physical transports</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="seda.html">SEDA</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Delivers messages asynchonously to consumers via a <a 
shape="rect" class="external-link" 
href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/BlockingQueue.html";
 rel="nofollow">java.util.concurrent.BlockingQueue</a> which is good for 
testing asynchronous transports</p></td></tr><tr><td colspan="1" rowspan="1" 
class="
 confluenceTd"><p><a shape="rect" href="stub.html">Stub</a></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Works like <a shape="rect" 
href="seda.html">SEDA</a> but does not validate the endpoint uri, which makes 
stubbing much easier.</p></td></tr></tbody></table></div><h3 
id="BookInOnePage-Testingexistingroutes">Testing existing routes</h3><p>Camel 
provides some features to aid during testing of existing routes where you 
cannot or will not use <a shape="rect" href="mock.html">Mock</a> etc. For 
example you may have a production ready route which you want to test with some 
3rd party API which sends messages into this route.</p><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="notifybuilder.html">NotifyBuilder</a></p></td><td colspan="1" rows
 pan="1" class="confluenceTd"><p>Allows you to be notified when a certain 
condition has occurred. For example when the route has completed 5 messages. 
You can build complex expressions to match your criteria when to be 
notified.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" 
href="advicewith.html">AdviceWith</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Allows you to <strong>advice</strong> or 
<strong>enhance</strong> an existing route using a <a shape="rect" 
href="routebuilder.html">RouteBuilder</a> style. For example you can add 
interceptors to intercept sending outgoing messages to assert those messages 
are as expected.</p></td></tr></tbody></table></div>
 <h2 id="BookInOnePage-CamelTest">Camel Test</h2><p>As a simple alternative to 
using <a shape="rect" href="cdi-testing.html">CDI Testing</a>,&#160;<a 
shape="rect" href="spring-testing.html">Spring Testing</a> or <a shape="rect" 
href="guice.html">Guice</a> the <strong>camel-test</strong> module was 
introduced so you can perform powerful <a shape="rect" 
href="testing.html">Testing</a> of your <a shape="rect" 
href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a> 
easily.</p><div class="confluence-information-macro 
confluence-information-macro-information"><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>The <code>camel-test</code> JAR is 
using JUnit. There is an alternative <code>camel-testng</code> JAR (Camel 2.8 
onwards) using the <a shape="rect" class="external-link" 
href="http://testng.org/doc/index.html"; rel="nofollow">TestNG</a> test 
framework.</p></div></div>
 <h3 id="BookInOnePage-Addingtoyourpom.xml">Adding to your pom.xml</h3><p>To 
get started using Camel Test you will need to add an entry to your 
pom.xml</p><h4 id="BookInOnePage-JUnit">JUnit</h4><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;
@@ -3758,11 +3670,11 @@ The tutorial has been designed in two pa
 While not actual tutorials you might find working through the source of the 
various <a shape="rect" href="examples.html">Examples</a> useful.</li></ul>
 
 <h2 id="BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring 
Remoting with JMS</h2><p>&#160;</p><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Thanks</p><span 
class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>This tutorial was kindly donated 
to Apache Camel by Martin Gilday.</p></div></div><h2 
id="BookInOnePage-Preface">Preface</h2><p>This tutorial aims to guide the 
reader through the stages of creating a project which uses Camel to facilitate 
the routing of messages from a JMS queue to a <a shape="rect" 
class="external-link" href="http://www.springramework.org"; 
rel="nofollow">Spring</a> service. The route works in a synchronous fashion 
returning a response to the client.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1457605143880 {padding: 0px;}
-div.rbtoc1457605143880 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1457605143880 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1457608664766 {padding: 0px;}
+div.rbtoc1457608664766 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1457608664766 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1457605143880">
+/*]]>*/</style></p><div class="toc-macro rbtoc1457608664766">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring 
Remoting with JMS</a></li><li><a shape="rect" 
href="#BookInOnePage-Preface">Preface</a></li><li><a shape="rect" 
href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" 
href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" 
href="#BookInOnePage-About">About</a></li><li><a shape="rect" 
href="#BookInOnePage-CreatetheCamelProject">Create the Camel Project</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-UpdatethePOMwithDependencies">Update the POM with 
Dependencies</a></li></ul>
 </li><li><a shape="rect" href="#BookInOnePage-WritingtheServer">Writing the 
Server</a>
@@ -5877,11 +5789,11 @@ So we completed the last piece in the pi
 <p>This example has been removed from <strong>Camel 2.9</strong> onwards. 
Apache Axis 1.4 is a very old and unsupported framework. We encourage users to 
use <a shape="rect" href="cxf.html">CXF</a> instead of Axis.</p></div></div>
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1457605144912 {padding: 0px;}
-div.rbtoc1457605144912 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1457605144912 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1457608665361 {padding: 0px;}
+div.rbtoc1457608665361 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1457608665361 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1457605144912">
+/*]]>*/</style><div class="toc-macro rbtoc1457608665361">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-TutorialusingAxis1.4withApacheCamel">Tutorial using Axis 
1.4 with Apache Camel</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" 
href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" 
href="#BookInOnePage-Introduction">Introduction</a></li><li><a shape="rect" 
href="#BookInOnePage-SettinguptheprojecttorunAxis">Setting up the project to 
run Axis</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Maven2">Maven 2</a></li><li><a shape="rect" 
href="#BookInOnePage-wsdl">wsdl</a></li><li><a shape="rect" 
href="#BookInOnePage-ConfiguringAxis">Configuring Axis</a></li><li><a 
shape="rect" href="#BookInOnePage-RunningtheExample">Running the 
Example</a></li></ul>
@@ -17336,11 +17248,11 @@ template.send(&quot;direct:alias-verify&
 ]]></script>
 </div></div><p></p><h3 id="BookInOnePage-SeeAlso.28">See Also</h3>
 <ul><li><a shape="rect" href="configuring-camel.html">Configuring 
Camel</a></li><li><a shape="rect" 
href="component.html">Component</a></li><li><a shape="rect" 
href="endpoint.html">Endpoint</a></li><li><a shape="rect" 
href="getting-started.html">Getting Started</a></li></ul><ul><li><a 
shape="rect" href="crypto.html">Crypto</a> Crypto is also available as a <a 
shape="rect" href="data-format.html">Data Format</a></li></ul> <h2 
id="BookInOnePage-CXFComponent">CXF Component</h2><div 
class="confluence-information-macro confluence-information-macro-note"><span 
class="aui-icon aui-icon-small aui-iconfont-warning 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>When using CXF as a consumer, the 
<a shape="rect" href="cxf-bean-component.html">CXF Bean Component</a> allows 
you to factor out how message payloads are received from their processing as a 
RESTful or SOAP web service. This has the potential of using a multitude of 
transports to consume web 
 services. The bean component's configuration is also simpler and provides the 
fastest method to implement web services using Camel and 
CXF.</p></div></div><div class="confluence-information-macro 
confluence-information-macro-tip"><span class="aui-icon aui-icon-small 
aui-iconfont-approve confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>When using CXF in streaming modes 
(see DataFormat option), then also read about <a shape="rect" 
href="stream-caching.html">Stream caching</a>.</p></div></div><p>The 
<strong>cxf:</strong> component provides integration with <a shape="rect" 
href="http://cxf.apache.org";>Apache CXF</a> for connecting to JAX-WS services 
hosted in CXF.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1457605195603 {padding: 0px;}
-div.rbtoc1457605195603 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1457605195603 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1457608680688 {padding: 0px;}
+div.rbtoc1457608680688 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1457608680688 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1457605195603">
+/*]]>*/</style></p><div class="toc-macro rbtoc1457608680688">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-CXFComponent">CXF Component</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-URIformat">URI format</a></li><li><a shape="rect" 
href="#BookInOnePage-Options">Options</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Thedescriptionsofthedataformats">The descriptions of the 
dataformats</a>

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


Reply via email to