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 2015/07/08 09:21:06 UTC

svn commit: r957484 [2/3] - in /websites/production/camel/content: book-component-appendix.html book-in-one-page.html cache/main.pageCache jt400.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 Wed Jul  8 07:21:05 2015
@@ -148,8 +148,8 @@ camelContext.addComponent("activemq
 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">
-<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">camelContext.start();
-</pre>
+<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">
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 for (int i = 0; i &lt; 10; i++) {
@@ -171,62 +171,62 @@ for (int i = 0; i &lt; 10; i++) {
 
 <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">
-<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">
+<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 &lt;route&gt;
-   &lt;from uri="jms:queue:order"/&gt;
+   &lt;from uri=&quot;jms:queue:order&quot;/&gt;
    &lt;pipeline&gt;
-      &lt;bean ref="validateOrder"/&gt;
-      &lt;bean ref="registerOrder"/&gt;
-      &lt;bean ref="sendConfirmEmail"/&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;
-</pre>
+]]></script>
 </div></div>
 
 <div class="confluence-information-macro confluence-information-macro-tip"><p class="title">Pipeline is default</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body">
 <p>In the route above we specify <code>pipeline</code> but it can be omitted as its default, so you can write the route as:</p>
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">
+<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 &lt;route&gt;
-   &lt;from uri="jms:queue:order"/&gt;
-   &lt;bean ref="validateOrder"/&gt;
-   &lt;bean ref="registerOrder"/&gt;
-   &lt;bean ref="sendConfirmEmail"/&gt;
+   &lt;from uri=&quot;jms:queue:order&quot;/&gt;
+   &lt;bean ref=&quot;validateOrder&quot;/&gt;
+   &lt;bean ref=&quot;registerOrder&quot;/&gt;
+   &lt;bean ref=&quot;sendConfirmEmail&quot;/&gt;
 &lt;/route&gt;
-</pre>
+]]></script>
 </div></div>
 <p>This is commonly used not to state the pipeline. </p>
 
 <p>An example where the pipeline needs to be used, is when using a multicast and "one" of the endpoints to send to (as a logical group) is a pipeline of other endpoints. For example.</p>
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">
+<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 &lt;route&gt;
-   &lt;from uri="jms:queue:order"/&gt;
+   &lt;from uri=&quot;jms:queue:order&quot;/&gt;
    &lt;multicast&gt;
-     &lt;to uri="log:org.company.log.Category"/&gt;
+     &lt;to uri=&quot;log:org.company.log.Category&quot;/&gt;
      &lt;pipeline&gt;
-       &lt;bean ref="validateOrder"/&gt;
-       &lt;bean ref="registerOrder"/&gt;
-       &lt;bean ref="sendConfirmEmail"/&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;/multicast&gt;
 &lt;/route&gt;
-</pre>
+]]></script>
 </div></div>
 
 <p>The above sends the order (from <code>jms:queue:order</code>) to two locations at the same time, our log component, and to the "pipeline" of beans which goes one to the other. If you consider the opposite, sans the <code>&lt;pipeline&gt;</code></p>
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">
+<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 &lt;route&gt;
-   &lt;from uri="jms:queue:order"/&gt;
+   &lt;from uri=&quot;jms:queue:order&quot;/&gt;
    &lt;multicast&gt;
-     &lt;to uri="log:org.company.log.Category"/&gt;
-     &lt;bean ref="validateOrder"/&gt;
-     &lt;bean ref="registerOrder"/&gt;
-     &lt;bean ref="sendConfirmEmail"/&gt;
+     &lt;to uri=&quot;log:org.company.log.Category&quot;/&gt;
+     &lt;bean ref=&quot;validateOrder&quot;/&gt;
+     &lt;bean ref=&quot;registerOrder&quot;/&gt;
+     &lt;bean ref=&quot;sendConfirmEmail&quot;/&gt;
    &lt;/multicast&gt;
 &lt;/route&gt;
-</pre>
+]]></script>
 </div></div>
 
 <p>you would see that multicast would not "flow" the message from one bean to the next, but rather send the order to all 4 endpoints (1x log, 3x bean) in parallel, which is not (for this example) what we want. We need the message to flow to the validateOrder, then to the registerOrder, then the sendConfirmEmail so adding the pipeline, provides this facility. </p>
@@ -235,9 +235,9 @@ for (int i = 0; i &lt; 10; i++) {
 <p>Where as the <code>bean ref</code> is a reference for a spring bean id, so we define our beans using regular Spring XML as:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">
-   &lt;bean id="validateOrder" class="com.mycompany.MyOrderValidator"/&gt;
-</pre>
+<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
+   &lt;bean id=&quot;validateOrder&quot; class=&quot;com.mycompany.MyOrderValidator&quot;/&gt;
+]]></script>
 </div></div>
 
 <p>Our validator bean is a plain POJO that has no dependencies to Camel what so ever. So you can implement this POJO as you like. Camel uses rather intelligent <a shape="rect" href="bean-binding.html">Bean Binding</a> to invoke your POJO with the payload of the received message. In this example we will <strong>not</strong> dig into this how this happens. You should return to this topic later when you got some hands on experience with Camel how it can easily bind routing using your existing POJO beans.</p>
@@ -251,14 +251,14 @@ for (int i = 0; i &lt; 10; i++) {
 <p>In the route lets imagine that the registration of the order has to be done by sending data to a TCP socket that could be a big mainframe. As Camel has many <a shape="rect" href="components.html">Components</a> we will use the camel-mina component that supports <a shape="rect" href="mina.html">TCP</a> connectivity. So we change the route to:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">
+<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 &lt;route&gt;
-   &lt;from uri="jms:queue:order"/&gt;
-   &lt;bean ref="validateOrder"/&gt;
-   &lt;to uri="mina:tcp://mainframeip:4444?textline=true"/&gt;
-   &lt;bean ref="sendConfirmEmail"/&gt;
+   &lt;from uri=&quot;jms:queue:order&quot;/&gt;
+   &lt;bean ref=&quot;validateOrder&quot;/&gt;
+   &lt;to uri=&quot;mina:tcp://mainframeip:4444?textline=true&quot;/&gt;
+   &lt;bean ref=&quot;sendConfirmEmail&quot;/&gt;
 &lt;/route&gt;
-</pre>
+]]></script>
 </div></div>
 
 <p>What we now have in the route is a <code>to</code> type that can be used as a direct replacement for the bean type. The steps is now:<br clear="none">
