You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bu...@apache.org on 2017/06/11 03:29:18 UTC

svn commit: r1013803 [8/8] - in /websites/production/camel/content: ./ cache/

Modified: websites/production/camel/content/testing.html
==============================================================================
--- websites/production/camel/content/testing.html (original)
+++ websites/production/camel/content/testing.html Sun Jun 11 03:29:17 2017
@@ -86,7 +86,7 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 id="Testing-Testing">Testing</h2><p>Testing is a crucial activity in any piece of software development or integration. Typically Camel Riders use various different <a shape="rect" href="components.html">technologies</a> wired together in a variety of <a shape="rect" href="enterprise-integration-patterns.html">patterns</a> with different <a shape="rect" href="languages.html">expression languages</a> together with different forms of <a shape="rect" href="bean-integration.html">Bean Integration</a> and <a shape="rect" href="dependency-injection.html">Dependency Injection</a> so its very easy for things to go wrong! <img class="emoticon emoticon-smile" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/smile.png" data-emoticon-name="smile" alt="(smile)"> . Testing is the crucial weapon to ensure that things work as you would expect.</p><p>Camel is a Java library so you can ea
 sily wire up tests in whatever unit testing framework you use (JUnit 3.x (deprecated), 4.x, or TestNG). However the Camel project has tried to make the testing of Camel as easy and powerful as possible so we have introduced the following features.</p><h3 id="Testing-TestingMechanisms">Testing Mechanisms</h3><p>The following mechanisms are supported:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Component</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="camel-test.html">Camel Test</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>camel-test</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Is a standalone Java library letting you easily create Camel test cases using a single Java class for all your
  configuration and routing without using <a shape="rect" href="cdi.html">CDI</a>, <a shape="rect" href="spring.html">Spring</a> or <a shape="rect" href="guice.html">Guice</a> for <a shape="rect" href="dependency-injection.html">Dependency Injection</a>&#160;which does not require an in-depth knowledge of Spring + Spring Test or Guice. &#160;Supports JUnit 3.x (deprecated) and JUnit 4.x based tests.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><a shape="rect" href="cdi-testing.html">CDI Testing</a></td><td colspan="1" rowspan="1" class="confluenceTd"><code>camel-test-cdi</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Provides a JUnit 4 runner that bootstraps a test environment using CDI so that you don't have to be familiar with any CDI testing frameworks and can concentrate on the testing logic of your Camel CDI applications. Testing frameworks like&#160;<a shape="rect" class="external-link" href="http://arquillian.org/" rel="nofollow">Arquillian
 </a>&#160;or&#160;<a shape="rect" class="external-link" href="https://ops4j1.jira.com/wiki/display/PAXEXAM4" rel="nofollow">PAX Exam</a>, can be used for more advanced test cases, where you need to configure your system under test in a very fine-grained way or target specific CDI containers.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="spring-testing.html">Spring Testing</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>camel-test-spring</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports JUnit 3.x (deprecated) or JUnit 4.x based tests that bootstrap a test environment using Spring without needing to be familiar with Spring Test. The plain JUnit 3.x/4.x based tests work very similar to the test support classes in <strong><code>camel-test</code></strong>.</p><p>Also supports Spring Test based tests that use the declarative style of test configuration and injection common in Spring Test. The Spri
 ng Test based tests provide feature parity with the plain JUnit 3.x/4.x based testing approach.</p><p><strong>Note</strong>: <strong><code>camel-test-spring</code></strong> is a new component from <strong>Camel 2.10</strong>. For older Camel release use <strong><code>camel-test</code></strong> which has built-in <a shape="rect" href="spring-testing.html">Spring Testing</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="blueprint-testing.html">Blueprint Testing</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>camel-test-blueprint</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Provides the ability to do unit testing on blueprint configurations</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="guice.html">Guice</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>camel-guice</code></p></td><td colspan="1" rowspan="1
 " class="confluenceTd"><p><span style="color: rgb(255,0,0);"><strong>Deprecated</strong></span></p><p>Uses <a shape="rect" href="guice.html">Guice</a> to dependency inject your test classes</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Camel TestNG</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>camel-testng</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(255,0,0);"><strong>Deprecated</strong></span></p><p>Supports plain TestNG based tests&#160;with or without <a shape="rect" href="cdi.html">CDI</a>,&#160;<a shape="rect" href="spring.html">Spring</a>&#160;or&#160;<a shape="rect" href="guice.html">Guice</a>&#160;for&#160;<a shape="rect" href="dependency-injection.html">Dependency Injection</a>&#160;which does not require an in-depth knowledge of CDI, Spring + Spring Test or Guice. &#160;</p><p>From <strong>Camel 2.10</strong>: this component supports Spring Test&#160;based tests that use the declarati
 ve style of test configuration and injection common in Spring Test and described in more detail under <a shape="rect" href="spring-testing.html">Spring Testing</a>.</p></td></tr></tbody></table></div><p>In all approaches the test classes look pretty much the same in that they all reuse the <a shape="rect" href="bean-integration.html">Camel binding and injection annotations</a>.</p><h4 id="Testing-CamelTestExample">Camel Test Example</h4><p>Here is the <a shape="rect" href="camel-test.html">Camel Test</a> <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-test/src/test/java/org/apache/camel/test/patterns/FilterTest.java">example</a>:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><h2 id="Testing-Testing">Testing</h2><p>Testing is a crucial activity in any piece of software development or integration. Typically Camel Riders use various different <a shape="rect" href="components.html">technologies</a> wired together in a variety of <a shape="rect" href="enterprise-integration-patterns.html">patterns</a> with different <a shape="rect" href="languages.html">expression languages</a> together with different forms of <a shape="rect" href="bean-integration.html">Bean Integration</a> and <a shape="rect" href="dependency-injection.html">Dependency Injection</a> so its very easy for things to go wrong! <img class="emoticon emoticon-smile" src="https://cwiki.apache.org/confluence/s/en_GB/5997/6f42626d00e36f53fe51440403446ca61552e2a2.1/_/images/icons/emoticons/smile.png" data-emoticon-name="smile" alt="(smile)"> . Testing is the crucial weapon to ensure that things work as you would expect.</p><p>Camel is a Java library so you can ea
 sily wire up tests in whatever unit testing framework you use (JUnit 3.x (deprecated), 4.x, or TestNG). However the Camel project has tried to make the testing of Camel as easy and powerful as possible so we have introduced the following features.</p><h3 id="Testing-TestingMechanisms">Testing Mechanisms</h3><p>The following mechanisms are supported:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Component</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="camel-test.html">Camel Test</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>camel-test</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Is a standalone Java library letting you easily create Camel test cases using a single Java class for all your
  configuration and routing without using <a shape="rect" href="cdi.html">CDI</a>, <a shape="rect" href="spring.html">Spring</a> or <a shape="rect" href="guice.html">Guice</a> for <a shape="rect" href="dependency-injection.html">Dependency Injection</a>&#160;which does not require an in-depth knowledge of Spring + Spring Test or Guice. &#160;Supports JUnit 3.x (deprecated) and JUnit 4.x based tests.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><a shape="rect" href="cdi-testing.html">CDI Testing</a></td><td colspan="1" rowspan="1" class="confluenceTd"><code>camel-test-cdi</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Provides a JUnit 4 runner that bootstraps a test environment using CDI so that you don't have to be familiar with any CDI testing frameworks and can concentrate on the testing logic of your Camel CDI applications. Testing frameworks like&#160;<a shape="rect" class="external-link" href="http://arquillian.org/" rel="nofollow">Arquillian
 </a>&#160;or&#160;<a shape="rect" class="external-link" href="https://ops4j1.jira.com/wiki/display/PAXEXAM4" rel="nofollow">PAX Exam</a>, can be used for more advanced test cases, where you need to configure your system under test in a very fine-grained way or target specific CDI containers.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="spring-testing.html">Spring Testing</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>camel-test-spring</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports JUnit 3.x (deprecated) or JUnit 4.x based tests that bootstrap a test environment using Spring without needing to be familiar with Spring Test. The plain JUnit 3.x/4.x based tests work very similar to the test support classes in <strong><code>camel-test</code></strong>.</p><p>Also supports Spring Test based tests that use the declarative style of test configuration and injection common in Spring Test. The Spri
 ng Test based tests provide feature parity with the plain JUnit 3.x/4.x based testing approach.</p><p><strong>Note</strong>: <strong><code>camel-test-spring</code></strong> is a new component from <strong>Camel 2.10</strong>. For older Camel release use <strong><code>camel-test</code></strong> which has built-in <a shape="rect" href="spring-testing.html">Spring Testing</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="blueprint-testing.html">Blueprint Testing</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>camel-test-blueprint</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Provides the ability to do unit testing on blueprint configurations</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="guice.html">Guice</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>camel-guice</code></p></td><td colspan="1" rowspan="1
 " class="confluenceTd"><p><span style="color: rgb(255,0,0);"><strong>Deprecated</strong></span></p><p>Uses <a shape="rect" href="guice.html">Guice</a> to dependency inject your test classes</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Camel TestNG</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>camel-testng</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(255,0,0);"><strong>Deprecated</strong></span></p><p>Supports plain TestNG based tests&#160;with or without <a shape="rect" href="cdi.html">CDI</a>,&#160;<a shape="rect" href="spring.html">Spring</a>&#160;or&#160;<a shape="rect" href="guice.html">Guice</a>&#160;for&#160;<a shape="rect" href="dependency-injection.html">Dependency Injection</a>&#160;which does not require an in-depth knowledge of CDI, Spring + Spring Test or Guice. &#160;</p><p>From <strong>Camel 2.10</strong>: this component supports Spring Test&#160;based tests that use the declarati
 ve style of test configuration and injection common in Spring Test and described in more detail under <a shape="rect" href="spring-testing.html">Spring Testing</a>.</p></td></tr></tbody></table></div><p>In all approaches the test classes look pretty much the same in that they all reuse the <a shape="rect" href="bean-integration.html">Camel binding and injection annotations</a>.</p><h4 id="Testing-CamelTestExample">Camel Test Example</h4><p>Here is the <a shape="rect" href="camel-test.html">Camel Test</a> <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-test/src/test/java/org/apache/camel/test/patterns/FilterTest.java">example</a>:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 // tag::example[]
 public class FilterTest extends CamelTestSupport {

Modified: websites/production/camel/content/tracer-example.html
==============================================================================
--- websites/production/camel/content/tracer-example.html (original)
+++ websites/production/camel/content/tracer-example.html Sun Jun 11 03:29:17 2017
@@ -116,12 +116,12 @@
 </div></div><p>In this example we use Hibernate JPA and a HSQLDB as database.</p><h3 id="TracerExample-RunningtheExample">Running the Example</h3><p>The <strong><code>README.txt</code></strong> states how to run the example from either ANT or Maven.</p><p>Here we show running with Maven:</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[mvn camel:run
 ]]></script>
