Author: buildbot
Date: Sun Sep 21 16:18:59 2014
New Revision: 923082

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/camel-2150-release.html
    websites/production/camel/content/spring-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 Sun Sep 21 16:18:59 
2014
@@ -2284,39 +2284,10 @@ public class FilterCreateCamelContextPer
 <h3 id="Bookcookbook-SeeAlso.1">See Also</h3>
 
 <ul><li><a shape="rect" href="testing.html">Testing</a></li><li><a 
shape="rect" href="mock.html">Mock</a></li><li><a shape="rect" 
href="test.html">Test</a></li></ul>
-<h2 id="Bookcookbook-SpringTesting">Spring Testing</h2>
-
-<p><a shape="rect" href="testing.html">Testing</a> is a crucial part of any 
development or integration work. The Spring Framework offers a number of 
features that makes it easy to test while using Spring for Inversion of Control 
which works with JUnit 3.x, JUnit 4.x, and <a shape="rect" 
class="external-link" href="http://testng.org"; rel="nofollow">TestNG</a>.</p>
-
-<p>We can use Spring for IoC and the Camel <a shape="rect" 
href="mock.html">Mock</a> and <a shape="rect" href="test.html">Test</a> 
endpoints to create sophisticated integration/unit tests that are easy to run 
and debug inside your IDE. &#160;There are three supported approaches for 
testing with Spring in Camel.</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> Testing Frameworks Supported </p></th><th 
colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th><th 
colspan="1" rowspan="1" class="confluenceTh"><p> Required Camel Test 
Dependencies </p></th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> CamelSpringTestSupport </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><ul><li>JUnit 3.x (deprecated)</li><li>JUnit 
4.x</li><li>TestNG - <strong>Camel 2.8</strong></li></ul>
-</td><td colspan="1" rowspan="1" class="confluenceTd"><p> Provided by 
org.apache.camel.test.CamelSpringTestSupport, 
org.apache.camel.test.junit4.CamelSpringTestSupport, and 
org.apache.camel.testng.CamelSpringTestSupport. &#160;These base classes 
provide <a shape="rect" 
href="camel-test.html#CamelTest-FeaturesProvidedbyCamelTestSupport">feature 
parity</a> with&#160;the simple CamelTestSupport classes from&#160;<a 
shape="rect" href="camel-test.html">Camel Test</a>&#160;but do not support 
Spring annotations on the test class such as 
<strong>@Autowired</strong>,&#160;<strong>@DirtiesContext</strong>, 
and&#160;<strong>@ContextConfiguration</strong>. <br clear="none" 
class="atl-forced-newline"> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><ul><li>JUnit 3.x (deprecated) - 
camel-test-spring</li><li>JUnit 4.x&#160;- camel-test-spring</li><li>TestNG - 
camel-test-ng</li></ul>
-</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Plain 
Spring Test <br clear="none" class="atl-forced-newline"> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><ul><li>JUnit 3.x</li><li>JUnit 
4.x</li><li>TestNG</li></ul>
-</td><td colspan="1" rowspan="1" class="confluenceTd"><p> Extend the abstract 
base classes 
(org.springframework.test.context.junit38.AbstractJUnit38SpringContextTests,&#160;org.springframework.test.context.junit38.AbstractJUnit4SpringContextTests,
 etc.)&#160;provided in Spring Test or use the Spring Test JUnit4 runner. 
