Author: buildbot
Date: Wed Mar  9 17:20:26 2016
New Revision: 982326

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-test.html
    websites/production/camel/content/cdi-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 Wed Mar  9 17:20:26 
2016
@@ -1081,6 +1081,7 @@ resultEndpoint.assertIsSatisfied();
 ]]></script>
 </div></div><p>There are some examples of the Mock endpoint in use in the <a 
shape="rect" class="external-link" 
href="http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/";>camel-core
 processor tests</a>.</p><h3 id="Bookcookbook-Mockingexistingendpoints">Mocking 
existing endpoints</h3><p><strong>Available as of Camel 
2.7</strong></p><p>Camel now allows you to automatically mock existing 
endpoints in your Camel routes.</p><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">How it 
works</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p><strong>Important:</strong> The 
endpoints are still in action. What happens differently is that a <a 
shape="rect" href="mock.html">Mock</a> endpoint is injected and receives the 
message first and then delegates the message to the target endpoint. You can 
view this as a
  kind of intercept and delegate or endpoint 
listener.</p></div></div><p>Suppose you have the given route below:</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeHeader 
panelHeader pdl" style="border-bottom-width: 1px;"><b>Route</b></div><div 
class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
+// tag::route[]
 @Override
 protected RouteBuilder createRouteBuilder() throws Exception {
     return new RouteBuilder() {
@@ -1092,9 +1093,11 @@ protected RouteBuilder createRouteBuilde
         }
     };
 }
+// end::route[]
 ]]></script>
 </div></div><p>You can then use the <code>adviceWith</code> feature in Camel 
to mock all the endpoints in a given route from your unit test, as shown 
below:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeHeader panelHeader pdl" style="border-bottom-width: 
1px;"><b>adviceWith mocking all endpoints</b></div><div class="codeContent 
panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
+// tag::e1[]
 public void testAdvisedMockEndpoints() throws Exception {
     // advice the first route using the inlined AdviceWith route builder
     // which has extended capabilities than the regular route builder
@@ -1125,12 +1128,14 @@ public void testAdvisedMockEndpoints() t
     assertNotNull(context.hasEndpoint(&quot;mock:direct:foo&quot;));
     assertNotNull(context.hasEndpoint(&quot;mock:log:foo&quot;));
 }
+// end::e1[]
 ]]></script>
 </div></div><p>Notice that the mock endpoints is given the uri 
<code>mock:&lt;endpoint&gt;</code>, for example <code>mock:direct:foo</code>. 
Camel logs at <code>INFO</code> level the endpoints being mocked:</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[INFO  Adviced endpoint [direct://foo] with 
mock endpoint [mock:direct:foo]
 ]]></script>
 </div></div><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Mocked endpoints are 
without parameters</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>Endpoints which are mocked will 
have their parameters stripped off. For example the endpoint 
"log:foo?showAll=true" will be mocked to the following endpoint "mock:log:foo". 
Notice the parameters have been removed.</p></div></div><p>Its also possible to 
only mock certain endpoints using a pattern. For example to mock all 
<code>log</code> endpoints you do as shown:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>adviceWith mocking only log endpoints 
using a pattern</b></div><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
+// tag::e2[]
 public void testAdvisedMockEndpointsWithPattern() throws Exception {
     // advice the first route using the inlined AdviceWith route builder
     // which has extended capabilities than the regular route builder
@@ -1161,9 +1166,11 @@ public void testAdvisedMockEndpointsWith
     assertNull(context.hasEndpoint(&quot;mock:direct:start&quot;));
     assertNull(context.hasEndpoint(&quot;mock:direct:foo&quot;));
 }
+// end::e2[]
 ]]></script>
 </div></div><p>The pattern supported can be a wildcard or a regular 
expression. See more details about this at <a shape="rect" 
href="intercept.html">Intercept</a> as its the same matching function used by 
Camel.</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>Mind that mocking endpoints causes 
the messages to be copied when they arrive on the mock.<br clear="none"> That 
means Camel will use more memory. This may not be suitable when you send in a 
lot of messages.</p></div></div><h4 
id="Bookcookbook-Mockingexistingendpointsusingthecamel-testcomponent">Mocking 
existing endpoints using the <code>camel-test</code> component</h4><p>Instead 
of using the <code>adviceWith</code> to instruct Camel to mock endpoints, you 
can easily enable this behavior when using the <code>camel-test</code> Test 
Kit.<br clear="
 none"> The same route can be tested as follows. Notice that we return 
<code>"*"</code> from the <code>isMockEndpoints</code> method, which tells 
Camel to mock all endpoints.<br clear="none"> If you only want to mock all 
<code>log</code> endpoints you can return <code>"log*"</code> instead.</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeHeader 
panelHeader pdl" style="border-bottom-width: 1px;"><b>isMockEndpoints using 
camel-test kit</b></div><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
+// tag::e1[]
 public class IsMockEndpointsJUnit4Test extends CamelTestSupport {
 
     @Override
@@ -1208,9 +1215,11 @@ public class IsMockEndpointsJUnit4Test e
         };
     }
 }
+// end::e1[]
 ]]></script>
 </div></div><h4 id="Bookcookbook-MockingexistingendpointswithXMLDSL">Mocking 
existing endpoints with XML DSL</h4><p>If you do not use the 
<code>camel-test</code> component for unit testing (as shown above) you can use 
a different approach when using XML files for routes.<br clear="none"> The 
solution is to create a new XML file used by the unit test and then include the 
intended XML file which has the route you want to test.</p><p>Suppose we have 
the route in the <code>camel-route.xml</code> file:</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>camel-route.xml</b></div><div 
class="codeContent panelContent pdl">
 <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
+&lt;!-- tag::e1[] --&gt;
 &lt;!-- this camel route is in the camel-route.xml file --&gt;
 &lt;camelContext xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
 
@@ -1229,14 +1238,17 @@ public class IsMockEndpointsJUnit4Test e
     &lt;/route&gt;
 
 &lt;/camelContext&gt;
+&lt;!-- end::e1[] --&gt;
 ]]></script>
 </div></div><p>Then we create a new XML file as follows, where we include the 
<code>camel-route.xml</code> file and define a spring bean with the class 
<code>org.apache.camel.impl.InterceptSendToMockEndpointStrategy</code> which 
tells Camel to mock all endpoints:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>test-camel-route.xml</b></div><div 
class="codeContent panelContent pdl">
 <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