-</div></div><p>When the application starts it start:</p><ul class="alternate"><li>in the console</li><li>a GUI for browsing the SQL database</li></ul><p>Select the console where the application should prompt you to enter some words. Try entering: <strong><code>Camel</code></strong>. The application should respond with a text quote.</p><p>You can also enter multiple quotes separate with space, and the response should be the best quote based on the list of words given. See the file <strong><code>src/main/resources/META-INF/spring/camel-context.xml</code></strong> to give you an idea how it works.</p><p>You can enter: <strong><code>Camel Beer</code></strong> and it should be smart enough to find a quote for the beer <img class="emoticon emoticon-wink" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/wink.png" data-emoticon-name="wink" alt="(wink)"></p><h3 id="TracerExample-SeeingtheTraceEvents">Seeing the Trace Ev
 ents</h3><p>When the program was started a GUI application was started as well. Its a SQL prompt for the database. So try entering:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>When the application starts it start:</p><ul class="alternate"><li>in the console</li><li>a GUI for browsing the SQL database</li></ul><p>Select the console where the application should prompt you to enter some words. Try entering: <strong><code>Camel</code></strong>. The application should respond with a text quote.</p><p>You can also enter multiple quotes separate with space, and the response should be the best quote based on the list of words given. See the file <strong><code>src/main/resources/META-INF/spring/camel-context.xml</code></strong> to give you an idea how it works.</p><p>You can enter: <strong><code>Camel Beer</code></strong> and it should be smart enough to find a quote for the beer <img class="emoticon emoticon-wink" src="https://cwiki.apache.org/confluence/s/en_GB/5997/6f42626d00e36f53fe51440403446ca61552e2a2.1/_/images/icons/emoticons/wink.png" data-emoticon-name="wink" alt="(wink)"></p><h3 id="TracerExample-SeeingtheTraceEvents">Seeing the Trace Ev
 ents</h3><p>When the program was started a GUI application was started as well. Its a SQL prompt for the database. So try entering:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: sql; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[select * from camel_messagetraced
 ]]></script>
 </div></div><p>And it should return the list of trace events in the SQL.</p><p>We enter this SQL:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: sql; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[select id, shortExchangeId, previousNode, toNode, body from camel_messagetraced]]></script>