&#160;These approaches support both the Camel annotations and Spring 
annotations, but do not have <a shape="rect" 
href="camel-test.html#CamelTest-FeaturesProvidedbyCamelTestSupport">feature 
parity</a> with&#160;org.apache.camel.test.CamelTestSupport, 
org.apache.camel.test.junit4.CamelTestSupport, and 
org.apache.camel.testng.CamelSpringTestSupport. <br clear="none" 
class="atl-forced-newline"> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><ul><li>JUnit 3.x (deprecated) - None</li><li>JUnit 
4.x&#160;- None</li><li>TestNG - None</li></ul>
-</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Camel 
Enhanced Spring Test <br clear="none" class="atl-forced-newline"> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><ul><li>JUnit 4.x - <strong>Camel 
2.10</strong></li><li>TestNG - <strong>Camel 2.10</strong></li></ul>
-</td><td colspan="1" rowspan="1" class="confluenceTd"><p> Use the 
org.apache.camel.test.junit4.CamelSpringJUnit4ClassRunner&#160;runner with 
the&#160;<strong>@RunWith</strong>&#160;annotation or extend 
org.apache.camel.testng.AbstractCamelTestNGSpringContextTests&#160;to enable <a 
shape="rect" 
href="camel-test.html#CamelTest-FeaturesProvidedbyCamelTestSupport">feature 
parity</a> with org.apache.camel.test.CamelTestSupport and 
org.apache.camel.test.junit4.CamelTestSupport and also support the full suite 
of Spring Test annotations such 
as&#160;<strong>@Autowired</strong>,&#160;<strong>@DirtiesContext</strong>, and 
<strong>@ContextConfiguration</strong>. </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><ul><li>JUnit 3.x (deprecated) - 
camel-test-spring</li><li>JUnit 4.x&#160;- camel-test-spring</li><li>TestNG - 
camel-test-ng</li></ul>
-</td></tr></tbody></table></div>
-
-
-<h3 id="Bookcookbook-CamelSpringTestSupport">CamelSpringTestSupport</h3>
-
-<p>org.apache.camel.test.CamelSpringTestSupport, 
org.apache.camel.test.junit4.CamelSpringTestSupport, and 
org.apache.camel.testng.CamelSpringTestSupport&#160;extend their non-Spring 
aware counterparts (org.apache.camel.test.CamelTestSupport, 
org.apache.camel.test.junit4.CamelTestSupport, and 
org.apache.camel.testng.CamelTestSupport) and deliver integration with Spring 
into your test classes. &#160;Instead of&#160;instantiating&#160;the 
CamelContext and routes programmatically, these classes rely on a Spring 
context to wire the needed components together. &#160;If your test extends one 
of these classes, you must provide the Spring context by implementing the 
following method.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-protected abstract AbstractApplicationContext createApplicationContext();
+<h2 id="Bookcookbook-SpringTesting">Spring Testing</h2><p><a shape="rect" 
href="testing.html">Testing</a> is a crucial part of any development or 
integration work. The Spring Framework offers a number of features that makes 
it easy to test while using Spring for Inversion of Control which works with 
JUnit 3.x, JUnit 4.x, and <a shape="rect" class="external-link" 
href="http://testng.org"; rel="nofollow">TestNG</a>.</p><p>We can use Spring for 
IoC and the Camel <a shape="rect" href="mock.html">Mock</a> and <a shape="rect" 
href="test.html">Test</a> endpoints to create sophisticated integration/unit 
tests that are easy to run and debug inside your IDE. &#160;There are three 
supported approaches for testing with Spring in Camel.</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>Testing Frameworks Supported</p></th><th colspan="1" 
rowspan="1" class="conflu
 enceTh"><p>Description</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Required Camel Test Dependencies</p></th></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p>CamelSpringTestSupport</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><ul><li>JUnit 3.x (deprecated)</li><li>JUnit 
4.x</li><li>TestNG - <strong>Camel 2.8</strong></li></ul></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Provided by 
org.apache.camel.test.CamelSpringTestSupport, 
org.apache.camel.test.junit4.CamelSpringTestSupport, and 
org.apache.camel.testng.CamelSpringTestSupport. &#160;These base classes 
provide <a shape="rect" 
href="camel-test.html#CamelTest-FeaturesProvidedbyCamelTestSupport">feature 
parity</a> with&#160;the simple CamelTestSupport classes from&#160;<a 
shape="rect" href="camel-test.html">Camel Test</a>&#160;but do not support 
Spring annotations on the test class such as 
<strong>@Autowired</strong>,&#160;<strong>@DirtiesContext</strong>, 
and&#160;<strong>@ContextCo
 nfiguration</strong>.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><ul><li>JUnit 3.x (deprecated) - 
camel-test-spring</li><li>JUnit 4.x&#160;- camel-test-spring</li><li>TestNG - 
camel-test-ng</li></ul></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Plain Spring Test</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><ul><li>JUnit 3.x</li><li>JUnit 
4.x</li><li>TestNG</li></ul></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Extend the abstract base classes 
(org.springframework.test.context.junit38.AbstractJUnit38SpringContextTests,&#160;org.springframework.test.context.junit38.AbstractJUnit4SpringContextTests,
 etc.)&#160;provided in Spring Test or use the Spring Test JUnit4 runner. 
&#160;These approaches support both the Camel annotations and Spring 
annotations, but do not have <a shape="rect" 
href="camel-test.html#CamelTest-FeaturesProvidedbyCamelTestSupport">feature 
parity</a> with&#160;org.apache.camel.test.CamelTestSupport, org.apache.c
 amel.test.junit4.CamelTestSupport, and 
org.apache.camel.testng.CamelSpringTestSupport.</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><ul><li>JUnit 3.x (deprecated) - 
None</li><li>JUnit 4.x&#160;- None</li><li>TestNG - 
None</li></ul></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Camel Enhanced Spring Test</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><ul><li>JUnit 4.x - <strong>Camel 
2.10</strong></li><li>TestNG - <strong>Camel 2.10</strong></li></ul></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Use the 
org.apache.camel.test.junit4.CamelSpringJUnit4ClassRunner&#160;runner with 
the&#160;<strong>@RunWith</strong>&#160;annotation or extend 
org.apache.camel.testng.AbstractCamelTestNGSpringContextTests&#160;to enable <a 
shape="rect" 
href="camel-test.html#CamelTest-FeaturesProvidedbyCamelTestSupport">feature 
parity</a> with org.apache.camel.test.CamelTestSupport and 
org.apache.camel.test.junit4.CamelTestSupport and also support the full s
 uite of Spring Test annotations such 