@@ -268,14 +268,14 @@ for (int i = 0; i &lt; 10; i++) {
 
 <p>What to notice here is that the <code>to</code> is not the end of the route (the world <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)">) in this example it's used in the middle of the <a shape="rect" href="pipes-and-filters.html">Pipes and filters</a>. In fact we can change the <code>bean</code> types to <code>to</code> as well:</p>
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">
+<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 &lt;route&gt;
-   &lt;from uri="jms:queue:order"/&gt;
-   &lt;to uri="bean:validateOrder"/&gt;
-   &lt;to uri="mina:tcp://mainframeip:4444?textline=true"/&gt;
-   &lt;to uri="bean:sendConfirmEmail"/&gt;
+   &lt;from uri=&quot;jms:queue:order&quot;/&gt;
+   &lt;to uri=&quot;bean:validateOrder&quot;/&gt;
+   &lt;to uri=&quot;mina:tcp://mainframeip:4444?textline=true&quot;/&gt;
+   &lt;to uri=&quot;bean:sendConfirmEmail&quot;/&gt;
 &lt;/route&gt;
-</pre>
+]]></script>
 </div></div>
 
 <p>As the <code>to</code> is a generic type we must state in the uri scheme which component it is. So we must write <strong>bean:</strong> for the <a shape="rect" href="bean.html">Bean</a> component that we are using.</p>
@@ -305,9 +305,9 @@ One of the most famous patterns books is
 <p>The breadcrumbs at the top of the online Camel documentation can help you navigate between parent and child subsections.  <br clear="none">
 For example, If you are on the "Languages" documentation page then the left-hand side of the reddish bar contains the following links.</p>
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 Apache Camel &gt; Documentation &gt; Architecture &gt; Languages
-</pre>
+]]></script>
 </div></div>
 <p>As you might expect, clicking on "Apache Camel" takes you back to the home page of the Apache Camel project, and clicking on "Documentation" takes you to the main documentation page. You can interpret the "Architecture" and "Languages" buttons as indicating you are in the "Languages" section of the "Architecture" chapter. Adding browser bookmarks to pages that you frequently reference can also save time.  </p>
 
@@ -330,11 +330,11 @@ Camel provides out-of-the-box support fo
 <ul><li>A JMS queue.</li><li>A web service.</li><li>A file. A file may sound like an unlikely type of endpoint, until you realize that in some systems one application might write information to a file and, later, another application might read that file.</li><li>An FTP server.</li><li>An email address. A client can send a message to an email address, and a server can read an incoming message from a mail server.</li><li>A POJO (plain old Java object).</li></ul>
 
 
-<p>In a Camel-based application, you create (Camel wrappers around) some endpoints and connect these endpoints with <em>routes</em>, which I will discuss later in <a shape="rect" href="book-getting-started.html">Section 4.8 ("Routes, RouteBuilders and Java DSL")</a>. Camel defines a Java interface called <code>Endpoint</code>. Each Camel-supported endpoint has a class that implements this <code>Endpoint</code> interface. As I discussed in <a shape="rect" href="book-getting-started.html">Section 3.3 ("Online Javadoc documentation")</a>, Camel provides a separate Javadoc hierarchy for each communications technology supported by Camel. Because of this, you will find documentation on, say, the <code>JmsEndpoint</code> class in the <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-jms/apidocs/">JMS Javadoc hierarchy</a>, while documentation for, say, the <code>FtpEndpoint</code> class is in the <a shape="rect" class="external-link" href="http://camel
 .apache.org/maven/current/camel-ftp/apidocs/">FTP Javadoc hierarchy</a>.</p>
+<p>In a Camel-based application, you create (Camel wrappers around) some endpoints and connect these endpoints with <em>routes</em>, which I will discuss later in <a shape="rect" href="#BookInOnePage-routes">Section 4.8 ("Routes, RouteBuilders and Java DSL")</a>. Camel defines a Java interface called <code>Endpoint</code>. Each Camel-supported endpoint has a class that implements this <code>Endpoint</code> interface. As I discussed in <a shape="rect" href="#BookInOnePage-online-javadoc-docs">Section 3.3 ("Online Javadoc documentation")</a>, Camel provides a separate Javadoc hierarchy for each communications technology supported by Camel. Because of this, you will find documentation on, say, the <code>JmsEndpoint</code> class in the <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-jms/apidocs/">JMS Javadoc hierarchy</a>, while documentation for, say, the <code>FtpEndpoint</code> class is in the <a shape="rect" class="external-link" href="http://
 camel.apache.org/maven/current/camel-ftp/apidocs/">FTP Javadoc hierarchy</a>.</p>
 
 <h3 id="BookInOnePage-CamelContext">CamelContext</h3>
 <p>A <code>CamelContext</code> object represents the Camel runtime system. You typically have one <code>CamelContext</code> object in an application. A typical application executes the following steps.</p>
-<ol><li>Create a <code>CamelContext</code> object.</li><li>Add endpoints &#8211; and possibly Components, which are discussed in <a shape="rect" href="book-getting-started.html">Section 4.5 ("Components")</a> &#8211; to the <code>CamelContext</code> object.</li><li>Add routes to the <code>CamelContext</code> object to connect the endpoints.</li><li>Invoke the <code>start()</code> operation on the <code>CamelContext</code> object. This starts Camel-internal threads that are used to process the sending, receiving and processing of messages in the endpoints.</li><li>Eventually invoke the <code>stop()</code> operation on the <code>CamelContext</code> object. Doing this gracefully stops all the endpoints and Camel-internal threads.</li></ol>
+<ol><li>Create a <code>CamelContext</code> object.</li><li>Add endpoints &#8211; and possibly Components, which are discussed in <a shape="rect" href="#BookInOnePage-components-and-uris">Section 4.5 ("Components")</a> &#8211; to the <code>CamelContext</code> object.</li><li>Add routes to the <code>CamelContext</code> object to connect the endpoints.</li><li>Invoke the <code>start()</code> operation on the <code>CamelContext</code> object. This starts Camel-internal threads that are used to process the sending, receiving and processing of messages in the endpoints.</li><li>Eventually invoke the <code>stop()</code> operation on the <code>CamelContext</code> object. Doing this gracefully stops all the endpoints and Camel-internal threads.</li></ol>
 
 
 <p>Note that the <code>CamelContext.start()</code> operation does not block indefinitely. Rather, it starts threads internal to each <code>Component</code> and <code>Endpoint</code> and then <code>start()</code> returns. Conversely, <code>CamelContext.stop()</code> waits for all the threads internal to each <code>Endpoint</code> and <code>Component</code> to terminate and then <code>stop()</code> returns.<br clear="none">