+&lt;!-- tag::e1[] --&gt;
 &lt;!-- the Camel route is defined in another XML file --&gt;
 &lt;import resource=&quot;camel-route.xml&quot;/&gt;
 
 &lt;!-- bean which enables mocking all endpoints --&gt;
 &lt;bean id=&quot;mockAllEndpoints&quot; 
class=&quot;org.apache.camel.impl.InterceptSendToMockEndpointStrategy&quot;/&gt;
+&lt;!-- end::e1[] --&gt;
 ]]></script>
 </div></div><p>Then in your unit test you load the new XML file 
(<code>test-camel-route.xml</code>) instead of 
<code>camel-route.xml</code>.</p><p>To only mock all <a shape="rect" 
href="log.html">Log</a> endpoints you can define the pattern in the constructor 
for the bean:</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;bean id=&quot;mockAllEndpoints&quot; 
class=&quot;org.apache.camel.impl.InterceptSendToMockEndpointStrategy&quot;&gt;
@@ -1245,6 +1257,7 @@ public class IsMockEndpointsJUnit4Test e
 ]]></script>
 </div></div><h4 
id="Bookcookbook-Mockingendpointsandskipsendingtooriginalendpoint">Mocking 
endpoints and skip sending to original endpoint</h4><p><strong>Available as of 
Camel 2.10</strong></p><p>Sometimes you want to easily mock and skip sending to 
a certain endpoints. So the message is detoured and send to the mock endpoint 
only. From Camel 2.10 onwards you can now use the 
<code>mockEndpointsAndSkip</code> method using <a shape="rect" 
href="advicewith.html">AdviceWith</a> or the <a shape="rect" class="unresolved" 
href="#">Test Kit</a>. The example below will skip sending to the two endpoints 
<code>"direct:foo"</code>, and <code>"direct:bar"</code>.</p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>adviceWith mock and skip sending to 
endpoints</b></div><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
+// tag::e1[]
 public void testAdvisedMockEndpointsWithSkip() throws Exception {
     // advice the first route using the inlined AdviceWith route builder
     // which has extended capabilities than the regular route builder
@@ -1268,9 +1281,11 @@ public void testAdvisedMockEndpointsWith
     SedaEndpoint seda = context.getEndpoint(&quot;seda:foo&quot;, 
SedaEndpoint.class);
     assertEquals(0, seda.getCurrentQueueSize());
 }
+// end::e1[]
 ]]></script>
 </div></div><p>The same example using the <a shape="rect" 
href="testing.html">Test Kit</a></p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>isMockEndpointsAndSkip using camel-test 
kit</b></div><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
+// tag::e1[]
 public class IsMockEndpointsAndSkipJUnit4Test extends CamelTestSupport {
 
     @Override
@@ -1307,6 +1322,7 @@ public class IsMockEndpointsAndSkipJUnit
         };
     }
 }
+// end::e1[]
 ]]></script>
 </div></div><h3 id="Bookcookbook-Limitingthenumberofmessagestokeep">Limiting 
the number of messages to keep</h3><p><strong>Available as of Camel 
2.10</strong></p><p>The <a shape="rect" href="mock.html">Mock</a> endpoints 
will by default keep a copy of every <a shape="rect" 
href="exchange.html">Exchange</a> that it received. So if you test with a lot 
of messages, then it will consume memory.<br clear="none"> From Camel 2.10 
onwards we have introduced two options <code>retainFirst</code> and 
<code>retainLast</code> that can be used to specify to only keep N'th of the 
first and/or last <a shape="rect" href="exchange.html">Exchange</a>s.</p><p>For 
example in the code below, we only want to retain a copy of the first 5 and 
last 5 <a shape="rect" href="exchange.html">Exchange</a>s the mock 
receives.</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[  MockEndpoint mock = 
getMockEndpoint(&quot;mock:data&quot;);
@@ -1743,7 +1759,7 @@ public class DebugBlueprintTest extends
 &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;
            xsi:schemaLocation=&quot;
-             http://www.osgi.org/xmlns/blueprint/v1.0.0 
http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd&quot;&gt;
+             http://www.osgi.org/xmlns/blueprint/v1.0.0 
https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd&quot;&gt;
 
   &lt;camelContext 
xmlns=&quot;http://camel.apache.org/schema/blueprint&quot;&gt;
 
@@ -1782,7 +1798,7 @@ public class DebugBlueprintTest extends
 <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="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.xm
 l</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">
+<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;
   &lt;artifactId&gt;camel-test&lt;/artifactId&gt;
@@ -1855,7 +1871,7 @@ public class FilterTest extends CamelTes
     }
 }
 ]]></script>
-</div></div><p>Notice how you can use the various <a shape="rect" 
href="bean-integration.html">Camel binding and injection annotations</a> to 
inject individual <a shape="rect" href="endpoint.html">Endpoint</a> objects - 
particularly the <a shape="rect" href="mock.html">Mock endpoints</a> which are 
very useful for <a shape="rect" href="testing.html">Testing</a>. Also you can 
inject <a shape="rect" href="pojo-producing.html">producer objects such as 
ProducerTemplate or some application code interface</a> for sending messages or 
invoking services.</p><h4 
id="Bookcookbook-FeaturesProvidedbyCamelTestSupport">Features Provided by 
CamelTestSupport</h4><p>The various <strong>CamelTestSupport</strong> classes 
provide a standard set of behaviors relating to the CamelContext used to host 
the route(s) under test. &#160;The classes provide a number of methods that 
allow a test to alter the configuration of the CamelContext used. &#160;The 
following table describes the available customization met
 hods and the default behavior of tests that are built from 
a&#160;<strong>CamelTestSupport</strong> class.</p><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Method Name</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Default Behavior</p></th></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>boolean 
isUseRouteBuilder()</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>If the route builders from returned 
from&#160;<strong>createRouteBuilder()</strong> or 
<strong>createRouteBuilders()</strong> should be added to the CamelContext used 
in the test should be started.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Returns true. 
&#160;<strong>createRouteBuilder()</strong>&#160;or&#160;<strong>createRouteBuilders()</strong>
 are invoked and the CamelContext is started 
automatically.</p></td></tr><tr><td col
 span="1" rowspan="1" class="confluenceTd"><p>boolean 