as&#160;<strong>@Autowired</strong>,&#160;<strong>@DirtiesContext</strong>, and 
<strong>@ContextConfiguration</strong>.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><ul><li>JUnit 3.x (deprecated) - 
camel-test-spring</li><li>JUnit 4.x&#160;- camel-test-spring</li><li>TestNG - 
camel-test-ng</li></ul></td></tr></tbody></table></div><h3 
id="Bookcookbook-CamelSpringTestSupport">CamelSpringTestSupport</h3><p>org.apache.camel.test.CamelSpringTestSupport,
 org.apache.camel.test.junit4.CamelSpringTestSupport, and 
org.apache.camel.testng.CamelSpringTestSupport&#160;extend their non-Spring 
aware counterparts (org.apache.camel.test.CamelTestSupport, 
org.apache.camel.test.junit4.CamelTestSupport, and 
org.apache.camel.testng.CamelTestSupport) and deliver integration with Spring 
into your test classes. &#160;Instead of&#160;instantiating&#160;the 
CamelContext and routes programmatically, these classes rely on a Spring 
context to wire the needed compo
 nents together. &#160;If your test extends one of these classes, you must 
provide the Spring context by implementing the following method.</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[protected abstract AbstractApplicationContext 
createApplicationContext();
 ]]></script>
-</div></div>
-<p>You are responsible for the instantiation of the Spring context in the 
method implementation. &#160;All of the features available in the non-Spring 
aware counterparts from <a shape="rect" href="camel-test.html">Camel Test</a> 
are available in your test.</p>
-
-<h3 id="Bookcookbook-PlainSpringTest">Plain Spring Test</h3>
-
-<p>In this approach, your test classes directly inherit from the Spring Test 
abstract test classes or use the JUnit 4.x test runner provided in Spring Test. 
&#160;This approach supports&#160;dependency&#160;injection into your test 
class and the full suite of Spring Test annotations but does not support the 
features provided by the CamelSpringTestSupport classes.</p>
-
-<h4 id="Bookcookbook-PlainSpringTestusingJUnit3.xwithXMLConfigExample">Plain 
Spring Test using JUnit 3.x with XML Config Example</h4>
-
-<p>Here is a simple unit test using JUnit 3.x support from Spring Test 
using&#160;<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";>XML
 Config</a>.</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+</div></div><p>You are responsible for the instantiation of the Spring context 
in the method implementation. &#160;All of the features available in the 
non-Spring aware counterparts from <a shape="rect" href="camel-test.html">Camel 
Test</a> are available in your test.</p><h3 
id="Bookcookbook-PlainSpringTest">Plain Spring Test</h3><p>In this approach, 
your test classes directly inherit from the Spring Test abstract test classes 
or use the JUnit 4.x test runner provided in Spring Test. &#160;This approach 
supports&#160;dependency&#160;injection into your test class and the full suite 
of Spring Test annotations but does not support the features provided by the 
CamelSpringTestSupport classes.</p><h4 
id="Bookcookbook-PlainSpringTestusingJUnit3.xwithXMLConfigExample">Plain Spring 
Test using JUnit 3.x with XML Config Example</h4><p>Here is a simple unit test 
using JUnit 3.x support from Spring Test using&#160;<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">XML
 Config</a>.</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
 @ContextConfiguration
 public class FilterTest extends SpringRunWithTestSupport {
@@ -2350,11 +2321,7 @@ public class FilterTest extends SpringRu
     }
 }
 ]]></script>
-</div></div>
-<p>Notice that we use&#160;<strong>@DirtiesContext</strong>&#160;on the test 
methods to force&#160;<a shape="rect" href="spring-testing.html">Spring 
Testing</a>&#160;to automatically reload the&#160;<a shape="rect" 
href="camelcontext.html">CamelContext</a>&#160;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&#160;<strong>@ContextConfiguration</strong>&#160;to 
indicate that by default we should look for the&#160;<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>&#160;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><p>Notice that we 
use&#160;<strong>@DirtiesContext</strong>&#160;on the test methods to 
force&#160;<a shape="rect" href="spring-testing.html">Spring 
Testing</a>&#160;to automatically reload the&#160;<a shape="rect" 
href="camelcontext.html">CamelContext</a>&#160;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&#160;<strong>@ContextConfiguration</strong>&#160;to indicate 
that by default we should look for the&#160;<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>&#160;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="theme: Default; brush: xml; gutter: false" 
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;
@@ -2376,22 +2343,11 @@ public class FilterTest extends SpringRu
 
 &lt;/beans&gt;
 ]]></script>