@@ -343,7 +343,7 @@ If you neglect to call <code>CamelContex
 
 <h3 id="BookInOnePage-CamelTemplate">CamelTemplate</h3>
 <p>Camel used to have a class called <code>CamelClient</code>, but this was renamed to be <code>CamelTemplate</code> to be similar to a naming convention used in some other open-source projects, such as the <code>TransactionTemplate</code> and <code>JmsTemplate</code> classes in <a shape="rect" class="external-link" href="http://www.springframework.org/" rel="nofollow">Spring</a>.<br clear="none">
-The <code>CamelTemplate</code> class is a thin wrapper around the <code>CamelContext</code> class. It has methods that send a <code>Message</code> or <code>Exchange</code> &#8211; both discussed in <a shape="rect" href="book-getting-started.html">Section 4.6 ("Message and Exchange")</a>) &#8211; to an <code>Endpoint</code> &#8211; discussed in <a shape="rect" href="book-getting-started.html">Section 4.1 ("Endpoint")</a>. This provides a way to enter messages into source endpoints, so that the messages will move along routes &#8211; discussed in <a shape="rect" href="book-getting-started.html">Section 4.8 ("Routes, RouteBuilders and Java DSL")</a> &#8211; to destination endpoints.</p>
+The <code>CamelTemplate</code> class is a thin wrapper around the <code>CamelContext</code> class. It has methods that send a <code>Message</code> or <code>Exchange</code> &#8211; both discussed in <a shape="rect" href="#BookInOnePage-message-and-exchange">Section 4.6 ("Message and Exchange")</a>) &#8211; to an <code>Endpoint</code> &#8211; discussed in <a shape="rect" href="#BookInOnePage-endpoint">Section 4.1 ("Endpoint")</a>. This provides a way to enter messages into source endpoints, so that the messages will move along routes &#8211; discussed in <a shape="rect" href="#BookInOnePage-routes">Section 4.8 ("Routes, RouteBuilders and Java DSL")</a> &#8211; to destination endpoints.</p>
 
 <p><span class="confluence-anchor-link" id="BookInOnePage-url-uri-urn-iri"></span></p>
 <h3 id="BookInOnePage-TheMeaningofURL,URI,URNandIRI">The Meaning of URL, URI, URN and IRI </h3>
@@ -358,42 +358,42 @@ To date, URNs are not (yet) as popular a
 <p><em>Component</em> is confusing terminology; <em>EndpointFactory</em> would have been more appropriate because a <code>Component</code> is a factory for creating <code>Endpoint</code> instances. For example, if a Camel-based application uses several JMS queues then the application will create one instance of the <code>JmsComponent</code> class (which implements the <code>Component</code> interface), and then the application invokes the <code>createEndpoint()</code> operation on this <code>JmsComponent</code> object several times. Each invocation of <code>JmsComponent.createEndpoint()</code> creates an instance of the <code>JmsEndpoint</code> class (which implements the <code>Endpoint</code> interface). Actually, application-level code does not invoke <code>Component.createEndpoint()</code> directly. Instead, application-level code normally invokes <code>CamelContext.getEndpoint()</code>; internally, the <code>CamelContext</code> object finds the desired <code>Component</code> obj
 ect (as I will discuss shortly) and then invokes <code>createEndpoint()</code> on it.<br clear="none">
 Consider the following code.</p>
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
-myCamelContext.getEndpoint("pop3://john.smith@mailserv.example.com?password=myPassword");
-</pre>
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
+myCamelContext.getEndpoint(&quot;pop3://john.smith@mailserv.example.com?password=myPassword&quot;);
+]]></script>
 </div></div>
 <p>The parameter to <code>getEndpoint()</code> is a URI. The URI <em>prefix</em> (that is, the part before ":") specifies the name of a component. Internally, the <code>CamelContext</code> object maintains a mapping from names of components to <code>Component</code> objects. For the URI given in the above example, the <code>CamelContext</code> object would probably map the <code>pop3</code> prefix to an instance of the <code>MailComponent</code> class. Then the <code>CamelContext</code> object invokes <code>createEndpoint("pop3://john.smith@mailserv.example.com?password=myPassword")</code> on that <code>MailComponent</code> object. The <code>createEndpoint()</code> operation splits the URI into its component parts and uses these parts to create and configure an <code>Endpoint</code> object.<br clear="none">
 In the previous paragraph, I mentioned that a <code>CamelContext</code> object maintains a mapping from component names to <code>Component</code> objects. This raises the question of how this map is populated with named <code>Component</code> objects. There are two ways of populating the map. The first way is for application-level code to invoke <code>CamelContext.addComponent(String componentName, Component component)</code>. The example below shows a single <code>MailComponent</code> object being registered in the map under 3 different names.</p>
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 Component mailComponent = new org.apache.camel.component.mail.MailComponent();
-myCamelContext.addComponent("pop3", mailComponent);
-myCamelContext.addComponent("imap", mailComponent);
-myCamelContext.addComponent("smtp", mailComponent);
-</pre>
+myCamelContext.addComponent(&quot;pop3&quot;, mailComponent);
+myCamelContext.addComponent(&quot;imap&quot;, mailComponent);
+myCamelContext.addComponent(&quot;smtp&quot;, mailComponent);
+]]></script>
 </div></div>
 <p>The second (and preferred) way to populate the map of named <code>Component</code> objects in the <code>CamelContext</code> object is to let the <code>CamelContext</code> object perform lazy initialization. This approach relies on developers following a convention when they write a class that implements the <code>Component</code> interface. I illustrate the convention by an example. Let's assume you write a class called <code>com.example.myproject.FooComponent</code> and you want Camel to automatically recognize this by the name "foo". To do this, you have to write a properties file called "META-INF/services/org/apache/camel/component/foo" (without a ".properties" file extension) that has a single entry in it called <code>class</code>, the value of which is the fully-scoped name of your class. This is shown below.</p>
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>META-INF/services/org/apache/camel/component/foo</b></div><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 class=com.example.myproject.FooComponent
-</pre>
+]]></script>
 </div></div>
 <p>If you want Camel to also recognize the class by the name "bar" then you write another properties file in the same directory called "bar" that has the same contents. Once you have written the properties file(s), you create a jar file that contains the <code>com.example.myproject.FooComponent</code> class and the properties file(s), and you add this jar file to your CLASSPATH. Then, when application-level code invokes <code>createEndpoint("foo:...")</code> on a <code>CamelContext</code> object, Camel will find the "foo"" properties file on the CLASSPATH, get the value of the <code>class</code> property from that properties file, and use reflection APIs to create an instance of the specified class.<br clear="none">
