Author: buildbot
Date: Tue Nov 15 23:19:21 2016
New Revision: 1001168

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/book-in-one-page.html
    websites/production/camel/content/book-tutorials.html
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/tutorial-jmsremoting.html

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 Tue Nov 15 23:19:21 
2016
@@ -3966,11 +3966,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.rbtoc1479248269946 {padding: 0px;}
-div.rbtoc1479248269946 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1479248269946 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1479251885457 {padding: 0px;}
+div.rbtoc1479251885457 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1479251885457 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1479248269946">
+/*]]>*/</style></p><div class="toc-macro rbtoc1479251885457">
 <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>
@@ -3978,10 +3978,10 @@ div.rbtoc1479248269946 li {margin-left:
 </li><li><a shape="rect" href="#BookInOnePage-WritingTheClients">Writing The 
Clients</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-ClientUsingTheProducerTemplate">Client Using The 
ProducerTemplate</a></li><li><a shape="rect" 
href="#BookInOnePage-ClientUsingSpringRemoting">Client Using Spring 
Remoting</a></li><li><a shape="rect" 
href="#BookInOnePage-ClientUsingMessageEndpointEIPPattern">Client Using Message 
Endpoint EIP Pattern</a></li><li><a shape="rect" 
href="#BookInOnePage-RuntheClients">Run the Clients</a></li></ul>
 </li><li><a shape="rect" href="#BookInOnePage-UsingtheCamelMavenPlugin">Using 
the Camel Maven Plugin</a></li><li><a shape="rect" 
href="#BookInOnePage-UsingCamelJMX">Using Camel JMX</a></li><li><a shape="rect" 
href="#BookInOnePage-SeeAlso">See Also</a></li></ul>
-</div><h2 id="BookInOnePage-Prerequisites">Prerequisites</h2><p>This tutorial 
uses Maven to setup the Camel project and for dependencies for 
artifacts.</p><h2 id="BookInOnePage-Distribution">Distribution</h2><p>This 
sample is distributed with the Camel distribution as 
<code>examples/camel-example-spring-jms</code>.</p><h2 
id="BookInOnePage-About">About</h2><p>This tutorial is a simple example that 
demonstrates more the fact how well Camel is seamless integrated with Spring to 
leverage the best of both worlds. This sample is client server solution using 
JMS messaging as the transport. The sample has two flavors of servers and also 
for clients demonstrating different techniques for easy 
communication.</p><p>The Server is a JMS message broker that routes incoming 
messages to a business service that does computations on the received message 
and returns a response.<br clear="none"> The EIP patterns used in this sample 
are:</p><div class="table-wrap"><table class="confluenceTable"><tbody>
 <tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Pattern</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="message-channel.html">Message Channel</a></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>We need a channel so the Clients can 
communicate with the server.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="message.html">Message 
</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The 
information is exchanged using the Camel Message 
interface.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="message-translator.html">Message 
Translator</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This 
is where Camel shines as the message exchange between the Server and the 
Clients are text based strings with numbers. However our business service uses 
int 
 for numbers. So Camel can do the message translation 
automatically.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="message-endpoint.html">Message 
Endpoint</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>It 
should be easy to send messages to the Server from the the clients. This is 
achieved with Camels powerful Endpoint pattern that even can be more powerful 
combined with Spring remoting. The tutorial has clients using each kind of 
technique for this.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" 
href="point-to-point-channel.html">Point to Point Channel</a></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The client and server exchanges 
data using point to point using a JMS queue.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="event-driven-consumer.html">Event Driven Consumer</a></p></td><td 
colspan="1" rowspan="1" class="confluence
 Td"><p><span>The JMS broker is event driven and is invoked when the client 
sends a message to the server.</span></p></td></tr></tbody></table></div><p>We 
use the following Camel components:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><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="activemq.html">ActiveMQ</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>We use Apache ActiveMQ as the JMS broker on the Server 
side</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
shape="rect" href="bean.html">Bean</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>We use the bean binding to easily route the messages to 
our business service. This is a very powerful component in 
Camel.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
 shape="rect" href="file2.html">File</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>In the AOP enabled Server we store audit trails as 
files.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
shape="rect" href="jms.html">JMS</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Used for the JMS 
messaging</p></td></tr></tbody></table></div><h2 
id="BookInOnePage-CreatetheCamelProject">Create the Camel Project</h2><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>For the purposes of the tutorial a 
single Maven project will be used for both the client and server. Ideally you 
would break your application down into the appropriate 
components.</p></div></div><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+</div><h2 id="BookInOnePage-Prerequisites">Prerequisites</h2><p>This tutorial 
uses Maven to setup the Camel project and for dependencies for 
artifacts.</p><h2 id="BookInOnePage-Distribution">Distribution</h2><p>This 
sample is distributed with the Camel distribution as 
<code>examples/camel-example-spring-jms</code>.</p><h2 
id="BookInOnePage-About">About</h2><p>This tutorial is a simple example that 
demonstrates more the fact how well Camel is seamless integrated with Spring to 
leverage the best of both worlds. This sample is client server solution using 
JMS messaging as the transport. The sample has two flavors of servers and also 
for clients demonstrating different techniques for easy 
communication.</p><p>The Server is a JMS message broker that routes incoming 
messages to a business service that does computations on the received message 
and returns a response.<br clear="none"> The EIP patterns used in this sample 
are:</p><div class="table-wrap"><table class="confluenceTable"><tbody>
 <tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Pattern</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="message-channel.html">Message Channel</a></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>We need a channel so the Clients can 
communicate with the server.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="message.html">Message 
</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The 
information is exchanged using the Camel Message 
interface.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="message-translator.html">Message 
Translator</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This 
is where Camel shines as the message exchange between the Server and the 
Clients are text based strings with numbers. However our business service uses 
int 
 for numbers. So Camel can do the message translation 
automatically.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="message-endpoint.html">Message 
Endpoint</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>It 
should be easy to send messages to the Server from the the clients. This is 
achieved with Camel's powerful Endpoint pattern that even can be more powerful 
combined with Spring remoting. The tutorial has clients using each kind of 
technique for this.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" 
href="point-to-point-channel.html">Point to Point Channel</a></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The client and server exchange 
data using point to point using a JMS queue.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="event-driven-consumer.html">Event Driven Consumer</a></p></td><td 
colspan="1" rowspan="1" class="confluence
 Td"><p><span>The JMS broker is event driven and is invoked when the client 
sends a message to the server.</span></p></td></tr></tbody></table></div><p>We 
use the following Camel components:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><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="activemq.html">ActiveMQ</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>We use Apache ActiveMQ as the JMS broker on the Server 
side</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
shape="rect" href="bean.html">Bean</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>We use the bean binding to easily route the messages to 
our business service. This is a very powerful component in 
Camel.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
 shape="rect" href="file2.html">File</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>In the AOP enabled Server we store audit trails as 
files.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
shape="rect" href="jms.html">JMS</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Used for the JMS 
messaging</p></td></tr></tbody></table></div><h2 
id="BookInOnePage-CreatetheCamelProject">Create the Camel Project</h2><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>For the purposes of the tutorial a 
single Maven project will be used for both the client and server. Ideally you 
would break your application down into the appropriate 
components.</p></div></div><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 archetype:generate -DgroupId=org.example 
-DartifactId=CamelWithJmsAndSpring
 ]]></script>