isUseAdviceWith()</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>If the CamelContext use in the test should be 
automatically started before test methods are invoked. <br clear="none" 
class="atl-forced-newline"> Override when using <a shape="rect" 
href="advicewith.html">advice with</a>&#160;and return true. &#160;This helps 
in knowing the adviceWith is to be used, and the&#160;CamelContext&#160;will 
not be started before&#160;the advice with takes place. This delay helps by 
ensuring the advice with has been property setup before 
the&#160;CamelContext&#160;is started.</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>Its important to start the 
CamelContext manually from the unit test after you are done doing all the 
advice with.</p></div></
 div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns false. 
&#160;the CamelContext is started automatically before test methods are 
invoked.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>boolean isCreateCamelContextPerClass()</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>See&#160;<a shape="rect" 
href="#Bookcookbook-SetupCamelContextonceperclass,orpereverytestmethod">Setup 
CamelContext once per class, or per every test method</a>.</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The CamelContext and routes are 
recreated for each test method.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>String isMockEndpoints()</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 null 
which disables this feature. &#160;Return "*" &#160;to match all endpoints. 
&#160;See&#160;org.apache.camel.impl.Inte
 rceptSendToMockEndpointStrategy&#160;for&#160;more details on the registration 
of the mock endpoints.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Disabled</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>boolean isUseDebugger()</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>If this method returns true, 
the&#160;<strong>debugBefore(Exchange exchange, Processor processor, 
ProcessorDefinition&lt;?&gt; definition,&#160;String id, String 
label)</strong>&#160;and&#160;<br clear="none" class="atl-forced-newline"> 
<strong>debugAfter(Exchange exchange, Processor processor, 
ProcessorDefinition&lt;?&gt; definition,&#160;String id, String label, long 
timeTaken)</strong>&#160;methods are invoked for each processor in the 
registered routes.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Disabled. &#160;The methods are not invoked during the 
test.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>int 
getShutdownTimeou
 t()</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns the 
number of seconds that Camel should wait for graceful shutdown. &#160;Useful 
for decreasing test times when a message is still in flight at the end of the 
test.</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns 10 
seconds.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>boolean useJmx()</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>If JMX should be disabled on the CamelContext used in 
the test.</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>JndiRegistry createRegistry()</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Provides a hook for adding objects into the 
registry. &#160;Override this method to bind objects to the registry before 
test methods are invoked.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>An empty registry is initial
 ized.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>useOverridePropertiesWithPropertiesComponent</p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Allows to add/override properties when <a shape="rect" 
href="using-propertyplaceholder.html">Using PropertyPlaceholder</a> in 
Camel.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>null</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>ignoreMissingLocationWithPropertiesComponent</p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Allows to control if Camel should ignore missing locations for 
properties.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>null</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">boolean isDumpRouteCoverage</td><td colspan="1" 
rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong> If enabled, then 
Camel will dump all route coverage statistics into XML
  files in the target/camel-route-coverage directory. These XML files contains 
information about "route coverage" of all the routes that was used during the 
unit test. This allows tooling to inspect these XML files and generate nice 
route coverage reports.</td><td colspan="1" rowspan="1" 
class="confluenceTd">Disabled.</td></tr></tbody></table></div><h3 
id="Bookcookbook-JNDI">JNDI</h3><p>Camel uses a <a shape="rect" 
href="registry.html">Registry</a> to allow you to configure <a shape="rect" 
href="component.html">Component</a> or <a shape="rect" 
href="endpoint.html">Endpoint</a> instances or <a shape="rect" 
href="bean-integration.html">Beans used in your routes</a>. If you are not 
using <a shape="rect" href="spring.html">Spring</a> or <a shape="rect" 
class="unresolved" href="#">OSGi</a> then <a shape="rect" 
href="jndi.html">JNDI</a> is used as the default registry 
implementation.</p><p>So you will also need to create a 
<strong>jndi.properties</strong> file in your <strong>src/test/reso
 urces</strong> directory so that there is a default registry available to 
initialise the <a shape="rect" 
href="camelcontext.html">CamelContext</a>.</p><p>Here is <a shape="rect" 
class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-test/src/test/resources/jndi.properties";>an
 example jndi.properties file</a></p><h3 
id="Bookcookbook-Dynamicallyassigningports">Dynamically assigning 
ports</h3><p><strong>Available as of Camel 2.7</strong></p><p>Tests that use 
port numbers will fail if that port is already on use. 
<code>AvailablePortFinder</code> provides methods for finding unused port 
numbers at runtime.</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+</div></div>Notice how you can use the various <a shape="rect" 
href="bean-integration.html">Camel binding and injection annotations</a> to 
inject individual <a shape="rect" href="endpoint.html">Endpoint</a> objects - 
particularly the <a shape="rect" href="mock.html">Mock endpoints</a> which are 
very useful for <a shape="rect" href="testing.html">Testing</a>. Also you can 
inject <a shape="rect" href="pojo-producing.html">producer objects such as 
ProducerTemplate or some application code interface</a> for sending messages or 
invoking services.<h4 
id="Bookcookbook-FeaturesProvidedbyCamelTestSupport">Features Provided by 
CamelTestSupport</h4><p>The various <strong>CamelTestSupport</strong> classes 
provide a standard set of behaviors relating to the CamelContext used to host 
the route(s) under test. &#160;The classes provide a number of methods that 
allow a test to alter the configuration of the CamelContext used. &#160;The 
following table describes the available customization methods an
 d the default behavior of tests that are built from 
a&#160;<strong>CamelTestSupport</strong> class.</p><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Method Name</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Default Behavior</p></th></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>boolean 
isUseRouteBuilder()</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>If the route builders from returned 
from&#160;<strong>createRouteBuilder()</strong> or 
<strong>createRouteBuilders()</strong> should be added to the CamelContext used 
in the test should be started.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Returns true. 
&#160;<strong>createRouteBuilder()</strong>&#160;or&#160;<strong>createRouteBuilders()</strong>
 are invoked and the CamelContext is started 
automatically.</p></td></tr><tr><td colspan="1
 " rowspan="1" class="confluenceTd"><p>boolean isUseAdviceWith()</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>If the CamelContext use in the 
