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/02/17 10:20:40 UTC
svn commit: r1006921 - in /websites/production/camel/content:
book-in-one-page.html book-quickstart.html cache/main.pageCache
walk-through-an-example.html
Author: buildbot
Date: Fri Feb 17 10:20:40 2017
New Revision: 1006921
Log:
Production update by buildbot for camel
Modified:
websites/production/camel/content/book-in-one-page.html
websites/production/camel/content/book-quickstart.html
websites/production/camel/content/cache/main.pageCache
websites/production/camel/content/walk-through-an-example.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 Fri Feb 17 10:20:40 2017
@@ -97,33 +97,36 @@
<p>Okay, so the description above is technology focused. <br clear="none"> There's a great discussion about Camel at <a shape="rect" class="external-link" href="http://stackoverflow.com/questions/8845186/what-exactly-is-apache-camel" rel="nofollow">Stack Overflow</a>. We suggest you view the post, read the comments, and browse the suggested links for more details.</p>
</div>
</div></div>
-<div class="chapter page-reset" id="chapter-quickstart"><h1 id="BookInOnePage-Quickstart">Quickstart</h1><p>To start using Apache Camel quickly, you can read through some simple examples in this chapter. For readers who would like a more thorough introduction, please skip ahead to Chapter 3.</p><h2 id="BookInOnePage-WalkthroughanExampleCode">Walk through an Example Code</h2><p>This mini-guide takes you through the source code of a <a shape="rect" class="external-link" href="https://svn.apache.org/repos/asf/camel/trunk/examples/camel-example-jms-file/src/main/java/org/apache/camel/example/jmstofile/CamelJmsToFileExample.java">simple example</a>.</p><p>Camel can be configured either by using <a shape="rect" href="spring.html">Spring</a> or directly in Java - which <a shape="rect" class="external-link" href="https://svn.apache.org/repos/asf/camel/trunk/examples/camel-example-jms-file/src/main/java/org/apache/camel/example/jmstofile/CamelJmsToFileExample.java">this example does</a>.</p>
<p>This example is available in the <code>examples\camel-example-jms-file</code> directory of the <a shape="rect" href="download.html">Camel distribution</a>.</p><p>We start with creating a <a shape="rect" href="camelcontext.html">CamelContext</a> - which is a container for <a shape="rect" href="components.html">Components</a>, <a shape="rect" href="routes.html">Routes</a> etc:</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"> CamelContext context = new DefaultCamelContext(); </script>
- </div>
-</div><p>There is more than one way of adding a Component to the CamelContext. You can add components implicitly - when we set up the routing - as we do here for the <a shape="rect" href="file2.html">FileComponent</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"> context.addRoutes(new RouteBuilder() { public void configure() { from(&quot;test-jms:queue:test.queue&quot;).to(&quot;file://test&quot;); } }); </script>
- </div>
-</div><p>or explicitly - as we do here when we add the JMS Component:</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"> ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(&quot;vm://localhost?broker.persistent=false&quot;); // Note we can explicit name the component context.addComponent(&quot;test-jms&quot;, JmsComponent.jmsComponentAutoAcknowledge(connectionFactory)); </script>
- </div>
-</div><p>The above works with any JMS provider. If we know we are using <a shape="rect" href="activemq.html">ActiveMQ</a> we can use an even simpler form using the <a shape="rect" class="external-link" href="http://activemq.apache.org/maven/5.5.0/activemq-camel/apidocs/org/apache/activemq/camel/component/ActiveMQComponent.html#activeMQComponent%28java.lang.String%29"><code>activeMQComponent()</code> method</a> while specifying the <a shape="rect" class="external-link" href="http://activemq.apache.org/configuring-transports.html">brokerURL</a> used to connect to ActiveMQ</p><div class="error">
- <span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span>
-</div><p>In normal use, an external system would be firing messages or events directly into Camel through one if its <a shape="rect" href="components.html">Components</a> but we are going to use the <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/ProducerTemplate.html">ProducerTemplate</a> which is a really easy way for testing your configuration:</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"> ProducerTemplate template = context.createProducerTemplate(); </script>
- </div>
-</div><p>Next you <strong>must</strong> start the camel context. If you are using <a shape="rect" href="spring.html">Spring</a> to configure the camel context this is automatically done for you; though if you are using a pure Java approach then you just need to call the start() method</p><div class="code panel pdl" style="border-width: 1px;">
+<div class="chapter page-reset" id="chapter-quickstart"><h1 id="BookInOnePage-Quickstart">Quickstart</h1><p>To start using Apache Camel quickly, you can read through some simple examples in this chapter. For readers who would like a more thorough introduction, please skip ahead to Chapter 3.</p><h2 id="BookInOnePage-WalkthroughanExampleCode">Walk through an Example Code</h2><p>This mini-guide takes you through the source code of a <a shape="rect" class="external-link" href="https://svn.apache.org/repos/asf/camel/trunk/examples/camel-example-jms-file/src/main/java/org/apache/camel/example/jmstofile/CamelJmsToFileExample.java">simple example</a>.</p><p>Camel can be configured either by using <a shape="rect" href="spring.html">Spring</a> or directly in Java - which <a shape="rect" class="external-link" href="https://svn.apache.org/repos/asf/camel/trunk/examples/camel-example-jms-file/src/main/java/org/apache/camel/example/jmstofile/CamelJmsToFileExample.java">this example does</a>.</p>
<p>This example is available in the <code>examples\camel-example-jms-file</code> directory of the <a shape="rect" href="download.html">Camel distribution</a>.</p><p>We start with creating a <a shape="rect" href="camelcontext.html">CamelContext</a> - which is a container for <a shape="rect" href="components.html">Components</a>, <a shape="rect" href="routes.html">Routes</a> etc:
+ </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"> CamelContext context = new DefaultCamelContext(); </script>
+ </div>
+ </div>There is more than one way of adding a Component to the CamelContext. You can add components implicitly - when we set up the routing - as we do here for the <a shape="rect" href="file2.html">FileComponent</a>:
+ <div class="code panel pdl" style="border-width: 1px;">
+ <div class="codeContent panelContent pdl">
+ <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"> context.addRoutes(new RouteBuilder() { public void configure() { from(&quot;test-jms:queue:test.queue&quot;).to(&quot;file://test&quot;); } }); </script>
+ </div>
+ </div>or explicitly - as we do here when we add the JMS Component:
+ <div class="code panel pdl" style="border-width: 1px;">
+ <div class="codeContent panelContent pdl">
+ <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"> ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(&quot;vm://localhost?broker.persistent=false&quot;); // Note we can explicit name the component context.addComponent(&quot;test-jms&quot;, JmsComponent.jmsComponentAutoAcknowledge(connectionFactory)); </script>
+ </div>
+ </div>The above works with any JMS provider. If we know we are using <a shape="rect" href="activemq.html">ActiveMQ</a> we can use an even simpler form using the <a shape="rect" class="external-link" href="http://activemq.apache.org/maven/5.5.0/activemq-camel/apidocs/org/apache/activemq/camel/component/ActiveMQComponent.html#activeMQComponent%28java.lang.String%29"><code>activeMQComponent()</code> method</a> while specifying the <a shape="rect" class="external-link" href="http://activemq.apache.org/configuring-transports.html">brokerURL</a> used to connect to ActiveMQ<p>In normal use, an external system would be firing messages or events directly into Camel through one if its <a shape="rect" href="components.html">Components</a> but we are going to use the <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/ProducerTemplate.html">ProducerTemplate</a> which is a really easy way for testing your configuration:
+ </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"> ProducerTemplate template = context.createProducerTemplate(); </script>
+ </div>
+ </div>Next you <strong>must</strong> start the camel context. If you are using <a shape="rect" href="spring.html">Spring</a> to configure the camel context this is automatically done for you; though if you are using a pure Java approach then you just need to call the start() method<div class="code panel pdl" style="border-width: 1px;">
<div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter">camelContext.start(); </script>
</div>
-</div><p>This will start all of the configured routing rules.</p><p>So after starting the <a shape="rect" href="camelcontext.html">CamelContext</a>, we can fire some objects into camel:</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"> for (int i = 0; i &lt; 10; i++) { template.sendBody(&quot;test-jms:queue:test.queue&quot;, &quot;Test Message: &quot; + i); } </script>
- </div>
-</div><h2 id="BookInOnePage-Whathappens?">What happens?</h2><p>From the <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/ProducerTemplate.html">ProducerTemplate</a> - we send objects (in this case text) into the <a shape="rect" href="camelcontext.html">CamelContext</a> to the Component <em>test-jms:queue:test.queue</em>. These text objects will be <a shape="rect" href="type-converter.html">converted automatically</a> into JMS Messages and posted to a JMS Queue named <em>test.queue</em>. When we set up the <a shape="rect" href="routes.html">Route</a>, we configured the <a shape="rect" href="file2.html">FileComponent</a> to listen off the <em>test.queue</em>.</p><p>The File <a shape="rect" href="file2.html">FileComponent</a> will take messages off the Queue, and save them to a directory named <em>test</em>. Every message will be saved in a file that corresponds to its destination and message id.</p><p>Finally, we con
figured our own listener in the <a shape="rect" href="routes.html">Route</a> - to take notifications from the <a shape="rect" href="file2.html">FileComponent</a> and print them out as text.</p><p><strong>That's it!</strong></p><p>If you have the time then use 5 more minutes to <a shape="rect" href="walk-through-another-example.html">Walk through another example</a> that demonstrates the Spring DSL (XML based) routing.</p><h2 id="BookInOnePage-Walkthroughanotherexample">Walk through another example</h2><h3 id="BookInOnePage-Introduction.1">Introduction</h3><p>Continuing the walk from our first <a shape="rect" href="walk-through-an-example.html">example</a>, we take a closer look at the routing and explain a few pointers - so you won't walk into a bear trap, but can enjoy an after-hours walk to the local pub for a large 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><p>First we take a moment to look at the <a shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a> - the base pattern catalog for integration scenarios. In particular we focus on <a shape="rect" href="pipes-and-filters.html">Pipes and filters</a> - a central pattern. This is used to route messages through a sequence of processing steps, each performing a specific function - much like the Java Servlet Filters. </p><h3 id="BookInOnePage-Pipesandfilters">Pipes and filters</h3><p>In this sample we want to process a message in a sequence of steps where each steps can perform their specific function. In our example we have a <a shape="rect" href="jms.html">JMS</a> queue for receiving new orders. When an order is received we need to process it in several steps:</p><ul class="alternate"><li>validate</li><li>register</li><li>send confirm email</li></ul><p>This can be created in a route like this:</p><div c
lass="code panel pdl" style="border-width: 1px;">
+</div><p>This will start all of the configured routing rules.</p><p>So after starting the <a shape="rect" href="camelcontext.html">CamelContext</a>, we can fire some objects into camel:
+ </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"> for (int i = 0; i &lt; 10; i++) { template.sendBody(&quot;test-jms:queue:test.queue&quot;, &quot;Test Message: &quot; + i); } </script>
+ </div>
+ </div><h2 id="BookInOnePage-Whathappens?">What happens?</h2><p>From the <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/ProducerTemplate.html">ProducerTemplate</a> - we send objects (in this case text) into the <a shape="rect" href="camelcontext.html">CamelContext</a> to the Component <em>test-jms:queue:test.queue</em>. These text objects will be <a shape="rect" href="type-converter.html">converted automatically</a> into JMS Messages and posted to a JMS Queue named <em>test.queue</em>. When we set up the <a shape="rect" href="routes.html">Route</a>, we configured the <a shape="rect" href="file2.html">FileComponent</a> to listen off the <em>test.queue</em>.</p><p>The File <a shape="rect" href="file2.html">FileComponent</a> will take messages off the Queue, and save them to a directory named <em>test</em>. Every message will be saved in a file that corresponds to its destination and message id.</p><p>Finally, we co
nfigured our own listener in the <a shape="rect" href="routes.html">Route</a> - to take notifications from the <a shape="rect" href="file2.html">FileComponent</a> and print them out as text.</p><p><strong>That's it!</strong></p><p>If you have the time then use 5 more minutes to <a shape="rect" href="walk-through-another-example.html">Walk through another example</a> that demonstrates the Spring DSL (XML based) routing.</p><h2 id="BookInOnePage-Walkthroughanotherexample">Walk through another example</h2><h3 id="BookInOnePage-Introduction.1">Introduction</h3><p>Continuing the walk from our first <a shape="rect" href="walk-through-an-example.html">example</a>, we take a closer look at the routing and explain a few pointers - so you won't walk into a bear trap, but can enjoy an after-hours walk to the local pub for a large beer <img class="emoticon emoticon-wink" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/win
k.png" data-emoticon-name="wink" alt="(wink)"></p><p>First we take a moment to look at the <a shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a> - the base pattern catalog for integration scenarios. In particular we focus on <a shape="rect" href="pipes-and-filters.html">Pipes and filters</a> - a central pattern. This is used to route messages through a sequence of processing steps, each performing a specific function - much like the Java Servlet Filters. </p><h3 id="BookInOnePage-Pipesandfilters">Pipes and filters</h3><p>In this sample we want to process a message in a sequence of steps where each steps can perform their specific function. In our example we have a <a shape="rect" href="jms.html">JMS</a> queue for receiving new orders. When an order is received we need to process it in several steps:</p><ul class="alternate"><li>validate</li><li>register</li><li>send confirm email</li></ul><p>This can be created in a route like this:</p><div
class="code panel pdl" style="border-width: 1px;">
<div class="codeContent panelContent pdl">
<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"> &lt;route&gt; &lt;from uri=&quot;jms:queue:order&quot;/&gt; &lt;pipeline&gt; &lt;bean ref=&quot;validateOrder&quot;/&gt; &lt;bean ref=&quot;registerOrder&quot;/&gt; &lt;bean ref=&quot;sendConfirmEmail&quot;/&gt; &lt;/pipeline&gt; &lt;/route&gt; </script>
</div>
@@ -3930,11 +3933,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> </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.rbtoc1486754288315 {padding: 0px;}
-div.rbtoc1486754288315 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1486754288315 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1487326735988 {padding: 0px;}
+div.rbtoc1487326735988 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1487326735988 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1486754288315">
+/*]]>*/</style></p><div class="toc-macro rbtoc1487326735988">
<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>
@@ -6049,11 +6052,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.rbtoc1486754288664 {padding: 0px;}
-div.rbtoc1486754288664 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1486754288664 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1487326736179 {padding: 0px;}
+div.rbtoc1487326736179 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1487326736179 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style><div class="toc-macro rbtoc1486754288664">
+/*]]>*/</style><div class="toc-macro rbtoc1487326736179">
<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>
@@ -14241,8 +14244,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.rbtoc1486754314992 {padding: 0px;} div.rbtoc1486754314992 ul {list-style: disc;margin-left: 0px;} div.rbtoc1486754314992 li {margin-left: 0px;padding-left: 0px;} /**/</style>
- </p><div class="toc-macro rbtoc1486754314992">
+</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.rbtoc1487326758514 {padding: 0px;} div.rbtoc1487326758514 ul {list-style: disc;margin-left: 0px;} div.rbtoc1487326758514 li {margin-left: 0px;padding-left: 0px;} /**/</style>
+ </p><div class="toc-macro rbtoc1487326758514">
<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-quickstart.html
==============================================================================
--- websites/production/camel/content/book-quickstart.html (original)
+++ websites/production/camel/content/book-quickstart.html Fri Feb 17 10:20:40 2017
@@ -86,33 +86,36 @@
<tbody>
<tr>
<td valign="top" width="100%">
-<div class="wiki-content maincontent"><div class="chapter page-reset" id="chapter-quickstart"><h1 id="BookQuickstart-Quickstart">Quickstart</h1><p>To start using Apache Camel quickly, you can read through some simple examples in this chapter. For readers who would like a more thorough introduction, please skip ahead to Chapter 3.</p><h2 id="BookQuickstart-WalkthroughanExampleCode">Walk through an Example Code</h2><p>This mini-guide takes you through the source code of a <a shape="rect" class="external-link" href="https://svn.apache.org/repos/asf/camel/trunk/examples/camel-example-jms-file/src/main/java/org/apache/camel/example/jmstofile/CamelJmsToFileExample.java">simple example</a>.</p><p>Camel can be configured either by using <a shape="rect" href="spring.html">Spring</a> or directly in Java - which <a shape="rect" class="external-link" href="https://svn.apache.org/repos/asf/camel/trunk/examples/camel-example-jms-file/src/main/java/org/apache/camel/example/jmstofile/CamelJmsToFile
Example.java">this example does</a>.</p><p>This example is available in the <code>examples\camel-example-jms-file</code> directory of the <a shape="rect" href="download.html">Camel distribution</a>.</p><p>We start with creating a <a shape="rect" href="camelcontext.html">CamelContext</a> - which is a container for <a shape="rect" href="components.html">Components</a>, <a shape="rect" href="routes.html">Routes</a> etc:</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"> CamelContext context = new DefaultCamelContext(); </script>
- </div>
-</div><p>There is more than one way of adding a Component to the CamelContext. You can add components implicitly - when we set up the routing - as we do here for the <a shape="rect" href="file2.html">FileComponent</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"> context.addRoutes(new RouteBuilder() { public void configure() { from(&quot;test-jms:queue:test.queue&quot;).to(&quot;file://test&quot;); } }); </script>
- </div>
-</div><p>or explicitly - as we do here when we add the JMS Component:</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"> ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(&quot;vm://localhost?broker.persistent=false&quot;); // Note we can explicit name the component context.addComponent(&quot;test-jms&quot;, JmsComponent.jmsComponentAutoAcknowledge(connectionFactory)); </script>
- </div>
-</div><p>The above works with any JMS provider. If we know we are using <a shape="rect" href="activemq.html">ActiveMQ</a> we can use an even simpler form using the <a shape="rect" class="external-link" href="http://activemq.apache.org/maven/5.5.0/activemq-camel/apidocs/org/apache/activemq/camel/component/ActiveMQComponent.html#activeMQComponent%28java.lang.String%29"><code>activeMQComponent()</code> method</a> while specifying the <a shape="rect" class="external-link" href="http://activemq.apache.org/configuring-transports.html">brokerURL</a> used to connect to ActiveMQ</p><div class="error">
- <span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span>
-</div><p>In normal use, an external system would be firing messages or events directly into Camel through one if its <a shape="rect" href="components.html">Components</a> but we are going to use the <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/ProducerTemplate.html">ProducerTemplate</a> which is a really easy way for testing your configuration:</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"> ProducerTemplate template = context.createProducerTemplate(); </script>
- </div>
-</div><p>Next you <strong>must</strong> start the camel context. If you are using <a shape="rect" href="spring.html">Spring</a> to configure the camel context this is automatically done for you; though if you are using a pure Java approach then you just need to call the start() method</p><div class="code panel pdl" style="border-width: 1px;">
+<div class="wiki-content maincontent"><div class="chapter page-reset" id="chapter-quickstart"><h1 id="BookQuickstart-Quickstart">Quickstart</h1><p>To start using Apache Camel quickly, you can read through some simple examples in this chapter. For readers who would like a more thorough introduction, please skip ahead to Chapter 3.</p><h2 id="BookQuickstart-WalkthroughanExampleCode">Walk through an Example Code</h2><p>This mini-guide takes you through the source code of a <a shape="rect" class="external-link" href="https://svn.apache.org/repos/asf/camel/trunk/examples/camel-example-jms-file/src/main/java/org/apache/camel/example/jmstofile/CamelJmsToFileExample.java">simple example</a>.</p><p>Camel can be configured either by using <a shape="rect" href="spring.html">Spring</a> or directly in Java - which <a shape="rect" class="external-link" href="https://svn.apache.org/repos/asf/camel/trunk/examples/camel-example-jms-file/src/main/java/org/apache/camel/example/jmstofile/CamelJmsToFile
Example.java">this example does</a>.</p><p>This example is available in the <code>examples\camel-example-jms-file</code> directory of the <a shape="rect" href="download.html">Camel distribution</a>.</p><p>We start with creating a <a shape="rect" href="camelcontext.html">CamelContext</a> - which is a container for <a shape="rect" href="components.html">Components</a>, <a shape="rect" href="routes.html">Routes</a> etc:
+ </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"> CamelContext context = new DefaultCamelContext(); </script>
+ </div>
+ </div>There is more than one way of adding a Component to the CamelContext. You can add components implicitly - when we set up the routing - as we do here for the <a shape="rect" href="file2.html">FileComponent</a>:
+ <div class="code panel pdl" style="border-width: 1px;">
+ <div class="codeContent panelContent pdl">
+ <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"> context.addRoutes(new RouteBuilder() { public void configure() { from(&quot;test-jms:queue:test.queue&quot;).to(&quot;file://test&quot;); } }); </script>
+ </div>
+ </div>or explicitly - as we do here when we add the JMS Component:
+ <div class="code panel pdl" style="border-width: 1px;">
+ <div class="codeContent panelContent pdl">
+ <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"> ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(&quot;vm://localhost?broker.persistent=false&quot;); // Note we can explicit name the component context.addComponent(&quot;test-jms&quot;, JmsComponent.jmsComponentAutoAcknowledge(connectionFactory)); </script>
+ </div>
+ </div>The above works with any JMS provider. If we know we are using <a shape="rect" href="activemq.html">ActiveMQ</a> we can use an even simpler form using the <a shape="rect" class="external-link" href="http://activemq.apache.org/maven/5.5.0/activemq-camel/apidocs/org/apache/activemq/camel/component/ActiveMQComponent.html#activeMQComponent%28java.lang.String%29"><code>activeMQComponent()</code> method</a> while specifying the <a shape="rect" class="external-link" href="http://activemq.apache.org/configuring-transports.html">brokerURL</a> used to connect to ActiveMQ<p>In normal use, an external system would be firing messages or events directly into Camel through one if its <a shape="rect" href="components.html">Components</a> but we are going to use the <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/ProducerTemplate.html">ProducerTemplate</a> which is a really easy way for testing your configuration:
+ </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"> ProducerTemplate template = context.createProducerTemplate(); </script>
+ </div>
+ </div>Next you <strong>must</strong> start the camel context. If you are using <a shape="rect" href="spring.html">Spring</a> to configure the camel context this is automatically done for you; though if you are using a pure Java approach then you just need to call the start() method<div class="code panel pdl" style="border-width: 1px;">
<div class="codeContent panelContent pdl">
<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter">camelContext.start(); </script>
</div>
-</div><p>This will start all of the configured routing rules.</p><p>So after starting the <a shape="rect" href="camelcontext.html">CamelContext</a>, we can fire some objects into camel:</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"> for (int i = 0; i &lt; 10; i++) { template.sendBody(&quot;test-jms:queue:test.queue&quot;, &quot;Test Message: &quot; + i); } </script>
- </div>
-</div><h2 id="BookQuickstart-Whathappens?">What happens?</h2><p>From the <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/ProducerTemplate.html">ProducerTemplate</a> - we send objects (in this case text) into the <a shape="rect" href="camelcontext.html">CamelContext</a> to the Component <em>test-jms:queue:test.queue</em>. These text objects will be <a shape="rect" href="type-converter.html">converted automatically</a> into JMS Messages and posted to a JMS Queue named <em>test.queue</em>. When we set up the <a shape="rect" href="routes.html">Route</a>, we configured the <a shape="rect" href="file2.html">FileComponent</a> to listen off the <em>test.queue</em>.</p><p>The File <a shape="rect" href="file2.html">FileComponent</a> will take messages off the Queue, and save them to a directory named <em>test</em>. Every message will be saved in a file that corresponds to its destination and message id.</p><p>Finally, we co
nfigured our own listener in the <a shape="rect" href="routes.html">Route</a> - to take notifications from the <a shape="rect" href="file2.html">FileComponent</a> and print them out as text.</p><p><strong>That's it!</strong></p><p>If you have the time then use 5 more minutes to <a shape="rect" href="walk-through-another-example.html">Walk through another example</a> that demonstrates the Spring DSL (XML based) routing.</p><h2 id="BookQuickstart-Walkthroughanotherexample">Walk through another example</h2><h3 id="BookQuickstart-Introduction">Introduction</h3><p>Continuing the walk from our first <a shape="rect" href="walk-through-an-example.html">example</a>, we take a closer look at the routing and explain a few pointers - so you won't walk into a bear trap, but can enjoy an after-hours walk to the local pub for a large beer <img class="emoticon emoticon-wink" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/win
k.png" data-emoticon-name="wink" alt="(wink)"></p><p>First we take a moment to look at the <a shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a> - the base pattern catalog for integration scenarios. In particular we focus on <a shape="rect" href="pipes-and-filters.html">Pipes and filters</a> - a central pattern. This is used to route messages through a sequence of processing steps, each performing a specific function - much like the Java Servlet Filters. </p><h3 id="BookQuickstart-Pipesandfilters">Pipes and filters</h3><p>In this sample we want to process a message in a sequence of steps where each steps can perform their specific function. In our example we have a <a shape="rect" href="jms.html">JMS</a> queue for receiving new orders. When an order is received we need to process it in several steps:</p><ul class="alternate"><li>validate</li><li>register</li><li>send confirm email</li></ul><p>This can be created in a route like this:</p><div
class="code panel pdl" style="border-width: 1px;">
+</div><p>This will start all of the configured routing rules.</p><p>So after starting the <a shape="rect" href="camelcontext.html">CamelContext</a>, we can fire some objects into camel:
+ </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"> for (int i = 0; i &lt; 10; i++) { template.sendBody(&quot;test-jms:queue:test.queue&quot;, &quot;Test Message: &quot; + i); } </script>
+ </div>
+ </div><h2 id="BookQuickstart-Whathappens?">What happens?</h2><p>From the <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/ProducerTemplate.html">ProducerTemplate</a> - we send objects (in this case text) into the <a shape="rect" href="camelcontext.html">CamelContext</a> to the Component <em>test-jms:queue:test.queue</em>. These text objects will be <a shape="rect" href="type-converter.html">converted automatically</a> into JMS Messages and posted to a JMS Queue named <em>test.queue</em>. When we set up the <a shape="rect" href="routes.html">Route</a>, we configured the <a shape="rect" href="file2.html">FileComponent</a> to listen off the <em>test.queue</em>.</p><p>The File <a shape="rect" href="file2.html">FileComponent</a> will take messages off the Queue, and save them to a directory named <em>test</em>. Every message will be saved in a file that corresponds to its destination and message id.</p><p>Finally, we c
onfigured our own listener in the <a shape="rect" href="routes.html">Route</a> - to take notifications from the <a shape="rect" href="file2.html">FileComponent</a> and print them out as text.</p><p><strong>That's it!</strong></p><p>If you have the time then use 5 more minutes to <a shape="rect" href="walk-through-another-example.html">Walk through another example</a> that demonstrates the Spring DSL (XML based) routing.</p><h2 id="BookQuickstart-Walkthroughanotherexample">Walk through another example</h2><h3 id="BookQuickstart-Introduction">Introduction</h3><p>Continuing the walk from our first <a shape="rect" href="walk-through-an-example.html">example</a>, we take a closer look at the routing and explain a few pointers - so you won't walk into a bear trap, but can enjoy an after-hours walk to the local pub for a large beer <img class="emoticon emoticon-wink" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/wi
nk.png" data-emoticon-name="wink" alt="(wink)"></p><p>First we take a moment to look at the <a shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a> - the base pattern catalog for integration scenarios. In particular we focus on <a shape="rect" href="pipes-and-filters.html">Pipes and filters</a> - a central pattern. This is used to route messages through a sequence of processing steps, each performing a specific function - much like the Java Servlet Filters. </p><h3 id="BookQuickstart-Pipesandfilters">Pipes and filters</h3><p>In this sample we want to process a message in a sequence of steps where each steps can perform their specific function. In our example we have a <a shape="rect" href="jms.html">JMS</a> queue for receiving new orders. When an order is received we need to process it in several steps:</p><ul class="alternate"><li>validate</li><li>register</li><li>send confirm email</li></ul><p>This can be created in a route like this:</p><di
v class="code panel pdl" style="border-width: 1px;">
<div class="codeContent panelContent pdl">
<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"> &lt;route&gt; &lt;from uri=&quot;jms:queue:order&quot;/&gt; &lt;pipeline&gt; &lt;bean ref=&quot;validateOrder&quot;/&gt; &lt;bean ref=&quot;registerOrder&quot;/&gt; &lt;bean ref=&quot;sendConfirmEmail&quot;/&gt; &lt;/pipeline&gt; &lt;/route&gt; </script>
</div>
Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.
Modified: websites/production/camel/content/walk-through-an-example.html
==============================================================================
--- websites/production/camel/content/walk-through-an-example.html (original)
+++ websites/production/camel/content/walk-through-an-example.html Fri Feb 17 10:20:40 2017
@@ -90,7 +90,7 @@
<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
CamelContext context = new DefaultCamelContext();
]]></script>
-</div></div><p>There is more than one way of adding a Component to the CamelContext. You can add components implicitly - when we set up the routing - as we do here for the <a shape="rect" href="file2.html">FileComponent</a>:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div>There is more than one way of adding a Component to the CamelContext. You can add components implicitly - when we set up the routing - as we do here for the <a shape="rect" href="file2.html">FileComponent</a>:<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[
context.addRoutes(new RouteBuilder() {
public void configure() {
@@ -98,17 +98,17 @@ context.addRoutes(new RouteBuilder() {
}
});
]]></script>
-</div></div><p>or explicitly - as we do here when we add the JMS Component:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div>or explicitly - as we do here when we add the JMS Component:<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[
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("vm://localhost?broker.persistent=false");
// Note we can explicit name the component
context.addComponent("test-jms", JmsComponent.jmsComponentAutoAcknowledge(connectionFactory));
]]></script>
-</div></div><p>The above works with any JMS provider. If we know we are using <a shape="rect" href="activemq.html">ActiveMQ</a> we can use an even simpler form using the <a shape="rect" class="external-link" href="http://activemq.apache.org/maven/5.5.0/activemq-camel/apidocs/org/apache/activemq/camel/component/ActiveMQComponent.html#activeMQComponent%28java.lang.String%29"><code>activeMQComponent()</code> method</a> while specifying the <a shape="rect" class="external-link" href="http://activemq.apache.org/configuring-transports.html">brokerURL</a> used to connect to ActiveMQ</p><div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div><p>In normal use, an external system would be firing messages or events directly into Camel through one if its <a shape="rect" href="components.html">Components</a> but we are going to use the <a shape="rect" class="external-link" href="http://camel.apache.org/maven/cu
rrent/camel-core/apidocs/org/apache/camel/ProducerTemplate.html">ProducerTemplate</a> which is a really easy way for testing your configuration:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div>The above works with any JMS provider. If we know we are using <a shape="rect" href="activemq.html">ActiveMQ</a> we can use an even simpler form using the <a shape="rect" class="external-link" href="http://activemq.apache.org/maven/5.5.0/activemq-camel/apidocs/org/apache/activemq/camel/component/ActiveMQComponent.html#activeMQComponent%28java.lang.String%29"><code>activeMQComponent()</code> method</a> while specifying the <a shape="rect" class="external-link" href="http://activemq.apache.org/configuring-transports.html">brokerURL</a> used to connect to ActiveMQ<p>In normal use, an external system would be firing messages or events directly into Camel through one if its <a shape="rect" href="components.html">Components</a> but we are going to use the <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/ProducerTemplate.html">ProducerTemplate</a> which is a really easy way for testing your configuration:</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[
ProducerTemplate template = context.createProducerTemplate();
]]></script>
-</div></div><p>Next you <strong>must</strong> start the camel context. If you are using <a shape="rect" href="spring.html">Spring</a> to configure the camel context this is automatically done for you; though if you are using a pure Java approach then you just need to call the start() method</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div>Next you <strong>must</strong> start the camel context. If you are using <a shape="rect" href="spring.html">Spring</a> to configure the camel context this is automatically done for you; though if you are using a pure Java approach then you just need to call the start() method<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[camelContext.start();
]]></script>
</div></div><p>This will start all of the configured routing rules.</p><p>So after starting the <a shape="rect" href="camelcontext.html">CamelContext</a>, we can fire some objects into camel:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">