-</div></div><h3 id="BookInOnePage-UpdatethePOMwithDependencies">Update the POM 
with Dependencies</h3><p>First we need to have dependencies for the core Camel 
jars, its spring, jms components and finally ActiveMQ as the message 
broker.</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+</div></div><h3 id="BookInOnePage-UpdatethePOMwithDependencies">Update the POM 
with Dependencies</h3><p>First we need to have dependencies for the core Camel 
jars, spring, jms components, and finally ActiveMQ as the message 
broker.</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;!-- required by both client and server --&gt;
 &lt;dependency&gt;
@@ -4013,7 +4013,7 @@ div.rbtoc1479248269946 li {margin-left:
   &lt;artifactId&gt;xbean-spring&lt;/artifactId&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div><h2 id="BookInOnePage-WritingtheServer">Writing the Server</h2><h3 
id="BookInOnePage-CreatetheSpringService">Create the Spring Service</h3><p>For 
this example the Spring service (= our business service) on the server will be 
a simple multiplier which trebles in the received value.</p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h2 id="BookInOnePage-WritingtheServer">Writing the Server</h2><h3 
id="BookInOnePage-CreatetheSpringService">Create the Spring Service</h3><p>For 
this example the Spring service (our business service) on the server will be a 
simple multiplier which trebles in the received value.</p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
 public interface Multiplier {
 
@@ -4173,7 +4173,7 @@ public static void main(final String[] a
   serviceInterface=&quot;org.apache.camel.example.server.Multiplier&quot;
   serviceUrl=&quot;jms:queue:numbers&quot;/&gt;
 ]]></script>
-</div></div>The snippet above only illustrates the different and how Camel 
easily can setup and use Spring Remoting in one line configurations.<p>The 
<strong>proxy</strong> will create a proxy service bean for you to use to make 
the remote invocations. The <strong>serviceInterface</strong> property details 
which Java interface is to be implemented by the proxy. 
<strong>serviceUrl</strong> defines where messages sent to this proxy bean will 
be directed. Here we define the JMS endpoint with the "numbers" queue we used 
when working with Camel template directly. The value of the <strong>id</strong> 
property is the name that will be the given to the bean when it is exposed 
through the Spring <code>ApplicationContext</code>. We will use this name to 
retrieve the service in our client. I have named the bean 
<em>multiplierProxy</em> simply to highlight that it is not the same multiplier 
bean as is being used by <code>CamelServer</code>. They are in completely 
independent contexts and have n
 o knowledge of each other. As you are trying to mask the fact that remoting is 
being used in a real application you would generally not include proxy in the 
name.</p><p>And the Java client source code:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div>The snippet above only illustrates the different and how Camel 
easily can setup and use Spring Remoting in one line configurations.<p>The 
<strong>proxy</strong> will create a proxy service bean for you to use to make 
the remote invocations. The <strong>serviceInterface</strong> property details 
which Java interface is to be implemented by the proxy. 
The&#160;<strong>serviceUrl</strong> defines where messages sent to this proxy 
bean will be directed. Here we define the JMS endpoint with the "numbers" queue 
we used when working with Camel template directly. The value of the 
<strong>id</strong> property is the name that will be the given to the bean 
when it is exposed through the Spring <code>ApplicationContext</code>. We will 
use this name to retrieve the service in our client. I have named the bean 
<em>multiplierProxy</em> simply to highlight that it is not the same multiplier 
bean as is being used by <code>CamelServer</code>. They are in completely 
independent contexts a
 nd have no knowledge of each other. As you are trying to mask the fact that 
remoting is being used in a real application you would generally not include 
proxy in the name.</p><p>And the Java client source code:</p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
 public static void main(final String[] args) {
     System.out.println(&quot;Notice this client requires that the CamelServer 
is already running!&quot;);
@@ -4246,7 +4246,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="book-in-one-page.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="38"></span></p><h2 
id="BookInOnePage-SeeAlso.5">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 shape="rect
 " class="external-link" href="http://aminsblog.wordpress.com/"; 
rel="nofollow">Amin Abbaspour's Weblog</a></li></ul>
+</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="book-in-one-page.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="39"></span></p><h2 
id="BookInOnePage-SeeAlso.5">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 shape="rect
 " class="external-link" href="http://aminsblog.wordpress.com/"; 
rel="nofollow">Amin Abbaspour's Weblog</a></li></ul>
 
 <h2 id="BookInOnePage-Tutorial-camel-example-reportincident">Tutorial - 
camel-example-reportincident</h2>
 
@@ -6085,11 +6085,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.rbtoc1479248270190 {padding: 0px;}
-div.rbtoc1479248270190 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1479248270190 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1479251885637 {padding: 0px;}
+div.rbtoc1479251885637 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1479251885637 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1479248270190">
+/*]]>*/</style><div class="toc-macro rbtoc1479251885637">
 <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>
@@ -14323,8 +14323,8 @@ cometds://localhost:8443/service/mychann
  <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">/**/ 
div.rbtoc1479248271878 {padding: 0px;} div.rbtoc1479248271878 ul {list-style: 
disc;margin-left: 0px;} div.rbtoc1479248271878 li {margin-left: 
0px;padding-left: 0px;} /**/</style>
- </p><div class="toc-macro rbtoc1479248271878"> 
+</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">/**/ 
div.rbtoc1479251887252 {padding: 0px;} div.rbtoc1479251887252 ul {list-style: 
disc;margin-left: 0px;} div.rbtoc1479251887252 li {margin-left: 
0px;padding-left: 0px;} /**/</style>
+ </p><div class="toc-macro rbtoc1479251887252"> 
   <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/book-tutorials.html
==============================================================================
--- websites/production/camel/content/book-tutorials.html (original)
+++ websites/production/camel/content/book-tutorials.html Tue Nov 15 23:19:21 
2016
@@ -143,11 +143,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="BookTutorials-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="BookTutorials-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.rbtoc1478859643739 {padding: 0px;}
-div.rbtoc1478859643739 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1478859643739 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1479251882564 {padding: 0px;}
+div.rbtoc1479251882564 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1479251882564 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1478859643739">
+/*]]>*/</style></p><div class="toc-macro rbtoc1479251882564">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookTutorials-TutorialonSpringRemotingwithJMS">Tutorial on Spring 
Remoting with JMS</a></li><li><a shape="rect" 
href="#BookTutorials-Preface">Preface</a></li><li><a shape="rect" 
href="#BookTutorials-Prerequisites">Prerequisites</a></li><li><a shape="rect" 
href="#BookTutorials-Distribution">Distribution</a></li><li><a shape="rect" 
href="#BookTutorials-About">About</a></li><li><a shape="rect" 
href="#BookTutorials-CreatetheCamelProject">Create the Camel Project</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookTutorials-UpdatethePOMwithDependencies">Update the POM with 
Dependencies</a></li></ul>
 </li><li><a shape="rect" href="#BookTutorials-WritingtheServer">Writing the 
Server</a>
@@ -155,10 +155,10 @@ div.rbtoc1478859643739 li {margin-left:
 </li><li><a shape="rect" href="#BookTutorials-WritingTheClients">Writing The 
Clients</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookTutorials-ClientUsingTheProducerTemplate">Client Using The 
ProducerTemplate</a></li><li><a shape="rect" 
href="#BookTutorials-ClientUsingSpringRemoting">Client Using Spring 
Remoting</a></li><li><a shape="rect" 
href="#BookTutorials-ClientUsingMessageEndpointEIPPattern">Client Using Message 
Endpoint EIP Pattern</a></li><li><a shape="rect" 
href="#BookTutorials-RuntheClients">Run the Clients</a></li></ul>
 </li><li><a shape="rect" href="#BookTutorials-UsingtheCamelMavenPlugin">Using 
the Camel Maven Plugin</a></li><li><a shape="rect" 
href="#BookTutorials-UsingCamelJMX">Using Camel JMX</a></li><li><a shape="rect" 
href="#BookTutorials-SeeAlso">See Also</a></li></ul>
-</div><h2 id="BookTutorials-Prerequisites">Prerequisites</h2><p>This tutorial 
uses Maven to setup the Camel project and for dependencies for 
artifacts.</p><h2 id="BookTutorials-Distribution">Distribution</h2><p>This 
sample is distributed with the Camel distribution as 
<code>examples/camel-example-spring-jms</code>.</p><h2 
id="BookTutorials-About">About</h2><p>This tutorial is a simple example that 
demonstrates more the fact how well Camel is seamless integrated with Spring to 
leverage the best of both worlds. This sample is client server solution using 
JMS messaging as the transport. The sample has two flavors of servers and also 
for clients demonstrating different techniques for easy 
communication.</p><p>The Server is a JMS message broker that routes incoming 
messages to a business service that does computations on the received message 
and returns a response.<br clear="none"> The EIP patterns used in this sample 
are:</p><div class="table-wrap"><table class="confluenceTable"><tbody>
 <tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Pattern</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="message-channel.html">Message Channel</a></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>We need a channel so the Clients can 
communicate with the server.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="message.html">Message 
</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The 
information is exchanged using the Camel Message 
interface.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="message-translator.html">Message 
Translator</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This 
is where Camel shines as the message exchange between the Server and the 
Clients are text based strings with numbers. However our business service uses 
int 
 for numbers. So Camel can do the message translation 
automatically.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="message-endpoint.html">Message 
Endpoint</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>It 
should be easy to send messages to the Server from the the clients. This is 
achieved with Camels powerful Endpoint pattern that even can be more powerful 
combined with Spring remoting. The tutorial has clients using each kind of 
technique for this.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" 
href="point-to-point-channel.html">Point to Point Channel</a></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The client and server exchanges 
data using point to point using a JMS queue.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="event-driven-consumer.html">Event Driven Consumer</a></p></td><td 
colspan="1" rowspan="1" class="confluence
 Td"><p><span>The JMS broker is event driven and is invoked when the client 
sends a message to the server.</span></p></td></tr></tbody></table></div><p>We 
use the following Camel components:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><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="activemq.html">ActiveMQ</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>We use Apache ActiveMQ as the JMS broker on the Server 
side</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
shape="rect" href="bean.html">Bean</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>We use the bean binding to easily route the messages to 
our business service. This is a very powerful component in 
Camel.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
 shape="rect" href="file2.html">File</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>In the AOP enabled Server we store audit trails as 
files.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
shape="rect" href="jms.html">JMS</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Used for the JMS 
messaging</p></td></tr></tbody></table></div><h2 
id="BookTutorials-CreatetheCamelProject">Create the Camel Project</h2><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>For the purposes of the tutorial a 
single Maven project will be used for both the client and server. Ideally you 
would break your application down into the appropriate 
components.</p></div></div><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+</div><h2 id="BookTutorials-Prerequisites">Prerequisites</h2><p>This tutorial 
uses Maven to setup the Camel project and for dependencies for 
artifacts.</p><h2 id="BookTutorials-Distribution">Distribution</h2><p>This 
sample is distributed with the Camel distribution as 
<code>examples/camel-example-spring-jms</code>.</p><h2 
id="BookTutorials-About">About</h2><p>This tutorial is a simple example that 
demonstrates more the fact how well Camel is seamless integrated with Spring to 
leverage the best of both worlds. This sample is client server solution using 
JMS messaging as the transport. The sample has two flavors of servers and also 
for clients demonstrating different techniques for easy 
communication.</p><p>The Server is a JMS message broker that routes incoming 
messages to a business service that does computations on the received message 
and returns a response.<br clear="none"> The EIP patterns used in this sample 
are:</p><div class="table-wrap"><table class="confluenceTable"><tbody>
 <tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Pattern</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="message-channel.html">Message Channel</a></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>We need a channel so the Clients can 
communicate with the server.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="message.html">Message 
</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The 
information is exchanged using the Camel Message 
interface.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="message-translator.html">Message 
Translator</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This 
is where Camel shines as the message exchange between the Server and the 
Clients are text based strings with numbers. However our business service uses 
int 
 for numbers. So Camel can do the message translation 
automatically.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="message-endpoint.html">Message 
Endpoint</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>It 
should be easy to send messages to the Server from the the clients. This is 
achieved with Camel's powerful Endpoint pattern that even can be more powerful 
combined with Spring remoting. The tutorial has clients using each kind of 
technique for this.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" 
href="point-to-point-channel.html">Point to Point Channel</a></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The client and server exchange 
data using point to point using a JMS queue.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="event-driven-consumer.html">Event Driven Consumer</a></p></td><td 
colspan="1" rowspan="1" class="confluence
 Td"><p><span>The JMS broker is event driven and is invoked when the client 
sends a message to the server.</span></p></td></tr></tbody></table></div><p>We 
use the following Camel components:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><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="activemq.html">ActiveMQ</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>We use Apache ActiveMQ as the JMS broker on the Server 
side</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
shape="rect" href="bean.html">Bean</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>We use the bean binding to easily route the messages to 
our business service. This is a very powerful component in 
Camel.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
 shape="rect" href="file2.html">File</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>In the AOP enabled Server we store audit trails as 
files.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
shape="rect" href="jms.html">JMS</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Used for the JMS 
messaging</p></td></tr></tbody></table></div><h2 
id="BookTutorials-CreatetheCamelProject">Create the Camel Project</h2><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>For the purposes of the tutorial a 
single Maven project will be used for both the client and server. Ideally you 
would break your application down into the appropriate 
components.</p></div></div><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 archetype:generate -DgroupId=org.example 
-DartifactId=CamelWithJmsAndSpring
 ]]></script>
-</div></div><h3 id="BookTutorials-UpdatethePOMwithDependencies">Update the POM 
with Dependencies</h3><p>First we need to have dependencies for the core Camel 
jars, its spring, jms components and finally ActiveMQ as the message 
broker.</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+</div></div><h3 id="BookTutorials-UpdatethePOMwithDependencies">Update the POM 
with Dependencies</h3><p>First we need to have dependencies for the core Camel 
jars, spring, jms components, and finally ActiveMQ as the message 
broker.</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;!-- required by both client and server --&gt;
 &lt;dependency&gt;
@@ -190,7 +190,7 @@ div.rbtoc1478859643739 li {margin-left:
   &lt;artifactId&gt;xbean-spring&lt;/artifactId&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div><h2 id="BookTutorials-WritingtheServer">Writing the Server</h2><h3 
id="BookTutorials-CreatetheSpringService">Create the Spring Service</h3><p>For 
this example the Spring service (= our business service) on the server will be 
a simple multiplier which trebles in the received value.</p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h2 id="BookTutorials-WritingtheServer">Writing the Server</h2><h3 
id="BookTutorials-CreatetheSpringService">Create the Spring Service</h3><p>For 
this example the Spring service (our business service) on the server will be a 
simple multiplier which trebles in the received value.</p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
 public interface Multiplier {
 
@@ -350,7 +350,7 @@ public static void main(final String[] a
   serviceInterface=&quot;org.apache.camel.example.server.Multiplier&quot;
   serviceUrl=&quot;jms:queue:numbers&quot;/&gt;
 ]]></script>
-</div></div>The snippet above only illustrates the different and how Camel 
easily can setup and use Spring Remoting in one line configurations.<p>The 
<strong>proxy</strong> will create a proxy service bean for you to use to make 
the remote invocations. The <strong>serviceInterface</strong> property details 
which Java interface is to be implemented by the proxy. 
<strong>serviceUrl</strong> defines where messages sent to this proxy bean will 
be directed. Here we define the JMS endpoint with the "numbers" queue we used 
when working with Camel template directly. The value of the <strong>id</strong> 
property is the name that will be the given to the bean when it is exposed 
through the Spring <code>ApplicationContext</code>. We will use this name to 
retrieve the service in our client. I have named the bean 
<em>multiplierProxy</em> simply to highlight that it is not the same multiplier 
bean as is being used by <code>CamelServer</code>. They are in completely 
independent contexts and have n
 o knowledge of each other. As you are trying to mask the fact that remoting is 
being used in a real application you would generally not include proxy in the 
name.</p><p>And the Java client source code:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div>The snippet above only illustrates the different and how Camel 
easily can setup and use Spring Remoting in one line configurations.<p>The 
<strong>proxy</strong> will create a proxy service bean for you to use to make 
the remote invocations. The <strong>serviceInterface</strong> property details 
which Java interface is to be implemented by the proxy. 
The&#160;<strong>serviceUrl</strong> defines where messages sent to this proxy 
bean will be directed. Here we define the JMS endpoint with the "numbers" queue 
we used when working with Camel template directly. The value of the 
<strong>id</strong> property is the name that will be the given to the bean 
when it is exposed through the Spring <code>ApplicationContext</code>. We will 
use this name to retrieve the service in our client. I have named the bean 
<em>multiplierProxy</em> simply to highlight that it is not the same multiplier 
bean as is being used by <code>CamelServer</code>. They are in completely 
independent contexts a
 nd have no knowledge of each other. As you are trying to mask the fact that 
remoting is being used in a real application you would generally not include 
proxy in the name.</p><p>And the Java client source code:</p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
 public static void main(final String[] args) {
     System.out.println(&quot;Notice this client requires that the CamelServer 
is already running!&quot;);
@@ -423,7 +423,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="book-tutorials.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="38"></span></p><h2 
id="BookTutorials-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 shape="rect" cl
 ass="external-link" href="http://aminsblog.wordpress.com/"; rel="nofollow">Amin 
Abbaspour's Weblog</a></li></ul>
+</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="book-tutorials.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="39"></span></p><h2 
id="BookTutorials-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 shape="rect" cl
 ass="external-link" href="http://aminsblog.wordpress.com/"; rel="nofollow">Amin 
Abbaspour's Weblog</a></li></ul>
 
 <h2 id="BookTutorials-Tutorial-camel-example-reportincident">Tutorial - 
camel-example-reportincident</h2>
 
@@ -2262,11 +2262,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.rbtoc1478859643907 {padding: 0px;}
-div.rbtoc1478859643907 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1478859643907 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1479251882737 {padding: 0px;}
+div.rbtoc1479251882737 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1479251882737 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1478859643907">
+/*]]>*/</style><div class="toc-macro rbtoc1479251882737">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookTutorials-TutorialusingAxis1.4withApacheCamel">Tutorial using Axis 
1.4 with Apache Camel</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookTutorials-Prerequisites">Prerequisites</a></li><li><a shape="rect" 
href="#BookTutorials-Distribution">Distribution</a></li><li><a shape="rect" 
href="#BookTutorials-Introduction">Introduction</a></li><li><a shape="rect" 
href="#BookTutorials-SettinguptheprojecttorunAxis">Setting up the project to 
run Axis</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookTutorials-Maven2">Maven 2</a></li><li><a shape="rect" 
href="#BookTutorials-wsdl">wsdl</a></li><li><a shape="rect" 
href="#BookTutorials-ConfiguringAxis">Configuring Axis</a></li><li><a 
shape="rect" href="#BookTutorials-RunningtheExample">Running the 
Example</a></li></ul>

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

Modified: websites/production/camel/content/tutorial-jmsremoting.html
==============================================================================
--- websites/production/camel/content/tutorial-jmsremoting.html (original)
+++ websites/production/camel/content/tutorial-jmsremoting.html Tue Nov 15 
23:19:21 2016
@@ -86,10 +86,10 @@
        <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 
id="Tutorial-JmsRemoting-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="Tutorial-JmsRemoting-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></p><div class="toc-macro 
client-side-toc-macro" data-headerelements="H1,H2,H3,H4,H5,H6,H7"></div><h2
  id="Tutorial-JmsRemoting-Prerequisites">Prerequisites</h2><p>This tutorial 
uses Maven to setup the Camel project and for dependencies for 
artifacts.</p><h2 
id="Tutorial-JmsRemoting-Distribution">Distribution</h2><p>This sample is 
distributed with the Camel distribution as 
<code>examples/camel-example-spring-jms</code>.</p><h2 
id="Tutorial-JmsRemoting-About">About</h2><p>This tutorial is a simple example 
that demonstrates more the fact how well Camel is seamless integrated with 
Spring to leverage the best of both worlds. This sample is client server 
solution using JMS messaging as the transport. The sample has two flavors of 
servers and also for clients demonstrating different techniques for easy 
communication.</p><p>The Server is a JMS message broker that routes incoming 
messages to a business service that does computations on the received message 
and returns a response.<br clear="none"> The EIP patterns used in this sample 
are:</p><div class="table-wrap"><table class="confluenceTa
 ble"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Pattern</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="message-channel.html">Message Channel</a></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>We need a channel so the Clients can 
communicate with the server.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="message.html">Message 
</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The 
information is exchanged using the Camel Message 
interface.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="message-translator.html">Message 
Translator</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This 
is where Camel shines as the message exchange between the Server and the 
Clients are text based strings with numbers. However our business servi
 ce uses int for numbers. So Camel can do the message translation 
automatically.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="message-endpoint.html">Message 
Endpoint</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>It 
should be easy to send messages to the Server from the the clients. This is 
achieved with Camels powerful Endpoint pattern that even can be more powerful 
combined with Spring remoting. The tutorial has clients using each kind of 
technique for this.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" 
href="point-to-point-channel.html">Point to Point Channel</a></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The client and server exchanges 
data using point to point using a JMS queue.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="event-driven-consumer.html">Event Driven Consumer</a></p></td><td 
colspan="1" rowspan="1" class
 ="confluenceTd"><p><span>The JMS broker is event driven and is invoked when 
the client sends a message to the 
server.</span></p></td></tr></tbody></table></div><p>We use the following Camel 
components:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><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="activemq.html">ActiveMQ</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>We use Apache ActiveMQ as the JMS broker on the Server 
side</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
shape="rect" href="bean.html">Bean</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>We use the bean binding to easily route the messages to 
our business service. This is a very powerful component in 
Camel.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluen
 ceTd"><p><a shape="rect" href="file2.html">File</a></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>In the AOP enabled Server we store audit 
trails as files.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="jms.html">JMS</a></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Used for the JMS 
messaging</p></td></tr></tbody></table></div><h2 
id="Tutorial-JmsRemoting-CreatetheCamelProject">Create the Camel 
Project</h2><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>For the purposes of the tutorial a 
single Maven project will be used for both the client and server. Ideally you 
would break your application down into the appropriate 
components.</p></div></div><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelConten
 t pdl">
+<div class="wiki-content maincontent"><h2 
id="Tutorial-JmsRemoting-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="Tutorial-JmsRemoting-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></p><div class="toc-macro 
client-side-toc-macro" data-headerelements="H1,H2,H3,H4,H5,H6,H7"></div><h2
  id="Tutorial-JmsRemoting-Prerequisites">Prerequisites</h2><p>This tutorial 
uses Maven to setup the Camel project and for dependencies for 
artifacts.</p><h2 
id="Tutorial-JmsRemoting-Distribution">Distribution</h2><p>This sample is 
distributed with the Camel distribution as 
<code>examples/camel-example-spring-jms</code>.</p><h2 
id="Tutorial-JmsRemoting-About">About</h2><p>This tutorial is a simple example 
that demonstrates more the fact how well Camel is seamless integrated with 
Spring to leverage the best of both worlds. This sample is client server 
solution using JMS messaging as the transport. The sample has two flavors of 
servers and also for clients demonstrating different techniques for easy 
communication.</p><p>The Server is a JMS message broker that routes incoming 
messages to a business service that does computations on the received message 
and returns a response.<br clear="none"> The EIP patterns used in this sample 
are:</p><div class="table-wrap"><table class="confluenceTa
 ble"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Pattern</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="message-channel.html">Message Channel</a></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>We need a channel so the Clients can 
communicate with the server.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="message.html">Message 
</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The 
information is exchanged using the Camel Message 
interface.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="message-translator.html">Message 
Translator</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This 
is where Camel shines as the message exchange between the Server and the 
Clients are text based strings with numbers. However our business servi
 ce uses int for numbers. So Camel can do the message translation 
automatically.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="message-endpoint.html">Message 
Endpoint</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>It 
should be easy to send messages to the Server from the the clients. This is 
achieved with Camel's powerful Endpoint pattern that even can be more powerful 
combined with Spring remoting. The tutorial has clients using each kind of 
technique for this.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" 
href="point-to-point-channel.html">Point to Point Channel</a></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The client and server exchange 
data using point to point using a JMS queue.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="event-driven-consumer.html">Event Driven Consumer</a></p></td><td 
colspan="1" rowspan="1" class
 ="confluenceTd"><p><span>The JMS broker is event driven and is invoked when 
the client sends a message to the 
server.</span></p></td></tr></tbody></table></div><p>We use the following Camel 
components:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><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="activemq.html">ActiveMQ</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>We use Apache ActiveMQ as the JMS broker on the Server 
side</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
shape="rect" href="bean.html">Bean</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>We use the bean binding to easily route the messages to 
our business service. This is a very powerful component in 
Camel.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluen
 ceTd"><p><a shape="rect" href="file2.html">File</a></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>In the AOP enabled Server we store audit 
trails as files.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="jms.html">JMS</a></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Used for the JMS 
messaging</p></td></tr></tbody></table></div><h2 
id="Tutorial-JmsRemoting-CreatetheCamelProject">Create the Camel 
Project</h2><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>For the purposes of the tutorial a 
single Maven project will be used for both the client and server. Ideally you 
would break your application down into the appropriate 
components.</p></div></div><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelConten
 t pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[mvn archetype:generate -DgroupId=org.example 
-DartifactId=CamelWithJmsAndSpring
 ]]></script>
-</div></div><h3 id="Tutorial-JmsRemoting-UpdatethePOMwithDependencies">Update 
the POM with Dependencies</h3><p>First we need to have dependencies for the 
core Camel jars, its spring, jms components and finally ActiveMQ as the message 
broker.</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+</div></div><h3 id="Tutorial-JmsRemoting-UpdatethePOMwithDependencies">Update 
the POM with Dependencies</h3><p>First we need to have dependencies for the 
core Camel jars, spring, jms components, and finally ActiveMQ as the message 
broker.</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;!-- required by both client and server --&gt;
 &lt;dependency&gt;
@@ -121,7 +121,7 @@
   &lt;artifactId&gt;xbean-spring&lt;/artifactId&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div><h2 id="Tutorial-JmsRemoting-WritingtheServer">Writing the 
Server</h2><h3 id="Tutorial-JmsRemoting-CreatetheSpringService">Create the 
Spring Service</h3><p>For this example the Spring service (= our business 
service) on the server will be a simple multiplier which trebles in the 
received value.</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+</div></div><h2 id="Tutorial-JmsRemoting-WritingtheServer">Writing the 
Server</h2><h3 id="Tutorial-JmsRemoting-CreatetheSpringService">Create the 
Spring Service</h3><p>For this example the Spring service (our business 
service) on the server will be a simple multiplier which trebles in the 
received value.</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
 public interface Multiplier {
 
@@ -281,7 +281,7 @@ public static void main(final String[] a
   serviceInterface=&quot;org.apache.camel.example.server.Multiplier&quot;
   serviceUrl=&quot;jms:queue:numbers&quot;/&gt;
 ]]></script>
-</div></div>The snippet above only illustrates the different and how Camel 
easily can setup and use Spring Remoting in one line configurations.<p>The 
<strong>proxy</strong> will create a proxy service bean for you to use to make 
the remote invocations. The <strong>serviceInterface</strong> property details 
which Java interface is to be implemented by the proxy. 
<strong>serviceUrl</strong> defines where messages sent to this proxy bean will 
be directed. Here we define the JMS endpoint with the "numbers" queue we used 
when working with Camel template directly. The value of the <strong>id</strong> 
property is the name that will be the given to the bean when it is exposed 
through the Spring <code>ApplicationContext</code>. We will use this name to 
retrieve the service in our client. I have named the bean 
<em>multiplierProxy</em> simply to highlight that it is not the same multiplier 
bean as is being used by <code>CamelServer</code>. They are in completely 
independent contexts and have n
 o knowledge of each other. As you are trying to mask the fact that remoting is 
being used in a real application you would generally not include proxy in the 
name.</p><p>And the Java client source code:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div>The snippet above only illustrates the different and how Camel 
easily can setup and use Spring Remoting in one line configurations.<p>The 
<strong>proxy</strong> will create a proxy service bean for you to use to make 
the remote invocations. The <strong>serviceInterface</strong> property details 
which Java interface is to be implemented by the proxy. 
The&#160;<strong>serviceUrl</strong> defines where messages sent to this proxy 
bean will be directed. Here we define the JMS endpoint with the "numbers" queue 
we used when working with Camel template directly. The value of the 
<strong>id</strong> property is the name that will be the given to the bean 
when it is exposed through the Spring <code>ApplicationContext</code>. We will 
use this name to retrieve the service in our client. I have named the bean 
<em>multiplierProxy</em> simply to highlight that it is not the same multiplier 
bean as is being used by <code>CamelServer</code>. They are in completely 
independent contexts a
 nd have no knowledge of each other. As you are trying to mask the fact that 
remoting is being used in a real application you would generally not include 
proxy in the name.</p><p>And the Java client source code:</p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
 public static void main(final String[] args) {
     System.out.println(&quot;Notice this client requires that the CamelServer 
is already running!&quot;);
@@ -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="38"></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="39"></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">


Reply via email to