test should be automatically started before test methods are invoked. <br 
clear="none" class="atl-forced-newline"> Override when using <a shape="rect" 
href="advicewith.html">advice with</a>&#160;and return true. &#160;This helps 
in knowing the adviceWith is to be used, and the&#160;CamelContext&#160;will 
not be started before&#160;the advice with takes place. This delay helps by 
ensuring the advice with has been property setup before 
the&#160;CamelContext&#160;is started.</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>Its important to start the 
CamelContext manually from the unit test after you are done doing all the 
advice with.</p></div></div></t
 d><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns false. &#160;the 
CamelContext is started automatically before test methods are 
invoked.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>boolean isCreateCamelContextPerClass()</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>See&#160;<a shape="rect" 
href="#Bookcookbook-SetupCamelContextonceperclass,orpereverytestmethod">Setup 
CamelContext once per class, or per every test method</a>.</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The CamelContext and routes are 
recreated for each test method.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>String isMockEndpoints()</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 null 
which disables this feature. &#160;Return "*" &#160;to match all endpoints. 
&#160;See&#160;org.apache.camel.impl.InterceptSe
 ndToMockEndpointStrategy&#160;for&#160;more details on the registration of the 
mock endpoints.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Disabled</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>boolean isUseDebugger()</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>If this method returns true, 
the&#160;<strong>debugBefore(Exchange exchange, Processor processor, 
ProcessorDefinition&lt;?&gt; definition,&#160;String id, String 
label)</strong>&#160;and&#160;<br clear="none" class="atl-forced-newline"> 
<strong>debugAfter(Exchange exchange, Processor processor, 
ProcessorDefinition&lt;?&gt; definition,&#160;String id, String label, long 
timeTaken)</strong>&#160;methods are invoked for each processor in the 
registered routes.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Disabled. &#160;The methods are not invoked during the 
test.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>int 
getShutdownTimeout()</p>
 </td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns the number of 
seconds that Camel should wait for graceful shutdown. &#160;Useful for 
decreasing test times when a message is still in flight at the end of the 
test.</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns 10 
seconds.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>boolean useJmx()</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>If JMX should be disabled on the CamelContext used in 
the test.</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>JndiRegistry createRegistry()</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Provides a hook for adding objects into the 
registry. &#160;Override this method to bind objects to the registry before 
test methods are invoked.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>An empty registry is initialized.</
 p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>useOverridePropertiesWithPropertiesComponent</p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Allows to add/override properties when <a shape="rect" 
href="using-propertyplaceholder.html">Using PropertyPlaceholder</a> in 
Camel.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>null</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>ignoreMissingLocationWithPropertiesComponent</p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Allows to control if Camel should ignore missing locations for 
properties.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>null</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">boolean isDumpRouteCoverage</td><td colspan="1" 
rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong> If enabled, then 
Camel will dump all route coverage statistics into XML files 
 in the target/camel-route-coverage directory. These XML files contains 
information about "route coverage" of all the routes that was used during the 
unit test. This allows tooling to inspect these XML files and generate nice 
route coverage reports.</td><td colspan="1" rowspan="1" 
class="confluenceTd">Disabled.</td></tr></tbody></table></div><h3 
id="Bookcookbook-JNDI">JNDI</h3><p>Camel uses a <a shape="rect" 
href="registry.html">Registry</a> to allow you to configure <a shape="rect" 
href="component.html">Component</a> or <a shape="rect" 
href="endpoint.html">Endpoint</a> instances or <a shape="rect" 
href="bean-integration.html">Beans used in your routes</a>. If you are not 
using <a shape="rect" href="spring.html">Spring</a> or <a shape="rect" 
class="unresolved" href="#">OSGi</a> then <a shape="rect" 
href="jndi.html">JNDI</a> is used as the default registry 
implementation.</p><p>So you will also need to create a 
<strong>jndi.properties</strong> file in your <strong>src/test/resources</
 strong> directory so that there is a default registry available to initialise 
the <a shape="rect" href="camelcontext.html">CamelContext</a>.</p><p>Here is <a 
shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-test/src/test/resources/jndi.properties";>an
 example jndi.properties file</a></p><h3 