-As I said in <a shape="rect" href="book-getting-started.html">Section 4.1 ("Endpoint")</a>, Camel provides out-of-the-box support for numerous communication technologies. The out-of-the-box support consists of classes that implement the <code>Component</code> interface plus properties files that enable a <code>CamelContext</code> object to populate its map of named <code>Component</code> objects.<br clear="none">
+As I said in <a shape="rect" href="#BookInOnePage-endpoint">Section 4.1 ("Endpoint")</a>, Camel provides out-of-the-box support for numerous communication technologies. The out-of-the-box support consists of classes that implement the <code>Component</code> interface plus properties files that enable a <code>CamelContext</code> object to populate its map of named <code>Component</code> objects.<br clear="none">
 Earlier in this section I gave the following example of calling <code>CamelContext.getEndpoint()</code>.</p>
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
-myCamelContext.getEndpoint("pop3://john.smith@mailserv.example.com?password=myPassword");
-</pre>
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
+myCamelContext.getEndpoint(&quot;pop3://john.smith@mailserv.example.com?password=myPassword&quot;);
+]]></script>
 </div></div>
-<p>When I originally gave that example, I said that the parameter to <code>getEndpoint()</code> was a URI. I said that because the online Camel documentation and the Camel source code both claim the parameter is a URI. In reality, the parameter is restricted to being a URL. This is because when Camel extracts the component name from the parameter, it looks for the first ":", which is a simplistic algorithm. To understand why, recall from <a shape="rect" href="book-getting-started.html">Section 4.4 ("The Meaning of URL, URI, URN and IRI")</a> that a URI can be a URL <em>or</em> a URN. Now consider the following calls to <code>getEndpoint</code>.</p>
+<p>When I originally gave that example, I said that the parameter to <code>getEndpoint()</code> was a URI. I said that because the online Camel documentation and the Camel source code both claim the parameter is a URI. In reality, the parameter is restricted to being a URL. This is because when Camel extracts the component name from the parameter, it looks for the first ":", which is a simplistic algorithm. To understand why, recall from <a shape="rect" href="#BookInOnePage-url-uri-urn-iri">Section 4.4 ("The Meaning of URL, URI, URN and IRI")</a> that a URI can be a URL <em>or</em> a URN. Now consider the following calls to <code>getEndpoint</code>.</p>
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
-myCamelContext.getEndpoint("pop3:...");
-myCamelContext.getEndpoint("jms:...");
-myCamelContext.getEndpoint("urn:foo:...");
-myCamelContext.getEndpoint("urn:bar:...");
-</pre>
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
+myCamelContext.getEndpoint(&quot;pop3:...&quot;);
+myCamelContext.getEndpoint(&quot;jms:...&quot;);
+myCamelContext.getEndpoint(&quot;urn:foo:...&quot;);
+myCamelContext.getEndpoint(&quot;urn:bar:...&quot;);
+]]></script>
 </div></div>
 <p>Camel identifies the components in the above example as "pop3", "jms", "urn" and "urn". It would be more useful if the latter components were identified as "urn:foo" and "urn:bar" or, alternatively, as "foo" and "bar" (that is, by skipping over the "urn:" prefix). So, in practice you must identify an endpoint with a URL (a string of the form "&lt;scheme&gt;:...") rather than with a URN (a string of the form "urn:&lt;scheme&gt;:..."). This lack of proper support for URNs means the you should consider the parameter to <code>getEndpoint()</code> as being a URL rather than (as claimed) a URI.</p>
 
@@ -408,15 +408,15 @@ Application-level programmers rarely acc
 <h3 id="BookInOnePage-Processor">Processor</h3>
 <p>The <code>Processor</code> interface represents a class that processes a message. The signature of this interface is shown below.</p>
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Processor</b></div><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 package org.apache.camel;
 public interface Processor {
     void process(Exchange exchange) throws Exception;
 }
-</pre>
+]]></script>
 </div></div>
 <p>Notice that the parameter to the <code>process()</code> method is an <code>Exchange</code> rather than a <code>Message</code>. This provides flexibility. For example, an implementation of this method initially might call <code>exchange.getIn()</code> to get the input message and process it. If an error occurs during processing then the method can call <code>exchange.setException()</code>.<br clear="none">
-An application-level developer might implement the <code>Processor</code> interface with a class that executes some business logic. However, there are many classes in the Camel library that implement the <code>Processor</code> interface in a way that provides support for a design pattern in the <a shape="rect" href="book-getting-started.html">EIP book</a>. For example, <code>ChoiceProcessor</code> implements the message router pattern, that is, it uses a cascading if-then-else statement to route a message from an input queue to one of several output queues. Another example is the <code>FilterProcessor</code> class which discards messages that do not satisfy a stated <em>predicate</em> (that is, condition).</p>
+An application-level developer might implement the <code>Processor</code> interface with a class that executes some business logic. However, there are many classes in the Camel library that implement the <code>Processor</code> interface in a way that provides support for a design pattern in the <a shape="rect" href="#BookInOnePage-eip-book">EIP book</a>. For example, <code>ChoiceProcessor</code> implements the message router pattern, that is, it uses a cascading if-then-else statement to route a message from an input queue to one of several output queues. Another example is the <code>FilterProcessor</code> class which discards messages that do not satisfy a stated <em>predicate</em> (that is, condition).</p>
 
 <p><span class="confluence-anchor-link" id="BookInOnePage-routes"></span></p>
 <h3 id="BookInOnePage-Routes,RouteBuildersandJavaDSL">Routes, RouteBuilders and Java DSL</h3>