-</div></div>
-<p>This test will load a Spring XML configuration file 
calledFilterTest-context.xml&#160;from the classpath in the same package 
structure as the FilterTest class and initialize it along with any Camel routes 
we define inside it, then inject theCamelContextinstance into our test case.</p>
-
-<p>For instance, like this maven folder layout:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-src/test/java/org/apache/camel/spring/patterns/FilterTest.java
+</div></div><p>This test will load a Spring XML configuration file 
calledFilterTest-context.xml&#160;from the classpath in the same package 
structure as the FilterTest class and initialize it along with any Camel routes 
we define inside it, then inject theCamelContextinstance into our test 
case.</p><p>For instance, like this maven folder layout:</p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[src/test/java/org/apache/camel/spring/patterns/FilterTest.java
 src/test/resources/org/apache/camel/spring/patterns/FilterTest-context.xml
 ]]></script>
-</div></div>
-
-<h4 id="Bookcookbook-PlainSpringTestusingJUnit4.xwithJavaConfigExample">Plain 
Spring Test using JUnit 4.x with Java Config Example</h4>
-
-<p>You can completely avoid using an XML configuration file by using <a 
shape="rect" href="spring-java-config.html">Spring Java Config</a>. &#160;Here 
is a unit test using JUnit 4.x support from Spring Test using&#160;<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";>Java
 Config</a>.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+</div></div><h4 
id="Bookcookbook-PlainSpringTestusingJUnit4.xwithJavaConfigExample">Plain 
Spring Test using JUnit 4.x with Java Config Example</h4><p>You can completely 
avoid using an XML configuration file by using <a shape="rect" 
href="spring-java-config.html">Spring Java Config</a>. &#160;Here is a unit 
test using JUnit 4.x support from Spring Test using&#160;<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";>Java
 Config</a>.</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
 @ContextConfiguration(
         locations = 
&quot;org.apache.camel.spring.javaconfig.patterns.FilterTest$ContextConfig&quot;,
@@ -2439,16 +2395,14 @@ 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>
-
-<h4 id="Bookcookbook-PlainSpringTestusingJUnit4.xRunnerwithXMLConfig">Plain 
Spring Test using JUnit 4.x Runner with XML Config</h4>
-
-<p>You can avoid extending Spring classes by using the SpringJUnit4ClassRunner 
provided by Spring Test. &#160;This custom JUnit runner means you are free to 
choose your own class hierarchy while retaining all the capabilities of Spring 
Test.</p>
+</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><h4 
id="Bookcookbook-PlainSpringTestusingJUnit4.0.xRunnerwithXMLConfig">Plain 
Spring Test using JUnit 4.0.x Runner with XML Config</h4><p>You can avoid 
extending Spring classes by using the SpringJUnit4ClassRunner provided by 
Spring Test. &#160;This custom JUnit runner means you are free to choose your 
own class hierarchy while retaining all the capabilities of Spring Test.</p>    
<div class="aui-message 
 hint shadowed information-macro">
+                            <span class="aui-icon icon-hint">Icon</span>
+                <div class="message-content">
+                            <p>This is for Spring 4.0.x. If you use Spring 4.1 
or newer, then see the next section.</p>
+                    </div>
+    </div>
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-@RunWith(SpringJUnit4ClassRunner.class)
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[@RunWith(SpringJUnit4ClassRunner.class)
 @ContextConfiguration
 public class MyCamelTest {
 
@@ -2470,21 +2424,39 @@ public class MyCamelTest {
     }
 }
 ]]></script>