id="Bookcookbook-Dynamicallyassigningports">Dynamically assigning 
ports</h3><p><strong>Available as of Camel 2.7</strong></p><p>Tests that use 
port numbers will fail if that port is already on use. 
<code>AvailablePortFinder</code> provides methods for finding unused port 
numbers at runtime.</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[// Get the next available port number 
starting from the default starting port of 1024
 int port1 = AvailablePortFinder.getNextAvailable();
 /*

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 Wed Mar  9 17:20:26 
2016
@@ -2861,7 +2861,7 @@ public class DebugBlueprintTest extends
 <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="BookInOnePage-CamelTest">Camel Test</h2><p>As a simple alternative to 
using <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">
+<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;
   &lt;artifactId&gt;camel-test&lt;/artifactId&gt;
@@ -2934,7 +2934,7 @@ public class FilterTest extends CamelTes
     }
 }
 ]]></script>
-</div></div><p>Notice how you can use the various <a shape="rect" 
href="bean-integration.html">Camel binding and injection annotations</a> to 
inject individual <a shape="rect" href="endpoint.html">Endpoint</a> objects - 
particularly the <a shape="rect" href="mock.html">Mock endpoints</a> which are 
very useful for <a shape="rect" href="testing.html">Testing</a>. Also you can 
inject <a shape="rect" href="pojo-producing.html">producer objects such as 
ProducerTemplate or some application code interface</a> for sending messages or 
invoking services.</p><h4 
id="BookInOnePage-FeaturesProvidedbyCamelTestSupport">Features Provided by 
CamelTestSupport</h4><p>The various <strong>CamelTestSupport</strong> classes 
provide a standard set of behaviors relating to the CamelContext used to host 
the route(s) under test. &#160;The classes provide a number of methods that 
allow a test to alter the configuration of the CamelContext used. &#160;The 
following table describes the available customization me
 thods and the default behavior of tests that are built from 
a&#160;<strong>CamelTestSupport</strong> class.</p><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Method Name</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Default Behavior</p></th></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>boolean 
isUseRouteBuilder()</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>If the route builders from returned 
from&#160;<strong>createRouteBuilder()</strong> or 
<strong>createRouteBuilders()</strong> should be added to the CamelContext used 
in the test should be started.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Returns true. 
&#160;<strong>createRouteBuilder()</strong>&#160;or&#160;<strong>createRouteBuilders()</strong>
 are invoked and the CamelContext is started 
automatically.</p></td></tr><tr><td co
 lspan="1" rowspan="1" class="confluenceTd"><p>boolean 
isUseAdviceWith()</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>If the CamelContext use in the test should be 
automatically started before test methods are invoked. <br clear="none" 
class="atl-forced-newline"> Override when using <a shape="rect" 
href="advicewith.html">advice with</a>&#160;and return true. &#160;This helps 
in knowing the adviceWith is to be used, and the&#160;CamelContext&#160;will 
not be started before&#160;the advice with takes place. This delay helps by 
ensuring the advice with has been property setup before 
the&#160;CamelContext&#160;is started.</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>Its important to start the 
CamelContext manually from the unit test after you are done doing all the 
advice with.</p></div><
 /div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns false. 
&#160;the CamelContext is started automatically before test methods are 
invoked.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>boolean isCreateCamelContextPerClass()</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>See&#160;<a shape="rect" 
href="#BookInOnePage-SetupCamelContextonceperclass,orpereverytestmethod">Setup 
CamelContext once per class, or per every test method</a>.</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The CamelContext and routes are 
recreated for each test method.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>String isMockEndpoints()</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 null 
which disables this feature. &#160;Return "*" &#160;to match all endpoints. 
&#160;See&#160;org.apache.camel.impl.In
 terceptSendToMockEndpointStrategy&#160;for&#160;more details on the 
registration of the mock endpoints.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Disabled</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>boolean isUseDebugger()</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>If this method returns true, 
the&#160;<strong>debugBefore(Exchange exchange, Processor processor, 
ProcessorDefinition&lt;?&gt; definition,&#160;String id, String 
label)</strong>&#160;and&#160;<br clear="none" class="atl-forced-newline"> 
<strong>debugAfter(Exchange exchange, Processor processor, 
ProcessorDefinition&lt;?&gt; definition,&#160;String id, String label, long 
timeTaken)</strong>&#160;methods are invoked for each processor in the 
registered routes.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Disabled. &#160;The methods are not invoked during the 
test.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>int 
getShutdownTime
 out()</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns the 
number of seconds that Camel should wait for graceful shutdown. &#160;Useful 
for decreasing test times when a message is still in flight at the end of the 
test.</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns 10 
seconds.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>boolean useJmx()</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>If JMX should be disabled on the CamelContext used in 
the test.</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>JndiRegistry createRegistry()</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Provides a hook for adding objects into the 
registry. &#160;Override this method to bind objects to the registry before 
test methods are invoked.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>An empty registry is initi
 alized.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>useOverridePropertiesWithPropertiesComponent</p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Allows to add/override properties when <a shape="rect" 
href="using-propertyplaceholder.html">Using PropertyPlaceholder</a> in 
Camel.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>null</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>ignoreMissingLocationWithPropertiesComponent</p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Allows to control if Camel should ignore missing locations for 
properties.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>null</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">boolean isDumpRouteCoverage</td><td colspan="1" 
rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong> If enabled, then 
Camel will dump all route coverage statistics into X
 ML files in the target/camel-route-coverage directory. These XML files 
contains information about "route coverage" of all the routes that was used 
during the unit test. This allows tooling to inspect these XML files and 
generate nice route coverage reports.</td><td colspan="1" rowspan="1" 
class="confluenceTd">Disabled.</td></tr></tbody></table></div><h3 
id="BookInOnePage-JNDI">JNDI</h3><p>Camel uses a <a shape="rect" 
href="registry.html">Registry</a> to allow you to configure <a shape="rect" 
href="component.html">Component</a> or <a shape="rect" 
href="endpoint.html">Endpoint</a> instances or <a shape="rect" 
href="bean-integration.html">Beans used in your routes</a>. If you are not 
using <a shape="rect" href="spring.html">Spring</a> or <a shape="rect" 
class="unresolved" href="#">OSGi</a> then <a shape="rect" 
href="jndi.html">JNDI</a> is used as the default registry 
implementation.</p><p>So you will also need to create a 
<strong>jndi.properties</strong> file in your <strong>src/test/r
 esources</strong> directory so that there is a default registry available to 
initialise the <a shape="rect" 
href="camelcontext.html">CamelContext</a>.</p><p>Here is <a shape="rect" 
class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-test/src/test/resources/jndi.properties";>an
 example jndi.properties file</a></p><h3 
id="BookInOnePage-Dynamicallyassigningports">Dynamically assigning 
ports</h3><p><strong>Available as of Camel 2.7</strong></p><p>Tests that use 
port numbers will fail if that port is already on use. 
<code>AvailablePortFinder</code> provides methods for finding unused port 
numbers at runtime.</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+</div></div>Notice how you can use the various <a shape="rect" 
href="bean-integration.html">Camel binding and injection annotations</a> to 
inject individual <a shape="rect" href="endpoint.html">Endpoint</a> objects - 
particularly the <a shape="rect" href="mock.html">Mock endpoints</a> which are 
very useful for <a shape="rect" href="testing.html">Testing</a>. Also you can 
inject <a shape="rect" href="pojo-producing.html">producer objects such as 
ProducerTemplate or some application code interface</a> for sending messages or 
invoking services.<h4 
id="BookInOnePage-FeaturesProvidedbyCamelTestSupport">Features Provided by 
CamelTestSupport</h4><p>The various <strong>CamelTestSupport</strong> classes 
provide a standard set of behaviors relating to the CamelContext used to host 
the route(s) under test. &#160;The classes provide a number of methods that 
allow a test to alter the configuration of the CamelContext used. &#160;The 
following table describes the available customization methods a
 nd the default behavior of tests that are built from 
a&#160;<strong>CamelTestSupport</strong> class.</p><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Method Name</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Default Behavior</p></th></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>boolean 
isUseRouteBuilder()</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>If the route builders from returned 
from&#160;<strong>createRouteBuilder()</strong> or 
<strong>createRouteBuilders()</strong> should be added to the CamelContext used 
in the test should be started.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Returns true. 
&#160;<strong>createRouteBuilder()</strong>&#160;or&#160;<strong>createRouteBuilders()</strong>
 are invoked and the CamelContext is started 
automatically.</p></td></tr><tr><td colspan="
 1" rowspan="1" class="confluenceTd"><p>boolean isUseAdviceWith()</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>If the CamelContext use in the 
test should be automatically started before test methods are invoked. <br 
clear="none" class="atl-forced-newline"> Override when using <a shape="rect" 
href="advicewith.html">advice with</a>&#160;and return true. &#160;This helps 
in knowing the adviceWith is to be used, and the&#160;CamelContext&#160;will 
not be started before&#160;the advice with takes place. This delay helps by 
ensuring the advice with has been property setup before 
the&#160;CamelContext&#160;is started.</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>Its important to start the 
CamelContext manually from the unit test after you are done doing all the 
advice with.</p></div></div></
 td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns false. 
&#160;the CamelContext is started automatically before test methods are 
invoked.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>boolean isCreateCamelContextPerClass()</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>See&#160;<a shape="rect" 
href="#BookInOnePage-SetupCamelContextonceperclass,orpereverytestmethod">Setup 
CamelContext once per class, or per every test method</a>.</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The CamelContext and routes are 
recreated for each test method.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>String isMockEndpoints()</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 null 
which disables this feature. &#160;Return "*" &#160;to match all endpoints. 
&#160;See&#160;org.apache.camel.impl.Intercept
 SendToMockEndpointStrategy&#160;for&#160;more details on the registration of 
the mock endpoints.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Disabled</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>boolean isUseDebugger()</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>If this method returns true, 
the&#160;<strong>debugBefore(Exchange exchange, Processor processor, 
ProcessorDefinition&lt;?&gt; definition,&#160;String id, String 
label)</strong>&#160;and&#160;<br clear="none" class="atl-forced-newline"> 
<strong>debugAfter(Exchange exchange, Processor processor, 
ProcessorDefinition&lt;?&gt; definition,&#160;String id, String label, long 
timeTaken)</strong>&#160;methods are invoked for each processor in the 
registered routes.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Disabled. &#160;The methods are not invoked during the 
test.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>int 
getShutdownTimeout()</
 p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns the number 
of seconds that Camel should wait for graceful shutdown. &#160;Useful for 
decreasing test times when a message is still in flight at the end of the 
test.</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns 10 
seconds.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>boolean useJmx()</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>If JMX should be disabled on the CamelContext used in 
the test.</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>JndiRegistry createRegistry()</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Provides a hook for adding objects into the 
registry. &#160;Override this method to bind objects to the registry before 
test methods are invoked.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>An empty registry is initialized.
 </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>useOverridePropertiesWithPropertiesComponent</p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Allows to add/override properties when <a shape="rect" 
href="using-propertyplaceholder.html">Using PropertyPlaceholder</a> in 
Camel.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>null</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>ignoreMissingLocationWithPropertiesComponent</p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Allows to control if Camel should ignore missing locations for 
properties.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>null</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">boolean isDumpRouteCoverage</td><td colspan="1" 
rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong> If enabled, then 
Camel will dump all route coverage statistics into XML file
 s in the target/camel-route-coverage directory. These XML files contains 
information about "route coverage" of all the routes that was used during the 
unit test. This allows tooling to inspect these XML files and generate nice 
route coverage reports.</td><td colspan="1" rowspan="1" 
class="confluenceTd">Disabled.</td></tr></tbody></table></div><h3 
id="BookInOnePage-JNDI">JNDI</h3><p>Camel uses a <a shape="rect" 
href="registry.html">Registry</a> to allow you to configure <a shape="rect" 
href="component.html">Component</a> or <a shape="rect" 
href="endpoint.html">Endpoint</a> instances or <a shape="rect" 
href="bean-integration.html">Beans used in your routes</a>. If you are not 
using <a shape="rect" href="spring.html">Spring</a> or <a shape="rect" 
class="unresolved" href="#">OSGi</a> then <a shape="rect" 
href="jndi.html">JNDI</a> is used as the default registry 
implementation.</p><p>So you will also need to create a 
<strong>jndi.properties</strong> file in your <strong>src/test/resource
 s</strong> directory so that there is a default registry available to 
initialise the <a shape="rect" 
href="camelcontext.html">CamelContext</a>.</p><p>Here is <a shape="rect" 
class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-test/src/test/resources/jndi.properties";>an
 example jndi.properties file</a></p><h3 
id="BookInOnePage-Dynamicallyassigningports">Dynamically assigning 
ports</h3><p><strong>Available as of Camel 2.7</strong></p><p>Tests that use 
port numbers will fail if that port is already on use. 
<code>AvailablePortFinder</code> provides methods for finding unused port 
numbers at runtime.</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[// Get the next available port number 
starting from the default starting port of 1024
 int port1 = AvailablePortFinder.getNextAvailable();
 /*
@@ -3758,11 +3758,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.rbtoc1457536774712 {padding: 0px;}
-div.rbtoc1457536774712 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1457536774712 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1457543930968 {padding: 0px;}
+div.rbtoc1457543930968 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1457543930968 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1457536774712">
+/*]]>*/</style></p><div class="toc-macro rbtoc1457543930968">
 <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 +5877,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.rbtoc1457536776170 {padding: 0px;}
-div.rbtoc1457536776170 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1457536776170 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1457543932046 {padding: 0px;}
+div.rbtoc1457543932046 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1457543932046 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1457536776170">
+/*]]>*/</style><div class="toc-macro rbtoc1457543932046">
 <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 +17336,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.rbtoc1457536830281 {padding: 0px;}
-div.rbtoc1457536830281 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1457536830281 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1457543938682 {padding: 0px;}
+div.rbtoc1457543938682 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1457543938682 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1457536830281">
+/*]]>*/</style></p><div class="toc-macro rbtoc1457543938682">
 <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.

Modified: websites/production/camel/content/camel-test.html
==============================================================================
--- websites/production/camel/content/camel-test.html (original)
+++ websites/production/camel/content/camel-test.html Wed Mar  9 17:20:26 2016
@@ -86,7 +86,7 @@
        <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 id="CamelTest-CamelTest">Camel 
Test</h2><p>As a simple alternative to using <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="CamelTest-Addingtoyo
 urpom.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="CamelTest-JUnit">JUnit</h4><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><h2 id="CamelTest-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="CamelTest-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="CamelTest-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;
   &lt;artifactId&gt;camel-test&lt;/artifactId&gt;
@@ -159,7 +159,7 @@ public class FilterTest extends CamelTes
     }
 }
 ]]></script>