-</div></div><p>and get the output as the picture below:</p><p><br clear="none"> <span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="tracer-example.data/tracer_sql.png" data-image-src="/confluence/download/attachments/107823/tracer_sql.png?version=1&amp;modificationDate=1232323775000&amp;api=v2" data-unresolved-comment-count="0" data-linked-resource-id="9605" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="tracer_sql.png" data-base-url="https://cwiki.apache.org/confluence" data-linked-resource-content-type="image/png" data-linked-resource-container-id="107823" data-linked-resource-container-version="24"></span></p><h3 id="TracerExample-Routing">Routing</h3><p>The diagram below illustrates the route diagram generated using <a shape="rect" href="visualisation.html">Visualisation</a>.<br clear="none"> <span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src
 ="tracer-example.data/tracer_dot.png" data-image-src="/confluence/download/attachments/107823/tracer_dot.png?version=1&amp;modificationDate=1232326207000&amp;api=v2" data-unresolved-comment-count="0" data-linked-resource-id="9606" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="tracer_dot.png" data-base-url="https://cwiki.apache.org/confluence" data-linked-resource-content-type="image/png" data-linked-resource-container-id="107823" data-linked-resource-container-version="24"></span></p><p>We receive an Exchange from the in stream, then its split using the <strong><code>splitWords</code></strong> method. Then the quote method is invoked before it's aggregated and finally sent to the stream out to be printed in the console.</p><h3 id="TracerExample-TracetheRouting">Trace the Routing</h3><p>If we look at the 6 rows from the traced SQL (the first picture) and with the route diagram in mind we can get a better understand how the
  <a shape="rect" href="exchange.html">Exchange</a> was routed.</p><ol><li>The <a shape="rect" href="exchange.html">Exchange</a> does not have a previousNode so its the first step where its consumed from the input stream and that its going to the splitter.</li><li>The exchange id has changed and this is the output of the splitter as it creates a new Exchange. We can also see this one has one word in the body. This <a shape="rect" href="exchange.html">Exchange</a> is being routed to the quote bean next.</li><li>This is the 2nd output from the splitter containing the 2nd word. This <a shape="rect" href="exchange.html">Exchange</a> is being routed to the quote bean next.</li><li>This is the Beer <a shape="rect" href="exchange.html">Exchange</a> where we can see the output from the quote server and that its being routed to the aggregator.</li><li>This is the Camel <a shape="rect" href="exchange.html">Exchange</a> where we can see the output from the quote server and that its being routed
  to the aggregator.</li><li>This is the result of the aggregator where the <a shape="rect" href="exchange.html">Exchange</a> ending with id&#160;<strong><code>0-2</code></strong> "was the winner" and is being routed as the aggregated result to the stream out.</li></ol><h3 id="TracerExample-ConfigurationofTracinginCamel">Configuration of <a shape="rect" href="jpa.html">JPA</a> Tracing in Camel</h3><p>In Camel you need to configure it to use JPA for tracing. We do this as by adding a tracer in the <strong><code>META-INF/camel-context.mxl</code></strong> file:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>and get the output as the picture below:</p><p><br clear="none"> <span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="tracer-example.data/tracer_sql.png" data-image-src="/confluence/download/attachments/107823/tracer_sql.png?version=1&amp;modificationDate=1232323775000&amp;api=v2" data-unresolved-comment-count="0" data-linked-resource-id="9605" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="tracer_sql.png" data-base-url="https://cwiki.apache.org/confluence" data-linked-resource-content-type="image/png" data-linked-resource-container-id="107823" data-linked-resource-container-version="25"></span></p><h3 id="TracerExample-Routing">Routing</h3><p>The diagram below illustrates the route diagram generated using <a shape="rect" href="visualisation.html">Visualisation</a>.<br clear="none"> <span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src
 ="tracer-example.data/tracer_dot.png" data-image-src="/confluence/download/attachments/107823/tracer_dot.png?version=1&amp;modificationDate=1232326207000&amp;api=v2" data-unresolved-comment-count="0" data-linked-resource-id="9606" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="tracer_dot.png" data-base-url="https://cwiki.apache.org/confluence" data-linked-resource-content-type="image/png" data-linked-resource-container-id="107823" data-linked-resource-container-version="25"></span></p><p>We receive an Exchange from the in stream, then its split using the <strong><code>splitWords</code></strong> method. Then the quote method is invoked before it's aggregated and finally sent to the stream out to be printed in the console.</p><h3 id="TracerExample-TracetheRouting">Trace the Routing</h3><p>If we look at the 6 rows from the traced SQL (the first picture) and with the route diagram in mind we can get a better understand how the
  <a shape="rect" href="exchange.html">Exchange</a> was routed.</p><ol><li>The <a shape="rect" href="exchange.html">Exchange</a> does not have a previousNode so its the first step where its consumed from the input stream and that its going to the splitter.</li><li>The exchange id has changed and this is the output of the splitter as it creates a new Exchange. We can also see this one has one word in the body. This <a shape="rect" href="exchange.html">Exchange</a> is being routed to the quote bean next.</li><li>This is the 2nd output from the splitter containing the 2nd word. This <a shape="rect" href="exchange.html">Exchange</a> is being routed to the quote bean next.</li><li>This is the Beer <a shape="rect" href="exchange.html">Exchange</a> where we can see the output from the quote server and that its being routed to the aggregator.</li><li>This is the Camel <a shape="rect" href="exchange.html">Exchange</a> where we can see the output from the quote server and that its being routed
  to the aggregator.</li><li>This is the result of the aggregator where the <a shape="rect" href="exchange.html">Exchange</a> ending with id&#160;<strong><code>0-2</code></strong> "was the winner" and is being routed as the aggregated result to the stream out.</li></ol><h3 id="TracerExample-ConfigurationofTracinginCamel">Configuration of <a shape="rect" href="jpa.html">JPA</a> Tracing in Camel</h3><p>In Camel you need to configure it to use JPA for tracing. We do this as by adding a tracer in the <strong><code>META-INF/camel-context.mxl</code></strong> file:</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;!-- use camel jpa trace so we can see all the traced exchanges in a database --&gt;
 &lt;bean id=&quot;camelTracer&quot; class=&quot;org.apache.camel.processor.interceptor.Tracer&quot;&gt;