-</div></div>
-
-<h3 id="Bookcookbook-CamelEnhancedSpringTest">Camel Enhanced Spring Test</h3>
+</div></div><h4 
id="Bookcookbook-PlainSpringTestusingJUnit4.1.xRunnerwithXMLConfig">Plain 
Spring Test using JUnit 4.1.x Runner with XML Config</h4><p>You can avoid 
extending Spring classes by using the SpringJUnit4ClassRunner provided by 
Spring Test. &#160;This custom JUnit runner means you are free to choose your 
own class hierarchy while retaining all the capabilities of Spring Test.</p>    
<div class="aui-message hint shadowed information-macro">
+                            <span class="aui-icon icon-hint">Icon</span>
+                <div class="message-content">
+                            <p>When using Spring 4.1 onwards, you need to use 
the @BootstrapWith annotation to configure it to use Camel testing, as shown 
below.</p>
+                    </div>
+    </div>
+<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[@RunWith(SpringJUnit4ClassRunner.class)
+@BootstrapWith(CamelTestContextBootstrapper.class)
+@ContextConfiguration
+public class MyCamelTest {
 
-<p>Using org.apache.camel.test.junit4.CamelSpringJUnit4ClassRunner&#160;runner 
with the&#160;<strong>@RunWith</strong>&#160;annotation or extending 
org.apache.camel.testng.AbstractCamelTestNGSpringContextTests provides the full 
feature set of Spring Test with support for the feature set provided in the 
CamelTestSupport classes. &#160;A number of Camel specific annotations have 
been developed in order to provide for declarative manipulation of the Camel 
context(s) involved in the test. &#160;These annotations free your test classes 
from having to inherit from the CamelSpringTestSupport classes and also reduce 
the amount of code required to customize the tests.</p>
+    @Autowired
+    protected CamelContext camelContext;
 
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p> Annotation Class </p></th><th 
colspan="1" rowspan="1" class="confluenceTh"><p> Applies To </p></th><th 
colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th><th 
colspan="1" rowspan="1" class="confluenceTh"><p> Default Behavioir If Not 
Present </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Default 
Behavior If Present </p></th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> org.apache.camel.test.spring.DisableJmx <br 
clear="none" class="atl-forced-newline"> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Class </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Indicates if JMX should be globally disabled in the 
CamelContexts that are bootstrapped &#160;during the test through the use of 
Spring Test loaded application contexts. <br clear="none" 
class="atl-forced-newline"> </p></td><td colspan="1" row
 span="1" class="confluenceTd"><p> JMX is disabled </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> JMX is disabled <br clear="none" 
class="atl-forced-newline"> </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> org.apache.camel.test.spring.ExcludeRoutes <br 
clear="none" class="atl-forced-newline"> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Class <br clear="none" class="atl-forced-newline"> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Indicates if 
certain route builder classes should be excluded from discovery. 
&#160;Initializes a org.apache.camel.spi.PackageScanClassResolver&#160;to 
exclude a set of given classes from being resolved. Typically this is used at 
test time to exclude certain routes,&#160;which might otherwise be just noisy, 
from being discovered and initialized. <br clear="none" 
class="atl-forced-newline"> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Not enabled and no routes are exclu
 ded </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> No routes 
are excluded </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> org.apache.camel.test.spring.LazyLoadTypeConverters 
(Deprecated) <br clear="none" class="atl-forced-newline"> </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> Class <br clear="none" 
class="atl-forced-newline"> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Indicates if the&#160;CamelContexts that are 
bootstrapped during the test through the use of Spring Test&#160;loaded 
application contexts should use lazy loading of type converters. </p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p> Type converters are not lazy 
loaded </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Type 
converters are not lazy loaded </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> org.apache.camel.test.spring.MockEndpoints <br 
clear="none" class="atl-forced-newline"> </p></td><td co
 lspan="1" rowspan="1" class="confluenceTd"><p> Class <br clear="none" 
class="atl-forced-newline"> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Triggers the auto-mocking of endpoints whose URIs 
match the provided filter.&#160; The default&#160;filter is "*" which matches 
all endpoints. 
&#160;See&#160;org.apache.camel.impl.InterceptSendToMockEndpointStrategy&#160;for&#160;more
 details on the registration of the mock endpoints. </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> Not enabled </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> All endpoints are sniffed and recorded in 
a mock endpoint. </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> org.apache.camel.test.spring.MockEndpointsAndSkip<br 
clear="none" class="atl-forced-newline"> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Class </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Triggers the auto-mocking of endpoints whose URIs 
match the p
 rovided filter.&#160; The default&#160;filter is "*", which matches all 
endpoints. &#160;See&#160;<a shape="rect" class="external-link" 
href="http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/InterceptSendToMockEndpointStrategy.java?view=markup";>org.apache.camel.impl.InterceptSendToMockEndpointStrategy</a>&#160;for&#160;more
 details on the registration of the mock endpoints. &#160;This annotation will 
also skip sending the message to matched endpoints as well.<br clear="none" 
class="atl-forced-newline"> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Not enabled<br clear="none" 
class="atl-forced-newline"> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> All endpoints are sniffed and recorded in a mock 
endpoint. &#160;The original endpoint is not invoked.<br clear="none" 
class="atl-forced-newline"> </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> org.apache.camel.test.spring.ProvidesBreakpoint <br 
 clear="none" class="atl-forced-newline"> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Method </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Indicates that the annotated method returns 
an&#160;org.apache.camel.spi.Breakpoint&#160;for use in the test.&#160; Useful 
for intercepting&#160;traffic to all endpoints or simply for setting a break 
point in an IDE for debugging.&#160; The method must&#160;be public, static, 
take no arguments, and return org.apache.camel.spi.Breakpoint. <br clear="none" 
class="atl-forced-newline"> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> N/A </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> The returned Breakpoint is registered in the 
CamelContext(s) </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p> org.apache.camel.test.spring.ShutdownTimeout <br 
clear="none" class="atl-forced-newline"> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Class <br clear="none" class
 ="atl-forced-newline"> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Indicates to set the shutdown timeout of all 
CamelContexts instantiated through the&#160;use of Spring Test loaded 
application contexts.&#160; If no annotation is used, the timeout 
is&#160;automatically reduced to 10 seconds by the test framework. <br 
clear="none" class="atl-forced-newline"> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> 10 seconds </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> 10 seconds </p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p> org.apache.camel.test.spring.UseAdviceWith 
<br clear="none" class="atl-forced-newline"> </p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p> Class <br clear="none" 
class="atl-forced-newline"> </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> Indicates the use of adviceWith() within the test 
class.&#160; If a class is annotated with&#160;this annotation and 
UseAdviceWith#value()&
 #160;returns true, any&#160;CamelContexts bootstrapped during the test through 
the use of Spring Test loaded&#160;application contexts will not be started 
automatically.&#160; The test author is responsible for&#160;injecting the 
Camel contexts into the test and executing CamelContext#start()&#160;on 
them&#160;at the appropriate time after any advice has been applied to the 
routes in the CamelContext(s). <br clear="none" class="atl-forced-newline"> 
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> CamelContexts do 
not automatically start. </p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p> CamelContexts do not automatically start. 
</p></td></tr></tbody></table></div>
+    @EndpointInject(uri = &quot;mock:foo&quot;)
+    protected MockEndpoint foo;
 
 
+    @Test
+    @DirtiesContext
+    public void testMocksAreValid() throws Exception {
+        ...       
 
-<p>The following example illustrates the use of the 
<strong>@MockEndpoints</strong>&#160;annotation in order to setup mock 
endpoints as interceptors on all endpoints using the Camel Log component and 
the <strong>@DisableJmx</strong> annotation to enable JMX which is disabled 
during tests by default. &#160;Note that we still use the 
<strong>@DirtiesContext</strong> annotation to ensure that the CamelContext, 
routes, and mock endpoints are reinitialized between test methods.</p>
+        foo.message(0).header(&quot;bar&quot;).isEqualTo(&quot;ABC&quot;);
 
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-@RunWith(CamelSpringJUnit4ClassRunner.class)
+        MockEndpoint.assertIsSatisfied(camelContext);
+    }
+}
+]]></script>
+</div></div><h3 id="Bookcookbook-CamelEnhancedSpringTest"><span 
style="line-height: 1.5625;">Camel Enhanced Spring Test</span></h3><p>Using 
org.apache.camel.test.junit4.CamelSpringJUnit4ClassRunner&#160;runner with 
the&#160;<strong>@RunWith</strong>&#160;annotation or extending 
org.apache.camel.testng.AbstractCamelTestNGSpringContextTests provides the full 
feature set of Spring Test with support for the feature set provided in the 
CamelTestSupport classes. &#160;A number of Camel specific annotations have 
been developed in order to provide for declarative manipulation of the Camel 
context(s) involved in the test. &#160;These annotations free your test classes 
from having to inherit from the CamelSpringTestSupport classes and also reduce 
the amount of code required to customize the tests.</p><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Annotation Class</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>
 Applies To</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default Behavioir If Not Present</p></th><th 