-</div></div><p>Notice how you can use the various <a shape="rect" 
href="bean-integration.html">Camel binding and injection annotations</a> to 
inject individual <a shape="rect" href="endpoint.html">Endpoint</a> objects - 
particularly the <a shape="rect" href="mock.html">Mock endpoints</a> which are 
very useful for <a shape="rect" href="testing.html">Testing</a>. Also you can 
inject <a shape="rect" href="pojo-producing.html">producer objects such as 
ProducerTemplate or some application code interface</a> for sending messages or 
invoking services.</p><h4 
id="CamelTest-FeaturesProvidedbyCamelTestSupport">Features Provided by 
CamelTestSupport</h4><p>The various <strong>CamelTestSupport</strong> classes 
provide a standard set of behaviors relating to the CamelContext used to host 
the route(s) under test. &#160;The classes provide a number of methods that 
allow a test to alter the configuration of the CamelContext used. &#160;The 
following table describes the available customization method
 s and the default behavior of tests that are built from 
a&#160;<strong>CamelTestSupport</strong> class.</p><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Method Name</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Default Behavior</p></th></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>boolean 
isUseRouteBuilder()</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>If the route builders from returned 
from&#160;<strong>createRouteBuilder()</strong> or 
<strong>createRouteBuilders()</strong> should be added to the CamelContext used 
in the test should be started.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Returns true. 
&#160;<strong>createRouteBuilder()</strong>&#160;or&#160;<strong>createRouteBuilders()</strong>
 are invoked and the CamelContext is started 