@@ -425,19 +425,19 @@ An application-level developer might imp
 <h4 id="BookInOnePage-IntroductiontoJavaDSL">Introduction to Java DSL</h4>
 <p>For many people, the term "domain-specific language" implies a compiler or interpreter that can process an input file containing keywords and syntax specific to a particular domain. This is <em>not</em> the approach taken by Camel. Camel documentation consistently uses the term "Java DSL" instead of "DSL", but this does not entirely avoid potential confusion. The Camel "Java DSL" is a class library that can be used in a way that looks almost like a DSL, except that it has a bit of Java syntactic baggage. You can see this in the example below. Comments afterwards explain some of the constructs used in the example.</p>
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Example of Camel's "Java DSL"</b></div><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 RouteBuilder builder = new RouteBuilder() {
     public void configure() {
-        from("queue:a").filter(header("foo").isEqualTo("bar")).to("queue:b");
-        from("queue:c").choice()
-                .when(header("foo").isEqualTo("bar")).to("queue:d")
-                .when(header("foo").isEqualTo("cheese")).to("queue:e")
-                .otherwise().to("queue:f");
+        from(&quot;queue:a&quot;).filter(header(&quot;foo&quot;).isEqualTo(&quot;bar&quot;)).to(&quot;queue:b&quot;);
+        from(&quot;queue:c&quot;).choice()
+                .when(header(&quot;foo&quot;).isEqualTo(&quot;bar&quot;)).to(&quot;queue:d&quot;)
+                .when(header(&quot;foo&quot;).isEqualTo(&quot;cheese&quot;)).to(&quot;queue:e&quot;)
+                .otherwise().to(&quot;queue:f&quot;);
     }
 };
 CamelContext myCamelContext = new DefaultCamelContext();
 myCamelContext.addRoutes(builder);
-</pre>
+]]></script>
 </div></div>
 <p>The first line in the above example creates an object which is an instance of an anonymous subclass of <code>RouteBuilder</code> with the specified <code>configure()</code> method.<br clear="none">
 The <code>CamelContext.addRoutes(RouterBuilder builder)</code> method invokes <code>builder.setContext(this)</code> &#8211; so the <code>RouteBuilder</code> object knows which <code>CamelContext</code> object it is associated with &#8211; and then invokes <code>builder.configure()</code>. The body of <code>configure()</code> invokes methods such as <code>from()</code>, <code>filter()</code>, <code>choice()</code>, <code>when()</code>, <code>isEqualTo()</code>, <code>otherwise()</code> and <code>to()</code>.<br clear="none">
@@ -476,542 +476,542 @@ Camel uses a Java based <a shape="rect"
 <h3 id="BookInOnePage-CurrentSupportedURIs">Current Supported URIs</h3>
 
 <div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Component / ArtifactId / URI</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="ahc.html">AHC</a> / camel-ahc</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">ahc:http[s]://hostName[:port][/resourceUri][?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ahc:http[s]://hostName[:port][/resourceUri][?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To call external HTTP services using <a shape="rect" class="external-link" href="http://github.com/sonatype/async-http-client" rel="nofollow">Async Http Client</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="ahc-ws.html">AHC-WS</a><span> / camel-ahc-ws</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">ahc-ws[s]://hostName[:port][/resourceUri][?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ahc-ws[s]://hostName[:port][/resourceUri][?options]
+]]></script>
 </div></div><p><span><br clear="none"></span></p></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;To exchange data with external Websocket servers using <a shape="rect" class="external-link" href="http://github.com/sonatype/async-http-client" rel="nofollow">Async Http Client</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="amqp.html">AMQP</a> / camel-amqp</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">amqp:[queue:|topic:]destinationName[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[amqp:[queue:|topic:]destinationName[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For Messaging with <a shape="rect" class="external-link" href="http://www.amqp.org/" rel="nofollow">AMQP protocol</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="apns.html">APNS</a> / camel-apns</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">apns:&lt;notify|consumer&gt;[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[apns:&lt;notify|consumer&gt;[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For sending notifications to Apple iOS devices</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="atmosphere-websocket.html">Atmosphere-Websocket</a><span>&#160;</span><span> / camel-atmosphere-websocket</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">atmosphere-websocket:///relative path[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[atmosphere-websocket:///relative path[?options]
+]]></script>
 </div></div><p><span><br clear="none"></span></p></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;<span>To exchange data with external Websocket clients using </span><a shape="rect" class="external-link" href="https://github.com/Atmosphere/atmosphere" rel="nofollow">Atmosphere</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="atom.html">Atom</a> / camel-atom</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">atom:atomUri[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[atom:atomUri[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Working with <a shape="rect" class="external-link" href="http://incubator.apache.org/abdera/">Apache Abdera</a> for atom integration, such as consuming an atom feed.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="avro.html">Avro</a> / camel-avro</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">avro:[transport]:[host]:[port][/messageName][?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[avro:[transport]:[host]:[port][/messageName][?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Working with <a shape="rect" class="external-link" href="http://avro.apache.org/">Apache Avro</a> for data serialization.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="aws-cw.html">AWS-CW</a> / <a shape="rect" href="aws.html">camel-aws</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">aws-cw://namespace[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[aws-cw://namespace[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For working with <a shape="rect" class="external-link" href="http://aws.amazon.com/cloudwatch/" rel="nofollow">Amazon's CloudWatch (CW)</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="aws-ddb.html">AWS-DDB</a> / <a shape="rect" href="aws.html">camel-aws</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">aws-ddb://tableName[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[aws-ddb://tableName[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For working with <a shape="rect" class="external-link" href="http://aws.amazon.com/dynamodb/" rel="nofollow">Amazon's DynamoDB (DDB)</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="aws-ec2.html">AWS-EC2</a> / <a shape="rect" href="aws.html">camel-aws</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">aws-ec2://label[?options]</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[aws-ec2://label[?options]]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For working with <a shape="rect" class="external-link" href="http://aws.amazon.com/ec2/" rel="nofollow">Amazon's Elastic Compute Cloud (EC2)</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="aws-sdb.html">AWS-SDB</a> / <a shape="rect" href="aws.html">camel-aws</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">aws-sdb://domainName[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[aws-sdb://domainName[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For working with <a shape="rect" class="external-link" href="http://aws.amazon.com/simpledb/" rel="nofollow">Amazon's SimpleDB (SDB)</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="aws-ses.html">AWS-SES</a> / <a shape="rect" href="aws.html">camel-aws</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">aws-ses://from[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[aws-ses://from[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For working with <a shape="rect" class="external-link" href="http://aws.amazon.com/ses/" rel="nofollow">Amazon's Simple Email Service (SES)</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="aws-sns.html">AWS-SNS</a> / <a shape="rect" href="aws.html">camel-aws</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">aws-sns://topicName[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[aws-sns://topicName[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For Messaging with <a shape="rect" class="external-link" href="http://aws.amazon.com/sns/" rel="nofollow">Amazon's Simple Notification Service (SNS)</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="aws-sqs.html">AWS-SQS</a> / <a shape="rect" href="aws.html">camel-aws</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">aws-sqs://queueName[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[aws-sqs://queueName[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For Messaging with <a shape="rect" class="external-link" href="http://aws.amazon.com/sqs/" rel="nofollow">Amazon's Simple Queue Service (SQS)</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="aws-swf.html">AWS-SWF</a> / <a shape="rect" href="aws.html">camel-aws</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">aws-swf://&lt;worfklow|activity&gt;[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[aws-swf://&lt;worfklow|activity&gt;[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For Messaging with <a shape="rect" class="external-link" href="http://aws.amazon.com/swf/" rel="nofollow">Amazon's Simple Workflow Service (SWF)</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="aws-s3.html">AWS-S3</a> / <a shape="rect" href="aws.html">camel-aws</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">aws-s3://bucketName[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[aws-s3://bucketName[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For working with <a shape="rect" class="external-link" href="http://aws.amazon.com/s3/" rel="nofollow">Amazon's Simple Storage Service (S3)</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="bean.html">Bean</a> / camel-core</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">bean:beanName[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[bean:beanName[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Uses the <a shape="rect" href="bean-binding.html">Bean Binding</a> to bind message exchanges to beans in the <a shape="rect" href="registry.html">Registry</a>. Is also used for exposing and invoking POJO (Plain Old Java Objects).</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="beanstalk.html">Beanstalk</a><span> / camel-beanstalk</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">beanstalk:hostname:port/tube[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[beanstalk:hostname:port/tube[?options]