colspan="1" rowspan="1" class="confluenceTh"><p>Default Behavior If 
Present</p></th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>org.apache.camel.test.spring.DisableJmx</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Class</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Indicates if JMX should be globally 
disabled in the CamelContexts that are bootstrapped &#160;during the test 
through the use of Spring Test loaded application contexts.</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>JMX is disabled</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>JMX is 
disabled</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>org.apache.camel.test.spring.ExcludeRoutes</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Clas
 s</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Indicates if 
certain route builder classes should be excluded from discovery. 
&#160;Initializes a org.apache.camel.spi.PackageScanClassResolver&#160;to 
exclude a set of given classes from being resolved. Typically this is used at 
test time to exclude certain routes,&#160;which might otherwise be just noisy, 
from being discovered and initialized.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Not enabled and no routes are excluded</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>No routes are 
excluded</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>org.apache.camel.test.spring.LazyLoadTypeConverters 
(Deprecated)</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Class</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Indicates if the&#160;CamelContexts that are 
bootstrapped during the test through the use of Spring Test&#160;loaded 
application contexts should 
 use lazy loading of type converters.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Type converters are not lazy loaded</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Type converters are not lazy 
loaded</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>org.apache.camel.test.spring.MockEndpoints</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Class</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Triggers the auto-mocking of endpoints 
whose URIs match the provided filter.&#160; The default&#160;filter is "*" 
which matches all endpoints. 
&#160;See&#160;org.apache.camel.impl.InterceptSendToMockEndpointStrategy&#160;for&#160;more
 details on the registration of the mock endpoints.</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Not enabled</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>All endpoints are sniffed and recorded in a 