automatically.</p></td></tr><tr><td colspa
 n="1" rowspan="1" class="confluenceTd"><p>boolean 
isUseAdviceWith()</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>If the CamelContext use in the test should be 
automatically started before test methods are invoked. <br clear="none" 
class="atl-forced-newline"> Override when using <a shape="rect" 
href="advicewith.html">advice with</a>&#160;and return true. &#160;This helps 
in knowing the adviceWith is to be used, and the&#160;CamelContext&#160;will 
not be started before&#160;the advice with takes place. This delay helps by 
ensuring the advice with has been property setup before 
the&#160;CamelContext&#160;is started.</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>Its important to start the 
CamelContext manually from the unit test after you are done doing all the 
advice with.</p></div></div
 ></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns false. 
 >&#160;the CamelContext is started automatically before test methods are 
 >invoked.</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>boolean isCreateCamelContextPerClass()</p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p>See&#160;<a shape="rect" 
 >href="#CamelTest-SetupCamelContextonceperclass,orpereverytestmethod">Setup 
 >CamelContext once per class, or per every test method</a>.</p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p>The CamelContext and routes 
 >are recreated for each test method.</p></td></tr><tr><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p>String isMockEndpoints()</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 null which disables this feature. &#160;Return "*" &#160;to match all 
 >endpoints. &#160;See&#160;org.apache.camel.impl.InterceptS
 endToMockEndpointStrategy&#160;for&#160;more details on the registration of 
the mock endpoints.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Disabled</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>boolean isUseDebugger()</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>If this method returns true, 
the&#160;<strong>debugBefore(Exchange exchange, Processor processor, 
ProcessorDefinition&lt;?&gt; definition,&#160;String id, String 
label)</strong>&#160;and&#160;<br clear="none" class="atl-forced-newline"> 
<strong>debugAfter(Exchange exchange, Processor processor, 
ProcessorDefinition&lt;?&gt; definition,&#160;String id, String label, long 
timeTaken)</strong>&#160;methods are invoked for each processor in the 
registered routes.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Disabled. &#160;The methods are not invoked during the 
test.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>int 
getShutdownTimeout()</p
 ></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns the number 
 >of seconds that Camel should wait for graceful shutdown. &#160;Useful for 
 >decreasing test times when a message is still in flight at the end of the 
 >test.</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns 10 
 >seconds.</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>boolean useJmx()</p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>If JMX should be disabled on the CamelContext used in 
 >the test.</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>JndiRegistry createRegistry()</p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p>Provides a hook for adding objects into 
 >the registry. &#160;Override this method to bind objects to the registry 
 >before test methods are invoked.</p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>An empty registry is initialized.<
 /p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>useOverridePropertiesWithPropertiesComponent</p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Allows to add/override properties when <a shape="rect" 
href="using-propertyplaceholder.html">Using PropertyPlaceholder</a> in 
Camel.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>null</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>ignoreMissingLocationWithPropertiesComponent</p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
Allows to control if Camel should ignore missing locations for 
properties.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>null</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">boolean isDumpRouteCoverage</td><td colspan="1" 
rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong> If enabled, then 
Camel will dump all route coverage statistics into XML files
  in the target/camel-route-coverage directory. These XML files contains 
information about "route coverage" of all the routes that was used during the 
unit test. This allows tooling to inspect these XML files and generate nice 
route coverage reports.</td><td colspan="1" rowspan="1" 
class="confluenceTd">Disabled.</td></tr></tbody></table></div><h3 
id="CamelTest-JNDI">JNDI</h3><p>Camel uses a <a shape="rect" 
href="registry.html">Registry</a> to allow you to configure <a shape="rect" 
href="component.html">Component</a> or <a shape="rect" 
href="endpoint.html">Endpoint</a> instances or <a shape="rect" 
href="bean-integration.html">Beans used in your routes</a>. If you are not 
using <a shape="rect" href="spring.html">Spring</a> or <a shape="rect" 
class="unresolved" href="#">OSGi</a> then <a shape="rect" 
href="jndi.html">JNDI</a> is used as the default registry 
implementation.</p><p>So you will also need to create a 
<strong>jndi.properties</strong> file in your <strong>src/test/resources</st
 rong> directory so that there is a default registry available to initialise 
the <a shape="rect" href="camelcontext.html">CamelContext</a>.</p><p>Here is <a 
shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-test/src/test/resources/jndi.properties";>an
 example jndi.properties file</a></p><h3 