Modified: websites/production/camel/content/tutorial-jmsremoting.html
==============================================================================
--- websites/production/camel/content/tutorial-jmsremoting.html (original)
+++ websites/production/camel/content/tutorial-jmsremoting.html Sun Jun 11 03:29:17 2017
@@ -354,7 +354,7 @@ public static void main(final String[] a
 DefaultInstrumentationAgent    INFO  JMX connector thread started on service:jmx:rmi:///jndi/rmi://claus-acer:1099/jmxrmi/camel
 ...
 ]]></script>
-</div></div><p>In the screenshot below we can see the route and its performance metrics:<br clear="none"> <span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="tutorial-jmsremoting.data/jconsole_jms_tutorial.PNG" data-image-src="/confluence/download/attachments/82923/jconsole_jms_tutorial.PNG?version=1&amp;modificationDate=1214345078000&amp;api=v2" data-unresolved-comment-count="0" data-linked-resource-id="59672517" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="jconsole_jms_tutorial.PNG" data-base-url="https://cwiki.apache.org/confluence" data-linked-resource-content-type="image/png" data-linked-resource-container-id="82923" data-linked-resource-container-version="40"></span></p><h2 id="Tutorial-JmsRemoting-SeeAlso">See Also</h2><ul><li><a shape="rect" class="external-link" href="http://aminsblog.wordpress.com/2008/05/06/15/" rel="nofollow">Spring Remoting with JMS Example</a> on <a sh
 ape="rect" class="external-link" href="http://aminsblog.wordpress.com/" rel="nofollow">Amin Abbaspour's Weblog</a></li></ul></div>
+</div></div><p>In the screenshot below we can see the route and its performance metrics:<br clear="none"> <span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="tutorial-jmsremoting.data/jconsole_jms_tutorial.PNG" data-image-src="/confluence/download/attachments/82923/jconsole_jms_tutorial.PNG?version=1&amp;modificationDate=1214345078000&amp;api=v2" data-unresolved-comment-count="0" data-linked-resource-id="59672517" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="jconsole_jms_tutorial.PNG" data-base-url="https://cwiki.apache.org/confluence" data-linked-resource-content-type="image/png" data-linked-resource-container-id="82923" data-linked-resource-container-version="41"></span></p><h2 id="Tutorial-JmsRemoting-SeeAlso">See Also</h2><ul><li><a shape="rect" class="external-link" href="http://aminsblog.wordpress.com/2008/05/06/15/" rel="nofollow">Spring Remoting with JMS Example</a> on <a sh
 ape="rect" class="external-link" href="http://aminsblog.wordpress.com/" rel="nofollow">Amin Abbaspour's Weblog</a></li></ul></div>
         </td>
         <td valign="top">
           <div class="navigation">