mock endpoint.</p></td></tr><tr><td colspan="1" rowspan="1" class="c
 onfluenceTd"><p>org.apache.camel.test.spring.MockEndpointsAndSkip</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Class</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Triggers the auto-mocking of endpoints 
whose URIs match the provided filter.&#160; The default&#160;filter is "*", 
which matches all endpoints. &#160;See&#160;<a shape="rect" 
class="external-link" 
href="http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/InterceptSendToMockEndpointStrategy.java?view=markup";>org.apache.camel.impl.InterceptSendToMockEndpointStrategy</a>&#160;for&#160;more
 details on the registration of the mock endpoints. &#160;This annotation will 
also skip sending the message to matched endpoints as well.</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Not enabled</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>All endpoints are sniffed and 
recorded in a mock endpoint. &#160;The original endpoint is not invoked.</p></t
 d></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>org.apache.camel.test.spring.ProvidesBreakpoint</p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>Method</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Indicates that the annotated method returns 
an&#160;org.apache.camel.spi.Breakpoint&#160;for use in the test.&#160; Useful 
for intercepting&#160;traffic to all endpoints or simply for setting a break 
point in an IDE for debugging.&#160; The method must&#160;be public, static, 
take no arguments, and return org.apache.camel.spi.Breakpoint.</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>N/A</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The returned Breakpoint is registered in 
the CamelContext(s)</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>org.apache.camel.test.spring.ShutdownTimeout</p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>Class</p></td><td colspan="1" 
rowspan="1" class="confluenceT
 d"><p>Indicates to set the shutdown timeout of all CamelContexts instantiated 
through the&#160;use of Spring Test loaded application contexts.&#160; If no 
annotation is used, the timeout is&#160;automatically reduced to 10 seconds by 
the test framework.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>10 seconds</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>10 seconds</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>org.apache.camel.test.spring.UseAdviceWith</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Class</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Indicates the use of adviceWith() within 
the test class.&#160; If a class is annotated with&#160;this annotation and 
UseAdviceWith#value()&#160;returns true, any&#160;CamelContexts bootstrapped 
during the test through the use of Spring Test loaded&#160;application contexts 
will not be started automatically.&#160; The test author is responsible 
for&#160;injectin
 g the Camel contexts into the test and executing CamelContext#start()&#160;on 
them&#160;at the appropriate time after any advice has been applied to the 
routes in the CamelContext(s).</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>CamelContexts do not automatically start.</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>CamelContexts do not 
automatically start.</p></td></tr></tbody></table></div><p>The following 
example illustrates the use of the 
<strong>@MockEndpoints</strong>&#160;annotation in order to setup mock 
endpoints as interceptors on all endpoints using the Camel Log component and 
the <strong>@DisableJmx</strong> annotation to enable JMX which is disabled 
during tests by default. &#160;Note that we still use the 
<strong>@DirtiesContext</strong> annotation to ensure that the CamelContext, 
routes, and mock endpoints are reinitialized between test methods.</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent p
 dl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[@RunWith(CamelSpringJUnit4ClassRunner.class)
+@BootstrapWith(CamelTestContextBootstrapper.class)
 @ContextConfiguration
 @DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)
 @MockEndpoints(&quot;log:*&quot;)
@@ -2516,16 +2488,8 @@ public class CamelSpringJUnit4ClassRunne
         MockEndpoint.assertIsSatisfied(camelContext);
     }
 ]]></script>
-</div></div>
-
-
-<h3 id="Bookcookbook-AddingmoreMockexpectations">Adding more Mock 
expectations</h3>
-
-<p>If you wish to programmatically add any new assertions to your test you can 
easily do so with the following. Notice how we use @EndpointInject to inject a 
Camel endpoint into our code then the <a shape="rect" href="mock.html">Mock</a> 
API to add an expectation on a specific message.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-@ContextConfiguration
+</div></div><h3 id="Bookcookbook-AddingmoreMockexpectations">Adding more Mock 
expectations</h3><p>If you wish to programmatically add any new assertions to 
your test you can easily do so with the following. Notice how we use 
@EndpointInject to inject a Camel endpoint into our code then the <a 
shape="rect" href="mock.html">Mock</a> API to add an expectation on a specific 
message.</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[@ContextConfiguration
 public class MyCamelTest extends AbstractJUnit38SpringContextTests {
 
     @Autowired
@@ -2542,17 +2506,8 @@ public class MyCamelTest extends Abstrac
     }
 }
 ]]></script>