id="CamelTest-Dynamicallyassigningports">Dynamically assigning 
ports</h3><p><strong>Available as of Camel 2.7</strong></p><p>Tests that use 
port numbers will fail if that port is already on use. 
<code>AvailablePortFinder</code> provides methods for finding unused port 
numbers at runtime.</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+</div></div>Notice how you can use the various <a shape="rect" 
href="bean-integration.html">Camel binding and injection annotations</a> to 
inject individual <a shape="rect" href="endpoint.html">Endpoint</a> objects - 
particularly the <a shape="rect" href="mock.html">Mock endpoints</a> which are 
very useful for <a shape="rect" href="testing.html">Testing</a>. Also you can 
inject <a shape="rect" href="pojo-producing.html">producer objects such as 
ProducerTemplate or some application code interface</a> for sending messages or 
invoking services.<h4 
id="CamelTest-FeaturesProvidedbyCamelTestSupport">Features Provided by 
CamelTestSupport</h4><p>The various <strong>CamelTestSupport</strong> classes 
provide a standard set of behaviors relating to the CamelContext used to host 
the route(s) under test. &#160;The classes provide a number of methods that 
allow a test to alter the configuration of the CamelContext used. &#160;The 
following table describes the available customization methods and t
 he default behavior of tests that are built from 
a&#160;<strong>CamelTestSupport</strong> class.</p><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Method Name</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Default Behavior</p></th></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>boolean 
isUseRouteBuilder()</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>If the route builders from returned 
from&#160;<strong>createRouteBuilder()</strong> or 
<strong>createRouteBuilders()</strong> should be added to the CamelContext used 
in the test should be started.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Returns true. 
&#160;<strong>createRouteBuilder()</strong>&#160;or&#160;<strong>createRouteBuilders()</strong>
 are invoked and the CamelContext is started 
automatically.</p></td></tr><tr><td colspan="1" r
 owspan="1" class="confluenceTd"><p>boolean isUseAdviceWith()</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>If the CamelContext use in the 
test should be automatically started before test methods are invoked. <br 
clear="none" class="atl-forced-newline"> Override when using <a shape="rect" 
href="advicewith.html">advice with</a>&#160;and return true. &#160;This helps 
in knowing the adviceWith is to be used, and the&#160;CamelContext&#160;will 
not be started before&#160;the advice with takes place. This delay helps by 
ensuring the advice with has been property setup before 
the&#160;CamelContext&#160;is started.</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>Its important to start the 
CamelContext manually from the unit test after you are done doing all the 
advice with.</p></div></div></td><
 td colspan="1" rowspan="1" class="confluenceTd"><p>Returns false. &#160;the 
CamelContext is started automatically before test methods are 
invoked.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>boolean isCreateCamelContextPerClass()</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>See&#160;<a shape="rect" 
href="#CamelTest-SetupCamelContextonceperclass,orpereverytestmethod">Setup 
CamelContext once per class, or per every test method</a>.</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The CamelContext and routes are 
recreated for each test method.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>String isMockEndpoints()</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 null 
which disables this feature. &#160;Return "*" &#160;to match all endpoints. 
&#160;See&#160;org.apache.camel.impl.InterceptSendToMo
 ckEndpointStrategy&#160;for&#160;more details on the registration of the mock 
endpoints.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Disabled</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>boolean isUseDebugger()</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>If this method returns true, 
the&#160;<strong>debugBefore(Exchange exchange, Processor processor, 
ProcessorDefinition&lt;?&gt; definition,&#160;String id, String 
label)</strong>&#160;and&#160;<br clear="none" class="atl-forced-newline"> 
<strong>debugAfter(Exchange exchange, Processor processor, 
ProcessorDefinition&lt;?&gt; definition,&#160;String id, String label, long 
timeTaken)</strong>&#160;methods are invoked for each processor in the 
registered routes.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Disabled. &#160;The methods are not invoked during the 
test.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>int 
getShutdownTimeout()</p></td><
 td colspan="1" rowspan="1" class="confluenceTd"><p>Returns the number of 
seconds that Camel should wait for graceful shutdown. &#160;Useful for 
decreasing test times when a message is still in flight at the end of the 
test.</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns 10 
seconds.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>boolean useJmx()</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>If JMX should be disabled on the CamelContext used in 
the test.</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>JndiRegistry createRegistry()</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Provides a hook for adding objects into the 
registry. &#160;Override this method to bind objects to the registry before 
test methods are invoked.</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>An empty registry is initialized.</p></td
 ></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>useOverridePropertiesWithPropertiesComponent</p></td><td
 > colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
 >Allows to add/override properties when <a shape="rect" 
 >href="using-propertyplaceholder.html">Using PropertyPlaceholder</a> in 
 >Camel.</p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>null</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>ignoreMissingLocationWithPropertiesComponent</p></td><td
 > colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> 
 >Allows to control if Camel should ignore missing locations for 
 >properties.</p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>null</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd">boolean isDumpRouteCoverage</td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong> If enabled, 
 >then Camel will dump all route coverage statistics into XML files in the
  target/camel-route-coverage directory. These XML files contains information 
about "route coverage" of all the routes that was used during the unit test. 
This allows tooling to inspect these XML files and generate nice route coverage 
reports.</td><td colspan="1" rowspan="1" 
class="confluenceTd">Disabled.</td></tr></tbody></table></div><h3 
id="CamelTest-JNDI">JNDI</h3><p>Camel uses a <a shape="rect" 
href="registry.html">Registry</a> to allow you to configure <a shape="rect" 
href="component.html">Component</a> or <a shape="rect" 
href="endpoint.html">Endpoint</a> instances or <a shape="rect" 
href="bean-integration.html">Beans used in your routes</a>. If you are not 
using <a shape="rect" href="spring.html">Spring</a> or <a shape="rect" 
class="unresolved" href="#">OSGi</a> then <a shape="rect" 
href="jndi.html">JNDI</a> is used as the default registry 
implementation.</p><p>So you will also need to create a 
<strong>jndi.properties</strong> file in your 
<strong>src/test/resources</strong> d
 irectory so that there is a default registry available to initialise the <a 
shape="rect" href="camelcontext.html">CamelContext</a>.</p><p>Here is <a 
shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-test/src/test/resources/jndi.properties";>an
 example jndi.properties file</a></p><h3 
id="CamelTest-Dynamicallyassigningports">Dynamically assigning 
ports</h3><p><strong>Available as of Camel 2.7</strong></p><p>Tests that use 
port numbers will fail if that port is already on use. 
<code>AvailablePortFinder</code> provides methods for finding unused port 
numbers at runtime.</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[// Get the next available port number 
starting from the default starting port of 1024
 int port1 = AvailablePortFinder.getNextAvailable();
 /*


Reply via email to