+]]></script>
 </div></div><p><span><br clear="none"></span></p></td><td colspan="1" rowspan="1" class="confluenceTd">For working with <a shape="rect" class="external-link" href="http://aws.amazon.com/elasticbeanstalk/" rel="nofollow">Amazon's Beanstalk</a>.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="bean-validator.html">Bean Validator</a> / camel-bean-validator</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">bean-validator:label[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[bean-validator:label[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Validates the payload of a message using the Java Validation API (<a shape="rect" class="external-link" href="http://jcp.org/en/jsr/detail?id=303" rel="nofollow">JSR 303</a> and JAXP Validation) and its reference implementation <a shape="rect" class="external-link" href="http://docs.jboss.org/hibernate/stable/validator/reference/en/html_single/" rel="nofollow">Hibernate Validator</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="box.html">Box</a> / camel-box</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">box://endpoint-prefix/endpoint?[options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[box://endpoint-prefix/endpoint?[options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For uploading, downloading and managing files, managing files, folders, groups, collaborations, etc. on Box.com.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="browse.html">Browse</a> / camel-core</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">browse:someName
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[browse:someName
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Provides a simple <a shape="rect" href="browsableendpoint.html">BrowsableEndpoint</a> which can be useful for testing, visualisation tools or debugging. The exchanges sent to the endpoint are all available to be browsed.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="cache.html">Cache</a> / camel-cache</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">cache://cacheName[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[cache://cacheName[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The cache component facilitates creation of caching endpoints and processors using <a shape="rect" class="external-link" href="http://ehcache.org/" rel="nofollow">EHCache</a> as the cache implementation.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="class.html">Class</a> / camel-core</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">class:className[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[class:className[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Uses the <a shape="rect" href="bean-binding.html">Bean Binding</a> to bind message exchanges to beans in the <a shape="rect" href="registry.html">Registry</a>. Is also used for exposing and invoking POJO (Plain Old Java Objects).</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="chunk.html">Chunk</a> / camel-chunk</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">chunk:templateName[?options]</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[chunk:templateName[?options]]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Generates a response using a <a shape="rect" class="external-link" href="http://www.x5software.com/chunk/examples/ChunkExample" rel="nofollow">Chunk</a> template</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="cmis.html">CMIS</a> / camel-cmis</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">cmis://cmisServerUrl[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[cmis://cmisServerUrl[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Uses the <a shape="rect" class="external-link" href="http://chemistry.apache.org/java/opencmis.html">Apache Chemistry</a> client API to interface with CMIS supporting CMS</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="cometd.html">Cometd</a> / camel-cometd</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">cometd://hostName:port/channelName[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[cometd://hostName:port/channelName[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used to deliver messages using the <a shape="rect" class="external-link" href="http://docs.codehaus.org/display/JETTY/Cometd+(aka+Bayeux)" rel="nofollow">jetty cometd implementation</a> of the <a shape="rect" class="external-link" href="http://svn.xantus.org/shortbus/trunk/bayeux/bayeux.html" rel="nofollow">bayeux protocol</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="context.html">Context</a> / camel-context</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">context:camelContextId:localEndpointName[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[context:camelContextId:localEndpointName[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used to refer to endpoints within a separate CamelContext to provide a simple <a shape="rect" href="context.html">black box composition</a> approach so that routes can be combined into a CamelContext and then used as a black box component inside other routes in other CamelContexts</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="controlbus-component.html">ControlBus</a> / camel-core</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">controlbus:command[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[controlbus:command[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="controlbus.html">ControlBus</a> EIP that allows to send messages to <a shape="rect" href="endpoint.html">Endpoint</a>s for managing and monitoring your Camel applications.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="couchdb.html">CouchDB</a> / camel-couchdb</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">couchdb:hostName[:port]/database[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[couchdb:hostName[:port]/database[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To integrate with <a shape="rect" class="external-link" href="http://couchdb.apache.org/">Apache CouchDB</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="crypto-digital-signatures.html">Crypto (Digital Signatures)</a> / camel-crypto</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">crypto:&lt;sign|verify&gt;:name[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[crypto:&lt;sign|verify&gt;:name[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used to sign and verify exchanges using the Signature Service of the Java Cryptographic Extension.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="cxf.html">CXF</a> / camel-cxf</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">cxf:&lt;bean:cxfEndpoint|//someAddress&gt;[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[cxf:&lt;bean:cxfEndpoint|//someAddress&gt;[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Working with <a shape="rect" class="external-link" href="http://apache.org/cxf/">Apache CXF</a> for web services integration</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="cxf-bean-component.html">CXF Bean </a> / camel-cxf</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">cxfbean:serviceBeanRef[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[cxfbean:serviceBeanRef[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Proceess the exchange using a JAX WS or JAX RS annotated bean from the registry. Requires less configuration than the above CXF Component</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="cxfrs.html">CXFRS</a> / camel-cxf</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">cxfrs:&lt;bean:rsEndpoint|//address&gt;[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[cxfrs:&lt;bean:rsEndpoint|//address&gt;[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Working with <a shape="rect" class="external-link" href="http://apache.org/cxf/">Apache CXF</a> for REST services integration</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="dataformat-component.html">DataFormat</a> / camel-core</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">dataformat:name:&lt;marshal|unmarshal&gt;[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[dataformat:name:&lt;marshal|unmarshal&gt;[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>for working with <a shape="rect" href="data-format.html">Data Format</a>s as if it was a regular Component supporting Endpoints and URIs.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="dataset.html">DataSet</a> / camel-core</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">dataset:name[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[dataset:name[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For load &amp; soak testing the <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/component/dataset/DataSet.html">DataSet</a> provides a way to create huge numbers of messages for sending to <a shape="rect" href="components.html">Components</a> or asserting that they are consumed correctly</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="direct.html">Direct</a> / camel-core</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">direct:someName[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[direct:someName[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Synchronous call to another endpoint from <strong>same</strong> CamelContext.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="direct-vm.html">Direct-VM</a> / camel-core</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">direct-vm:someName[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[direct-vm:someName[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Synchronous call to another endpoint in another CamelContext running in the same JVM.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="dns.html">DNS</a> / camel-dns</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">dns:operation[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[dns:operation[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To lookup domain information and run DNS queries using <a shape="rect" class="external-link" href="http://www.xbill.org/dnsjava/" rel="nofollow">DNSJava</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="disruptor.html">Disruptor</a> / camel-disruptor</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">disruptor:someName[?&lt;option&gt;]
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[disruptor:someName[?&lt;option&gt;]
 disruptor-vm:someName[?&lt;option&gt;]
-</pre>
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To provide the implementation of <a shape="rect" href="seda.html">SEDA</a> which is based on <a shape="rect" class="external-link" href="https://github.com/LMAX-Exchange/disruptor" rel="nofollow">disruptor</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span><a shape="rect" href="docker.html">Docker</a> / camel-docker</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">docker://[operation]?[options]</pre>
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[docker://[operation]?[options]]]></script>
 </div></div><p><span><br clear="none"></span></p></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;To communicate with <a shape="rect" class="external-link" href="https://www.docker.com/" rel="nofollow">Docker</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="dozer.html">Dozer</a> / camel-dozer</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">dozer://name?[options]</pre>
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[dozer://name?[options]]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;To convert message body using the Dozer type converter library.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="disruptor.html">D</a><a shape="rect" href="dropbox.html">ropbox</a><span> / camel-dropbox</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">dropbox://[operation]?[options]</pre>
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[dropbox://[operation]?[options]]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><span style="color: rgb(0,0,0);">The&#160;</span><strong>dropbox:</strong><span style="color: rgb(0,0,0);">&#160;component allows you to treat&#160;</span><a shape="rect" class="external-link" href="https://www.dropbox.com/" rel="nofollow">Dropbox</a><span style="color: rgb(0,0,0);">&#160;remote folders as a producer or consumer of messages.</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="ejb.html">EJB</a> / camel-ejb</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">ejb:ejbName[?options]
-</pre>
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ejb:ejbName[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Uses the <a shape="rect" href="bean-binding.html">Bean Binding</a> to bind message exchanges to EJBs. It works like the <a shape="rect" href="bean.html">Bean</a> component but just for accessing EJBs. Supports EJB 3.0 onwards.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="elasticsearch.html">ElasticSearch</a> / camel-elasticsearch</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">elasticsearch://clusterName[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[elasticsearch://clusterName[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For interfacing with an <a shape="rect" class="external-link" href="http://elasticsearch.org" rel="nofollow">ElasticSearch</a> server.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="spring-event.html">Spring Event</a> / camel-spring</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">spring-event://default
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[spring-event://default
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Working with Spring ApplicationEvents</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="eventadmin.html">EventAdmin</a> / camel-eventadmin</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">eventadmin:topic[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[eventadmin:topic[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Receiving OSGi EventAdmin events</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="exec.html">Exec</a> / camel-exec</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">exec://executable[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[exec://executable[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For executing system commands</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="facebook.html">Facebook</a> / camel-facebook</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">facebook://endpoint[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[facebook://endpoint[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Providing access to all of the Facebook APIs accessible using <a shape="rect" class="external-link" href="http://facebook4j.org/en/index.html" rel="nofollow">Facebook4J</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="file2.html">File</a> / camel-core</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">file://nameOfFileOrDirectory[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[file://nameOfFileOrDirectory[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sending messages to a file or polling a file or directory.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="flatpack.html">Flatpack</a> / camel-flatpack</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">flatpack:[fixed|delim]:configFile[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[flatpack:[fixed|delim]:configFile[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Processing fixed width or delimited files or messages using the <a shape="rect" class="external-link" href="http://flatpack.sourceforge.net" rel="nofollow">FlatPack library</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="fop.html">FOP</a> / camel-fop</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">fop:outputFormat[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[fop:outputFormat[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Renders the message into different output formats using <a shape="rect" class="external-link" href="http://xmlgraphics.apache.org/fop/index.html">Apache FOP</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="freemarker.html">FreeMarker</a> / camel-freemarker</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">freemarker:templateName[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[freemarker:templateName[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Generates a response using a <a shape="rect" class="external-link" href="http://freemarker.org/" rel="nofollow">FreeMarker</a> template</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="ftp2.html">FTP</a> / camel-ftp</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">ftp:contextPath[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ftp:contextPath[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sending and receiving files over FTP.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="ftp2.html">FTPS</a> / camel-ftp</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">ftps://[username@]hostName[:port]/directoryName[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ftps://[username@]hostName[:port]/directoryName[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sending and receiving files over FTP Secure (TLS and SSL).</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="ganglia.html">Ganglia</a> / camel-ganglia</p><pre>ganglia:destination:port[?options]</pre><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd">Sends values as metrics to the <a shape="rect" class="external-link" href="http://ganglia.info" rel="nofollow">Ganglia</a> performance monitoring system using <a shape="rect" class="external-link" href="https://github.com/ganglia/gmetric4j" rel="nofollow">gmetric4j</a>.&#160; Can be used along with <a shape="rect" class="external-link" href="https://github.com/ganglia/jmxetric" rel="nofollow">JMXetric</a>.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="gauth.html">GAuth</a> / <a shape="rect" href="gae.html">camel-gae</a></p><div class="code panel pdl" style="border-width: 1p
 x;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">gauth://name[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[gauth://name[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used by web applications to implement an <a shape="rect" class="external-link" href="http://code.google.com/apis/accounts/docs/OAuth.html" rel="nofollow">OAuth</a> consumer. See also <a shape="rect" href="gae.html">Camel Components for Google App Engine</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="ghttp.html">GHttp</a> / <a shape="rect" href="gae.html">camel-gae</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">ghttp:contextPath[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ghttp:contextPath[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Provides connectivity to the <a shape="rect" class="external-link" href="http://code.google.com/appengine/docs/java/urlfetch/" rel="nofollow">URL fetch service</a> of Google App Engine but can also be used to receive messages from servlets. See also <a shape="rect" href="gae.html">Camel Components for Google App Engine</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="glogin.html">GLogin</a> / <a shape="rect" href="gae.html">camel-gae</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">glogin://hostname[:port][?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[glogin://hostname[:port][?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used by Camel applications outside Google App Engine (GAE) for programmatic login to GAE applications. See also <a shape="rect" href="gae.html">Camel Components for Google App Engine</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="gtask.html">GTask</a> / <a shape="rect" href="gae.html">camel-gae</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">gtask://queue-name[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[gtask://queue-name[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports asynchronous message processing on Google App Engine by using the <a shape="rect" class="external-link" href="http://code.google.com/appengine/docs/java/taskqueue/" rel="nofollow">task queueing service</a> as message queue. See also <a shape="rect" href="gae.html">Camel Components for Google App Engine</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="googlecalendar.html">Google Calendar</a> / <a shape="rect" href="googlecalendar.html">camel-google-calendar</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">google-calendar://endpoint-prefix/endpoint?[options]&#160;</pre>
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[google-calendar://endpoint-prefix/endpoint?[options] ]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports interaction with <a shape="rect" class="external-link" href="https://developers.google.com/google-apps/calendar/v3/reference/" rel="nofollow">Google Calendar's REST API</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="googledrive.html">Google Drive</a> / <a shape="rect" href="googledrive.html">camel-google-drive</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">google-drive://endpoint-prefix/endpoint?[options]</pre>
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[google-drive://endpoint-prefix/endpoint?[options]]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports interaction with <a shape="rect" class="external-link" href="https://developers.google.com/drive/v2/reference/" rel="nofollow">Google Drive's REST API</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="googlemail.html">Google Mail</a> / <a shape="rect" href="googlemail.html">camel-google-mail</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">google-mail://endpoint-prefix/endpoint?[options]</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[google-mail://endpoint-prefix/endpoint?[options]]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports interaction with <a shape="rect" class="external-link" href="https://developers.google.com/gmail/api/v1/reference/" rel="nofollow">Google Mail's REST API</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="gmail.html">GMail</a> / <a shape="rect" href="gae.html">camel-gae</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">gmail://user@g[oogle]mail.com[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[gmail://user@g[oogle]mail.com[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports sending of emails via the <a shape="rect" class="external-link" href="http://code.google.com/appengine/docs/java/mail/" rel="nofollow">mail service</a> of Google App Engine. See also <a shape="rect" href="gae.html">Camel Components for Google App Engine</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="gora.html">Gora</a><span>/ camel-gora</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">gora:instanceName[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[gora:instanceName[?options]
+]]></script>
 </div></div><p><span><br clear="none"></span></p></td><td colspan="1" rowspan="1" class="confluenceTd">Supports to work with NoSQL databases using the&#160;<a shape="rect" class="external-link" href="http://gora.apache.org/">Apache Gora</a>&#160;framework.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="gora.html">G</a><a shape="rect" href="grape.html">rape</a>/ camel-grape</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">&#160;grape:defaultMavenCoordinates</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ grape:defaultMavenCoordinates]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><a shape="rect" class="external-link" href="http://docs.groovy-lang.org/latest/html/documentation/grape.html" rel="nofollow">Grape</a> component allows you to fetch, load and manage additional jars when CamelContext is running.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="geocoder.html">Geocoder</a> / camel-geocoder</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">geocoder:&lt;address|latlng:latitude,longitude&gt;[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[geocoder:&lt;address|latlng:latitude,longitude&gt;[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports looking up geocoders for an address, or reverse lookup geocoders from an address.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="github.html">GitHub</a> / camel-github</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">github://endpoint[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[github://endpoint[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For interacting with GitHub</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="guava-eventbus.html">Google Guava EventBus</a> / camel-guava-eventbus</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">guava-eventbus:busName[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[guava-eventbus:busName[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The <a shape="rect" class="external-link" href="http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/eventbus/package-summary.html" rel="nofollow">Google Guava EventBus</a> allows publish-subscribe-style communication between components without requiring the components to explicitly register with one another (and thus be aware of each other). This component provides integration bridge between Camel and <a shape="rect" class="external-link" href="http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/eventbus/package-summary.html" rel="nofollow">Google Guava EventBus</a> infrastructure.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="hazelcast-component.html">Hazelcast</a> / <a shape="rect" href="hazelcast-component.html">camel-hazelcast</a></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent p
 dl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">hazelcast://[type]:cachename[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[hazelcast://[type]:cachename[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.hazelcast.com" rel="nofollow">Hazelcast</a> is a data grid entirely implemented in Java (single jar). This component supports map, multimap, seda, queue, set, atomic number and simple cluster support.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="hbase.html">HBase</a> / camel-hbase</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">hbase://table[?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[hbase://table[?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For reading/writing from/to an <a shape="rect" class="external-link" href="http://hadoop.apache.org/hbase/">HBase</a> store (Hadoop database)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="hdfs.html">HDFS</a> / camel-hdfs</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">hdfs://hostName[:port][/path][?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[hdfs://hostName[:port][/path][?options]
+]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For reading/writing from/to an <a shape="rect" class="external-link" href="http://hadoop.apache.org/hdfs/">HDFS</a> filesystem using Hadoop 1.x</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="hdfs2.html">HDFS2</a> / camel-hdfs2</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">&#160;hdfs2://hostName[:port][/path][?options]</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ hdfs2://hostName[:port][/path][?options]]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><span>For reading/writing from/to an </span><a shape="rect" class="external-link" href="http://hadoop.apache.org/hdfs/">HDFS</a><span> filesystem using Hadoop 2.x</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="hipchat.html">Hipchat</a> / camel-hipchat</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">&#160;hipchat://[host][:port]?options</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[ hipchat://[host][:port]?options]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;For sending/receiving messages to <a shape="rect" class="external-link" href="https://www.hipchat.com" rel="nofollow">Hipchat</a> using v2 API</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="hl7.html">HL7</a> / camel-hl7</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: plain; gutter: false; theme: Default" style="font-size:12px;">mina2:tcp://hostName[:port][?options]
-</pre>
+<script class="brush: plain; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[mina2:tcp://hostName[:port][?options]
+]]></script>

[... 23392 lines stripped ...]