-</div></div>
-
-<h3 id="Bookcookbook-Furtherprocessingthereceivedmessages">Further processing 
the received messages</h3>
-
-<p>Sometimes once a <a shape="rect" href="mock.html">Mock</a> endpoint has 
received some messages you want to then process them further to add further 
assertions that your test case worked as you expect.</p>
-
-<p>So you can then process the received message exchanges if you like...</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-@ContextConfiguration
+</div></div><h3 id="Bookcookbook-Furtherprocessingthereceivedmessages">Further 
processing the received messages</h3><p>Sometimes once a <a shape="rect" 
href="mock.html">Mock</a> endpoint has received some messages you want to then 
process them further to add further assertions that your test case worked as 
you expect.</p><p>So you can then process the received message exchanges if you 
like...</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[@ContextConfiguration
 public class MyCamelTest extends AbstractJUnit38SpringContextTests {
 
     @Autowired
@@ -2575,17 +2530,8 @@ public class MyCamelTest extends Abstrac
     }
 }
 ]]></script>
-</div></div>
-
-<h3 id="Bookcookbook-Sendingandreceivingmessages">Sending and receiving 
messages</h3>
-
-<p>It might be that the <a shape="rect" 
href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a> 
you have defined in either <a shape="rect" href="spring.html">Spring</a> XML or 
using the Java <a shape="rect" href="dsl.html">DSL</a> do all of the sending 
and receiving and you might just  work with the <a shape="rect" 
href="mock.html">Mock</a> endpoints as described above. However sometimes in a 
test case its useful to explicitly send or receive messages directly.</p>
-
-<p>To send or receive messages you should use the <a shape="rect" 
href="bean-integration.html">Bean Integration</a> mechanism. For example to 
send messages inject a ProducerTemplate using the @EndpointInject annotation 
then call the various send methods on this object to send a message to an 
endpoint. To consume messages use the @MessageDriven annotation on a method to 
have the method invoked when a message is received.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[
-public class Foo {
+</div></div><h3 id="Bookcookbook-Sendingandreceivingmessages">Sending and 
receiving messages</h3><p>It might be that the <a shape="rect" 
href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a> 
you have defined in either <a shape="rect" href="spring.html">Spring</a> XML or 
using the Java <a shape="rect" href="dsl.html">DSL</a> do all of the sending 
and receiving and you might just work with the <a shape="rect" 
href="mock.html">Mock</a> endpoints as described above. However sometimes in a 
test case its useful to explicitly send or receive messages directly.</p><p>To 
send or receive messages you should use the <a shape="rect" 
href="bean-integration.html">Bean Integration</a> mechanism. For example to 
send messages inject a ProducerTemplate using the @EndpointInject annotation 
then call the various send methods on this object to send a message to an 
endpoint. To consume messages use the @MessageDriven annotation on a method to 
have the method invoked when a messa
 ge is received.</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" 
type="syntaxhighlighter"><![CDATA[public class Foo {
   @EndpointInject(uri=&quot;activemq:foo.bar&quot;)
   ProducerTemplate producer;
 
@@ -2601,11 +2547,7 @@ public class Foo {
   }
 }
 ]]></script>
-</div></div>
-
-<h3 id="Bookcookbook-SeeAlso.2">See Also</h3>
-
-<ul><li>A <a shape="rect" class="external-link" 
href="https://svn.apache.org/repos/asf/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/mock/InterceptSendToMockEndpointStrategyTest.java";>real
 example test case using Mock and Spring</a> along with its <a shape="rect" 
class="external-link" 
href="https://svn.apache.org/repos/asf/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/mock/InterceptSendToMockEndpointStrategyTest.xml";>Spring
 XML</a></li><li><a shape="rect" href="bean-integration.html">Bean 
Integration</a></li><li><a shape="rect" href="mock.html">Mock</a> 
endpoint</li><li><a shape="rect" href="test.html">Test</a> endpoint</li></ul>
+</div></div><h3 id="Bookcookbook-SeeAlso.2">See Also</h3><ul><li>A <a 
shape="rect" class="external-link" 
href="https://svn.apache.org/repos/asf/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/mock/InterceptSendToMockEndpointStrategyTest.java";>real
 example test case using Mock and Spring</a> along with its <a shape="rect" 
class="external-link" 
href="https://svn.apache.org/repos/asf/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/mock/InterceptSendToMockEndpointStrategyTest.xml";>Spring
 XML</a></li><li><a shape="rect" href="bean-integration.html">Bean 
Integration</a></li><li><a shape="rect" href="mock.html">Mock</a> 
endpoint</li><li><a shape="rect" href="test.html">Test</a> endpoint</li></ul>
 <h2 id="Bookcookbook-CamelGuice">Camel Guice</h2>
 
 <p>We have support for <a shape="rect" class="external-link" 
href="http://code.google.com/p/google-guice/"; rel="nofollow">Google Guice</a> 
as a dependency injection framework.</p>


Reply via email to