Author: buildbot
Date: Wed Jul  1 21:19:35 2015
New Revision: 956592

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/camel-and-scr.html
    websites/production/camel/content/debugger.html
    websites/production/camel/content/is-there-an-ide.html

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

Modified: websites/production/camel/content/camel-and-scr.html
==============================================================================
--- websites/production/camel/content/camel-and-scr.html (original)
+++ websites/production/camel/content/camel-and-scr.html Wed Jul  1 21:19:35 
2015
@@ -85,30 +85,30 @@
        <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 
id="CamelandSCR-WorkingwithCamelandSCR">Working with Camel and SCR</h2><p><span 
style="font-size: 14.0px;line-height: 1.4285715;">SCR stands for Service 
Component Runtime and is an implementation of OSGi Declarative Services 
specification. SCR enables any plain old Java object to expose and use OSGi 
services with no boilerplate code.</span></p><p>OSGi framework knows your 
object by looking at SCR descriptor files in its bundle which are typically 
generated from Java annotations by a plugin such as <code><a shape="rect" 
class="external-link" 
href="https://felix.apache.org/documentation/subprojects/apache-felix-maven-scr-plugin.html";>org.apache.felix:maven-scr-plugin</a></code>.</p><p>Running
 Camel in an SCR bundle is a great alternative for Spring DM and Blueprint 
based solutions having significantly fewer lines of code between you and the 
OSGi framework. Using SCR your bundle can remain completely in Java world; 
there is no need to edit XML 
 or properties files. This offers you full control over everything and means 
your IDE of choice knows exactly what is going on in your project.</p><h3 
id="CamelandSCR-CamelSCRsupport">Camel SCR support</h3><p><strong>Available as 
of Camel 2.15.0</strong></p><p>&#160;</p><div 
class="confluence-information-macro 
confluence-information-macro-information"><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>Camel-scr bundle is not included 
in Apache Camel versions prior 2.15.0, but the artifact itself can be used with 
any Camel version since 2.12.0. This means you can use Camel SCR support in, 
for example, Red Hat JBoss Fuse 6.1.</p></div></div><p>&#160;</p><p><span 
style="line-height: 1.4285715;"><code>org.apache.camel/camel-scr</code> bundle 
provides a base class, <code>AbstractCamelRunner</code>, which manages a Camel 
context for you and a helper class, <code>ScrHelper</code>, for using your 
 SCR properties in unit tests. Camel-scr feature for Apache 
Karaf&#160;</span><span style="line-height: 1.4285715;">defines all features 
and bundles required for running Camel in SCR 
bundles.</span></p><p><code>AbstractCamelRunner</code>&#160;class ties 
CamelContext's lifecycle to Service Component's lifecycle and handles 
configuration with help of Camel's PropertiesComponent. All you have to do to 
make a Service Component out of your java class is to extend it from 
<code>AbstractCamelRunner</code>&#160;and add the following <code><a 
shape="rect" class="external-link" 
href="https://felix.apache.org/documentation/subprojects/apache-felix-maven-scr-plugin/scr-annotations.html";>org.apache.felix.scr.annotations</a></code>
 on class level:</p><p>&#160;</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>Add required annotations</b></div><div 
class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">@Component
+<div class="wiki-content maincontent"><h2 
id="CamelandSCR-WorkingwithCamelandSCR">Working with Camel and SCR</h2><p><span 
style="font-size: 14.0px;line-height: 1.4285715;">SCR stands for Service 
Component Runtime and is an implementation of OSGi Declarative Services 
specification. SCR enables any plain old Java object to expose and use OSGi 
services with no boilerplate code.</span></p><p>OSGi framework knows your 
object by looking at SCR descriptor files in its bundle which are typically 
generated from Java annotations by a plugin such as <code><a shape="rect" 
class="external-link" 
href="https://felix.apache.org/documentation/subprojects/apache-felix-maven-scr-plugin.html";>org.apache.felix:maven-scr-plugin</a></code>.</p><p>Running
 Camel in an SCR bundle is a great alternative for Spring DM and Blueprint 
based solutions having significantly fewer lines of code between you and the 
OSGi framework. Using SCR your bundle can remain completely in Java world; 
there is no need to edit XML 
 or properties files. This offers you full control over everything and means 
your IDE of choice knows exactly what is going on in your project.</p><h3 
id="CamelandSCR-CamelSCRsupport">Camel SCR support</h3><p><strong>Available as 
of Camel 2.15.0</strong></p><p>&#160;</p><div 
class="confluence-information-macro 
confluence-information-macro-information"><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>Camel-scr bundle is not included 
in Apache Camel versions prior 2.15.0, but the artifact itself can be used with 
any Camel version since 2.12.0.</p></div></div><p>&#160;</p><p><span 
style="line-height: 1.4285715;"><code>org.apache.camel/camel-scr</code> bundle 
provides a base class, <code>AbstractCamelRunner</code>, which manages a Camel 
context for you and a helper class, <code>ScrHelper</code>, for using your SCR 
properties in unit tests. Camel-scr feature for Apache Karaf&#160;</span><span
  style="line-height: 1.4285715;">defines all features and bundles required for 
running Camel in SCR 
bundles.</span></p><p><code>AbstractCamelRunner</code>&#160;class ties 
CamelContext's lifecycle to Service Component's lifecycle and handles 
configuration with help of Camel's PropertiesComponent. All you have to do to 
make a Service Component out of your java class is to extend it from 
<code>AbstractCamelRunner</code>&#160;and add the following <code><a 
shape="rect" class="external-link" 
href="https://felix.apache.org/documentation/subprojects/apache-felix-maven-scr-plugin/scr-annotations.html";>org.apache.felix.scr.annotations</a></code>
 on class level:</p><p>&#160;</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>Add required annotations</b></div><div 
class="codeContent panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[@Component
 @References({
-    @Reference(name = "camelComponent",referenceInterface = 
ComponentResolver.class,
+    @Reference(name = &quot;camelComponent&quot;,referenceInterface = 
ComponentResolver.class,
         cardinality = ReferenceCardinality.MANDATORY_MULTIPLE, policy = 
ReferencePolicy.DYNAMIC,
-        policyOption = ReferencePolicyOption.GREEDY, bind = 
"gotCamelComponent", unbind = "lostCamelComponent")
-})</pre>
+        policyOption = ReferencePolicyOption.GREEDY, bind = 
&quot;gotCamelComponent&quot;, unbind = &quot;lostCamelComponent&quot;)
+})]]></script>
 </div></div><p>&#160;</p><p>Then implement <code>getRouteBuilders()</code> 
method which returns the Camel routes you want to run:</p><p>&#160;</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeHeader 
panelHeader pdl" style="border-bottom-width: 1px;"><b>Implement 
getRouteBuilders()</b></div><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">       @Override
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[  @Override
     protected List&lt;RoutesBuilder&gt; getRouteBuilders() {
         List&lt;RoutesBuilder&gt; routesBuilders = new ArrayList&lt;&gt;();
         routesBuilders.add(new YourRouteBuilderHere(registry));
         routesBuilders.add(new AnotherRouteBuilderHere(registry));
         return routesBuilders;
-    }</pre>
+    }]]></script>
 </div></div><p>&#160;</p><p>And finally provide the default configuration 
with:</p><p>&#160;</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 
1px;"><b>Default configuration in annotations</b></div><div class="codeContent 
panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">@Properties({
-   @Property(name = "camelContextId", value = "my-test"),
-   @Property(name = "active", value = "true"),
-   @Property(name = "...", value = "..."),
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[@Properties({
+   @Property(name = &quot;camelContextId&quot;, value = &quot;my-test&quot;),
+   @Property(name = &quot;active&quot;, value = &quot;true&quot;),
+   @Property(name = &quot;...&quot;, value = &quot;...&quot;),
    ...
-})</pre>
+})]]></script>
 </div></div><p>&#160;</p><p>That's all. And if you used 
<code>camel-archetype-scr</code> to generate a project all this is already 
taken care of.</p><p>Below is an example of a complete Service Component class, 
generated by <code>camel-archetype-scr:</code></p><p>&#160;</p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>CamelScrExample.java</b></div><div 
class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">// This file was generated from 
org.apache.camel.archetypes/camel-archetype-scr/2.15-SNAPSHOT
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[// This file was generated from 
org.apache.camel.archetypes/camel-archetype-scr/2.15-SNAPSHOT
 package example;
 
 import java.util.ArrayList;
@@ -122,27 +122,27 @@ import org.apache.felix.scr.annotations.
 
 @Component(label = CamelScrExample.COMPONENT_LABEL, description = 
CamelScrExample.COMPONENT_DESCRIPTION, immediate = true, metatype = true)
 @Properties({
-    @Property(name = "camelContextId", value = "camel-scr-example"),
-    @Property(name = "camelRouteId", value = "foo/timer-log"),
-    @Property(name = "active", value = "true"),
-    @Property(name = "from", value = "timer:foo?period=5000"),
-    @Property(name = "to", value = "log:foo?showHeaders=true"),
-    @Property(name = "messageOk", value = "Success: {{from}} -&gt; {{to}}"),
-    @Property(name = "messageError", value = "Failure: {{from}} -&gt; {{to}}"),
-    @Property(name = "maximumRedeliveries", value = "0"),
-    @Property(name = "redeliveryDelay", value = "5000"),
-    @Property(name = "backOffMultiplier", value = "2"),
-    @Property(name = "maximumRedeliveryDelay", value = "60000")
+    @Property(name = &quot;camelContextId&quot;, value = 
&quot;camel-scr-example&quot;),
+    @Property(name = &quot;camelRouteId&quot;, value = 
&quot;foo/timer-log&quot;),
+    @Property(name = &quot;active&quot;, value = &quot;true&quot;),
+    @Property(name = &quot;from&quot;, value = 
&quot;timer:foo?period=5000&quot;),
+    @Property(name = &quot;to&quot;, value = 
&quot;log:foo?showHeaders=true&quot;),
+    @Property(name = &quot;messageOk&quot;, value = &quot;Success: {{from}} 
-&gt; {{to}}&quot;),
+    @Property(name = &quot;messageError&quot;, value = &quot;Failure: {{from}} 
-&gt; {{to}}&quot;),
+    @Property(name = &quot;maximumRedeliveries&quot;, value = &quot;0&quot;),
+    @Property(name = &quot;redeliveryDelay&quot;, value = &quot;5000&quot;),
+    @Property(name = &quot;backOffMultiplier&quot;, value = &quot;2&quot;),
+    @Property(name = &quot;maximumRedeliveryDelay&quot;, value = 
&quot;60000&quot;)
 })
 @References({
-    @Reference(name = "camelComponent",referenceInterface = 
ComponentResolver.class,
+    @Reference(name = &quot;camelComponent&quot;,referenceInterface = 
ComponentResolver.class,
         cardinality = ReferenceCardinality.MANDATORY_MULTIPLE, policy = 
ReferencePolicy.DYNAMIC,
-        policyOption = ReferencePolicyOption.GREEDY, bind = 
"gotCamelComponent", unbind = "lostCamelComponent")
+        policyOption = ReferencePolicyOption.GREEDY, bind = 
&quot;gotCamelComponent&quot;, unbind = &quot;lostCamelComponent&quot;)
 })
 public class CamelScrExample extends AbstractCamelRunner {
 
-    public static final String COMPONENT_LABEL = "example.CamelScrExample";
-    public static final String COMPONENT_DESCRIPTION = "This is the 
description for camel-scr-example.";
+    public static final String COMPONENT_LABEL = 
&quot;example.CamelScrExample&quot;;
+    public static final String COMPONENT_DESCRIPTION = &quot;This is the 
description for camel-scr-example.&quot;;
 
     @Override
     protected List&lt;RoutesBuilder&gt; getRouteBuilders() {
@@ -150,9 +150,9 @@ public class CamelScrExample extends Abs
         routesBuilders.add(new CamelScrExampleRoute(registry));
         return routesBuilders;
     }
-}</pre>
+}]]></script>
 </div></div><p>&#160;</p><p><code style="font-size: 14.0px;line-height: 
1.4285715;">CamelContextId</code><span style="font-size: 14.0px;line-height: 
1.4285715;">&#160;and </span><code style="font-size: 14.0px;line-height: 
1.4285715;">active</code><span style="font-size: 14.0px;line-height: 
1.4285715;">&#160;properties control the CamelContext's name (defaults to 
"camel-runner-default") and whether it will be started or not (defaults to 
"false"), respectively. In addition to these you can add and use as many 
properties as you like. Camel's PropertiesComponent handles recursive 
properties and prefixing with fallback without 
problem.</span></p><p><code>AbstractCamelRunner</code>&#160;will make these 
properties available to your RouteBuilders with help of Camel's 
PropertiesComponent and it will also inject these values into your Service 
Component's and RouteBuilder's fields when their names match. The fields can be 
declared with any visibility level, and many types are supported (String
 , int, boolean, URL, ...).</p><p>Below is an example of a RouteBuilder class 
generated by <code>camel-archetype-scr</code>:</p><p>&#160;</p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>CamelScrExampleRoute.java</b></div><div 
class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">// This file was generated from 
org.apache.camel.archetypes/camel-archetype-scr/2.15-SNAPSHOT
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[// This file was generated from 
org.apache.camel.archetypes/camel-archetype-scr/2.15-SNAPSHOT
 package example.internal;
 
 import org.apache.camel.LoggingLevel;
@@ -180,7 +180,7 @@ public class CamelScrExampleRoute extend
         checkProperties();
 
         // Add a bean to Camel context registry
-        registry.put("test", "bean");
+        registry.put(&quot;test&quot;, &quot;bean&quot;);
 
         errorHandler(defaultErrorHandler()
             .retryAttemptedLogLevel(LoggingLevel.WARN)
@@ -189,89 +189,89 @@ public class CamelScrExampleRoute extend
             .backOffMultiplier(backOffMultiplier)
             .maximumRedeliveryDelay(maximumRedeliveryDelay));
 
-        from("{{from}}")
+        from(&quot;{{from}}&quot;)
             .startupOrder(2)
             .routeId(camelRouteId)
             .onCompletion()
-                .to("direct:processCompletion")
+                .to(&quot;direct:processCompletion&quot;)
             .end()
-            .removeHeaders("CamelHttp*")
-            .to("{{to}}");
+            .removeHeaders(&quot;CamelHttp*&quot;)
+            .to(&quot;{{to}}&quot;);
 
 
-               from("direct:processCompletion")
+               from(&quot;direct:processCompletion&quot;)
             .startupOrder(1)
-            .routeId(camelRouteId + ".completion")
+            .routeId(camelRouteId + &quot;.completion&quot;)
             .choice()
-                .when(simple("${exception} == null"))
-                    .log("{{messageOk}}")
+                .when(simple(&quot;${exception} == null&quot;))
+                    .log(&quot;{{messageOk}}&quot;)
                 .otherwise()
-                    .log(LoggingLevel.ERROR, "{{messageError}}")
+                    .log(LoggingLevel.ERROR, &quot;{{messageError}}&quot;)
             .end();
                }
        }
 
     public void checkProperties() {
-        Validate.notNull(camelRouteId, "camelRouteId property is not set");
-        Validate.notNull(maximumRedeliveries, "maximumRedeliveries property is 
not set");
-        Validate.notNull(redeliveryDelay, "redeliveryDelay property is not 
set");
-        Validate.notNull(backOffMultiplier, "backOffMultiplier property is not 
set");
-        Validate.notNull(maximumRedeliveryDelay, "maximumRedeliveryDelay 
property is not set");
+        Validate.notNull(camelRouteId, &quot;camelRouteId property is not 
set&quot;);
+        Validate.notNull(maximumRedeliveries, &quot;maximumRedeliveries 
property is not set&quot;);
+        Validate.notNull(redeliveryDelay, &quot;redeliveryDelay property is 
not set&quot;);
+        Validate.notNull(backOffMultiplier, &quot;backOffMultiplier property 
is not set&quot;);
+        Validate.notNull(maximumRedeliveryDelay, &quot;maximumRedeliveryDelay 
property is not set&quot;);
     }
-}</pre>
+}]]></script>
 </div></div><p>&#160;</p><p>Let's take a look at 
<code>CamelScrExampleRoute</code> in more detail.</p><p>&#160;</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;">    // Configured fields
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[    // Configured fields
     private String camelRouteId;
     private Integer maximumRedeliveries;
     private Long redeliveryDelay;
     private Double backOffMultiplier;
-    private Long maximumRedeliveryDelay;</pre>
+    private Long maximumRedeliveryDelay;]]></script>
 </div></div><p>The values of these fields are set with values from properties 
by matching their names.</p><p>&#160;</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;">        // Add a bean to Camel context registry
-        registry.put("test", "bean");</pre>
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[        // Add a bean to Camel context 
registry
+        registry.put(&quot;test&quot;, &quot;bean&quot;);]]></script>
 </div></div><p>If you need to add some beans to CamelContext's registry for 
your routes, you can do it like this.</p><p>&#160;</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;">    public void checkProperties() {
-        Validate.notNull(camelRouteId, "camelRouteId property is not set");
-        Validate.notNull(maximumRedeliveries, "maximumRedeliveries property is 
not set");
-        Validate.notNull(redeliveryDelay, "redeliveryDelay property is not 
set");
-        Validate.notNull(backOffMultiplier, "backOffMultiplier property is not 
set");
-        Validate.notNull(maximumRedeliveryDelay, "maximumRedeliveryDelay 
property is not set");
-    }</pre>
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[    public void checkProperties() {
+        Validate.notNull(camelRouteId, &quot;camelRouteId property is not 
set&quot;);
+        Validate.notNull(maximumRedeliveries, &quot;maximumRedeliveries 
property is not set&quot;);
+        Validate.notNull(redeliveryDelay, &quot;redeliveryDelay property is 
not set&quot;);
+        Validate.notNull(backOffMultiplier, &quot;backOffMultiplier property 
is not set&quot;);
+        Validate.notNull(maximumRedeliveryDelay, &quot;maximumRedeliveryDelay 
property is not set&quot;);
+    }]]></script>
 </div></div><p>It is a good idea to check that required parameters are set and 
they have meaningful values before allowing the routes to 
start.</p><p>&#160;</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;">        from("{{from}}")
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[        from(&quot;{{from}}&quot;)
             .startupOrder(2)
             .routeId(camelRouteId)
             .onCompletion()
-                .to("direct:processCompletion")
+                .to(&quot;direct:processCompletion&quot;)
             .end()
-            .removeHeaders("CamelHttp*")
-            .to("{{to}}");
+            .removeHeaders(&quot;CamelHttp*&quot;)
+            .to(&quot;{{to}}&quot;);
 
 
-               from("direct:processCompletion")
+               from(&quot;direct:processCompletion&quot;)
             .startupOrder(1)
-            .routeId(camelRouteId + ".completion")
+            .routeId(camelRouteId + &quot;.completion&quot;)
             .choice()
-                .when(simple("${exception} == null"))
-                    .log("{{messageOk}}")
+                .when(simple(&quot;${exception} == null&quot;))
+                    .log(&quot;{{messageOk}}&quot;)
                 .otherwise()
-                    .log(LoggingLevel.ERROR, "{{messageError}}")
-            .end();</pre>
+                    .log(LoggingLevel.ERROR, &quot;{{messageError}}&quot;)
+            .end();]]></script>
 </div></div><p>Note that pretty much everything in the route is configured 
with properties. This essentially makes your RouteBuilder a template. SCR 
allows you to create more instances of your routes just by providing 
alternative configurations. More on this in section <em>Using Camel SCR bundle 
as a template</em>.</p><h4 
id="CamelandSCR-AbstractCamelRunner'slifecycleinSCR">AbstractCamelRunner's 
lifecycle in SCR</h4><ol><li>When component's configuration policy and 
mandatory references are satisfied SCR calls <code>activate()</code>. This 
creates and sets up a CamelContext through the following call chain: 
<code>activate()</code>&#160;&#8594;&#160;<code>prepare()</code>&#160;&#8594;&#160;<code>createCamelContext()</code>
 &#8594;&#160;<code>setupPropertiesComponent()</code> 
&#8594;&#160;<code>configure()</code> 
&#8594;&#160;<code>setupCamelContext()</code>. Finally, the context is 
scheduled to start after a delay defined in 
<code>AbstractCamelRunner.START_DELAY</code>&#160;with <code
 >runWithDelay()</code>.</li><li><span style="line-height: 1.4285715;">When 
 >Camel components (<code>ComponentResolver</code> services, to be exact) are 
 >registered in OSGi, SCR calls </span><code>gotCamelComponent</code><span 
 >style="line-height: 1.4285715;"><code>()</code> which reschedules/delays the 
 >CamelContext start further by the same 
 ></span><code>AbstractCamelRunner.START_DELAY</code><span style="line-height: 
 >1.4285715;">. This in effect makes CamelContext wait until all Camel 
 >components are loaded or there is a sufficient gap between them. The same 
 >logic will tell a failed-to-start CamelContext to try again whenever we add 
 >more Camel components.</span></li><li><span style="line-height: 
 >1.4285715;">When Camel components are unregistered SCR calls 
 ></span><code>lostCamelComponent</code><span style="line-height: 
 >1.4285715;"><code>()</code>. This call does nothing.</span></li><li><span 
 >style="line-height: 1.4285715;">When one of the requirements that caused the 
 >call to </span><code>
 activate</code><span style="line-height: 1.4285715;"><code>()</code> is lost 
SCR will call </span><code>deactivate</code><span style="line-height: 
1.4285715;"><code>()</code>. This will shutdown the 
CamelContext.</span></li></ol><p>In (non-OSGi) unit tests you should use 
<code>prepare()</code> &#8594;&#160;<code>run()</code> 
&#8594;&#160;<code>stop()</code> instead of <code>activate()</code> 
&#8594;&#160;<code>deactivate()</code> for more fine-grained control. Also, 
this allows us to avoid possible SCR specific operations in tests.</p><h3 
id="CamelandSCR-Usingcamel-archetype-scr">Using camel-archetype-scr</h3><p>The 
easiest way to create an Camel SCR bundle project is to use 
<code>camel-archetype-scr</code>&#160;and Maven.</p><p>You can generate a 
project with the following steps:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>Generating a project</b></div><div 
class="codeContent panelContent pdl
 ">
-<pre class="brush: text; gutter: false; theme: Default" 
style="font-size:12px;">$ mvn archetype:generate 
-Dfilter=org.apache.camel.archetypes:camel-archetype-scr
-&#160;
+<script class="brush: text; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[$ mvn archetype:generate 
-Dfilter=org.apache.camel.archetypes:camel-archetype-scr
+ 
 Choose archetype:
 1: local -&gt; org.apache.camel.archetypes:camel-archetype-scr (Creates a new 
Camel SCR bundle project for Karaf)
 Choose a number or apply filter (format: [groupId:]artifactId, case sensitive 
contains): : 1
-Define value for property 'groupId': : example
+Define value for property &#39;groupId&#39;: : example
 [INFO] Using property: groupId = example
-Define value for property 'artifactId': : camel-scr-example
-Define value for property 'version': 1.0-SNAPSHOT: :
-Define value for property 'package': example: :
+Define value for property &#39;artifactId&#39;: : camel-scr-example
+Define value for property &#39;version&#39;: 1.0-SNAPSHOT: :
+Define value for property &#39;package&#39;: example: :
 [INFO] Using property: archetypeArtifactId = camel-archetype-scr
 [INFO] Using property: archetypeGroupId = org.apache.camel.archetypes
 [INFO] Using property: archetypeVersion = 2.15-SNAPSHOT
-Define value for property 'className': : CamelScrExample
+Define value for property &#39;className&#39;: : CamelScrExample
 Confirm properties configuration:
 groupId: example
 artifactId: camel-scr-example
@@ -281,11 +281,11 @@ archetypeArtifactId: camel-archetype-scr
 archetypeGroupId: org.apache.camel.archetypes
 archetypeVersion: 2.15-SNAPSHOT
 className: CamelScrExample
-Y: :</pre>
+Y: :]]></script>
 </div></div><p><span style="font-size: 14.0px;line-height: 
1.4285715;">Done!</span></p><p><span style="font-size: 14.0px;line-height: 
1.4285715;">Now run:</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;">mvn install</pre>
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[mvn install]]></script>
 </div></div><p>and the bundle is ready to be deployed.</p><h3 
id="CamelandSCR-UnittestingCamelroutes">Unit testing Camel 
routes</h3><p>Service Component is a POJO and has no special requirements for 
(non-OSGi) unit testing. There are however some techniques that are specific to 
Camel SCR or just make testing easier.</p><p><span style="line-height: 
1.4285715;">Below is an example unit test, generated by </span><code 
style="line-height: 1.4285715;">camel-archetype-scr</code><span 
style="line-height: 1.4285715;">:</span></p><p><span style="line-height: 
1.4285715;"><br clear="none"></span></p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>CamelScrExampleTest.java</b></div><div 
class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">// This file was generated from 
org.apache.camel.archetypes/camel-archetype-scr/2.15-SNAPSHOT
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[// This file was generated from 
org.apache.camel.archetypes/camel-archetype-scr/2.15-SNAPSHOT
 package example;
 
 import java.util.List;
@@ -319,12 +319,12 @@ public class CamelScrExampleTest {
 
     @Before
     public void setUp() throws Exception {
-        
log.info("*******************************************************************");
-        log.info("Test: " + testName.getMethodName());
-        
log.info("*******************************************************************");
+        
log.info(&quot;*******************************************************************&quot;);
+        log.info(&quot;Test: &quot; + testName.getMethodName());
+        
log.info(&quot;*******************************************************************&quot;);
 
         // Set property prefix for unit testing
-        System.setProperty(CamelScrExample.PROPERTY_PREFIX, "unit");
+        System.setProperty(CamelScrExample.PROPERTY_PREFIX, &quot;unit&quot;);
 
         // Prepare the integration
         integration = new CamelScrExample();
@@ -335,7 +335,7 @@ public class CamelScrExampleTest {
         context.disableJMX();
 
         // Fake a component for test
-        context.addComponent("amq", new MockComponent());
+        context.addComponent(&quot;amq&quot;, new MockComponent());
     }
 
     @After
@@ -351,90 +351,90 @@ public class CamelScrExampleTest {
         routes.get(0).adviceWith(context, new AdviceWithRouteBuilder() {
             @Override
             public void configure() throws Exception {
-                // Replace "from" endpoint with direct:start
-                replaceFromWith("direct:start");
+                // Replace &quot;from&quot; endpoint with direct:start
+                replaceFromWith(&quot;direct:start&quot;);
                 // Mock and skip result endpoint
-                mockEndpoints("log:*");
+                mockEndpoints(&quot;log:*&quot;);
             }
         });
 
-        MockEndpoint resultEndpoint = context.getEndpoint("mock:log:foo", 
MockEndpoint.class);
+        MockEndpoint resultEndpoint = 
context.getEndpoint(&quot;mock:log:foo&quot;, MockEndpoint.class);
         // resultEndpoint.expectedMessageCount(1); // If you want to just 
check the number of messages
-        resultEndpoint.expectedBodiesReceived("hello"); // If you want to 
check the contents
+        resultEndpoint.expectedBodiesReceived(&quot;hello&quot;); // If you 
want to check the contents
 
         // Start the integration
         integration.run();
 
         // Send the test message
-        context.createProducerTemplate().sendBody("direct:start", "hello");
+        context.createProducerTemplate().sendBody(&quot;direct:start&quot;, 
&quot;hello&quot;);
 
         resultEndpoint.assertIsSatisfied();
        }
-}</pre>
+}]]></script>
 </div></div><p>&#160;</p><p>Now, let's take a look at the interesting bits one 
by one.</p><p>&#160;</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 
1px;"><b>Using property prefixing</b></div><div class="codeContent panelContent 
pdl">
-<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">        // Set property prefix for unit testing
-        System.setProperty(CamelScrExample.PROPERTY_PREFIX, "unit");</pre>
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[        // Set property prefix for unit 
testing
+        System.setProperty(CamelScrExample.PROPERTY_PREFIX, 
&quot;unit&quot;);]]></script>
 </div></div><p>This allows you to override parts of the configuration by 
prefixing properties with "unit.". For example, <code>unit.from</code> 
overrides <code>from</code> for the unit test.</p><p>Prefixes can be used to 
handle the differences between the runtime environments where your routes might 
run. Moving the unchanged bundle through development, testing and production 
environments is a typical use case.</p><p>&#160;</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>Getting test configuration from 
annotations</b></div><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">        integration.prepare(null, 
ScrHelper.getScrProperties(integration.getClass().getName()));</pre>
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[        integration.prepare(null, 
ScrHelper.getScrProperties(integration.getClass().getName()));]]></script>
 </div></div><p>Here we configure the Service Component in test with the same 
properties that would be used in OSGi environment.</p><p>&#160;</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeHeader 
panelHeader pdl" style="border-bottom-width: 1px;"><b>Mocking components for 
test</b></div><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">        // Fake a component for test
-        context.addComponent("amq", new MockComponent());</pre>
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[        // Fake a component for test
+        context.addComponent(&quot;amq&quot;, new MockComponent());]]></script>
 </div></div><p>Components that are not available in test can be mocked like 
this to allow the route to start.</p><p>&#160;</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>Adjusting routes for test</b></div><div 
class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">        // Adjust routes
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[        // Adjust routes
         List&lt;RouteDefinition&gt; routes = context.getRouteDefinitions();
 
         routes.get(0).adviceWith(context, new AdviceWithRouteBuilder() {
             @Override
             public void configure() throws Exception {
-                // Replace "from" endpoint with direct:start
-                replaceFromWith("direct:start");
+                // Replace &quot;from&quot; endpoint with direct:start
+                replaceFromWith(&quot;direct:start&quot;);
                 // Mock and skip result endpoint
-                mockEndpoints("log:*");
+                mockEndpoints(&quot;log:*&quot;);
             }
-        });</pre>
+        });]]></script>
 </div></div><p>Camel's AdviceWith feature allows routes to be modified for 
test.</p><p>&#160;</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 
1px;"><b>Starting the routes</b></div><div class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">        // Start the integration
-        integration.run();</pre>
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[        // Start the integration
+        integration.run();]]></script>
 </div></div><p>Here we start the Service Component and along with it the 
routes.</p><p>&#160;</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 
1px;"><b>Sending a test message</b></div><div class="codeContent panelContent 
pdl">
-<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">        // Send the test message
-        context.createProducerTemplate().sendBody("direct:start", 
"hello");</pre>
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[        // Send the test message
+        context.createProducerTemplate().sendBody(&quot;direct:start&quot;, 
&quot;hello&quot;);]]></script>
 </div></div><p>Here we send a message to a route in test.</p><h3 
id="CamelandSCR-RunningthebundleinApacheKaraf">Running the bundle in Apache 
Karaf</h3><p>Once the bundle has been built with <code>mvn install</code> it's 
ready to be deployed.&#160;<span style="font-size: 14.0px;line-height: 
1.4285715;">To deploy the bundle on Apache Karaf perform the following steps on 
Karaf command line:</span></p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 
1px;"><b>Deploying the bundle in Apache Karaf</b></div><div class="codeContent 
panelContent pdl">
-<pre class="brush: text; gutter: false; theme: Default" 
style="font-size:12px;"># Add Camel feature repository
+<script class="brush: text; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[# Add Camel feature repository
 karaf@root&gt; features:chooseurl camel 2.15-SNAPSHOT
-&#160;
+ 
 # Install camel-scr feature
 karaf@root&gt; features:install camel-scr
-&#160;
+ 
 # Install commons-lang, used in the example route to validate parameters
 karaf@root&gt; osgi:install mvn:commons-lang/commons-lang/2.6
-&#160;
+ 
 # Install and start your bundle
 karaf@root&gt; osgi:install -s mvn:example/camel-scr-example/1.0-SNAPSHOT
-&#160;
-# See how it's running
+ 
+# See how it&#39;s running
 karaf@root&gt; log:tail -n 10
-&#160;
-Press ctrl-c to stop watching the log.</pre>
+ 
+Press ctrl-c to stop watching the log.]]></script>
 </div></div><h4 id="CamelandSCR-Overridingthedefaultconfiguration"><span 
style="font-size: 14.0px;line-height: 1.4285715;">Overriding the default 
configuration</span></h4><p>By default, Service Component's configuration PID 
equals the fully qualified name of its class. You can change the example 
bundle's properties with Karaf's&#160;<code>config:*</code> commands:</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeHeader 
panelHeader pdl" style="border-bottom-width: 1px;"><b>Override a 
property</b></div><div class="codeContent panelContent pdl">
-<pre class="brush: text; gutter: false; theme: Default" 
style="font-size:12px;"># Override 'messageOk' property
-karaf@root&gt; config:propset -p example.CamelScrExample messageOk "This is 
better logging"</pre>
+<script class="brush: text; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[# Override &#39;messageOk&#39; property
+karaf@root&gt; config:propset -p example.CamelScrExample messageOk &quot;This 
is better logging&quot;]]></script>
 </div></div><p>Or you can change the configuration by editing property files 
in Karaf's <code>etc</code> folder.</p><h4 
id="CamelandSCR-UsingCamelSCRbundleasatemplate"><span style="font-size: 
16.0px;line-height: 1.5625;">Using Camel SCR bundle as a 
template</span></h4><p>Let's say you have a Camel SCR bundle that implements an 
integration pattern that you use frequently, say, <strong>from 
&#8594;&#160;to</strong>, with success/failure logging and redelivery which 
also happens to be the pattern our example route implements. You probably don't 
want to create a separate bundle for every instance. No worries, SCR has you 
covered.</p><p>Create a configuration PID for your Service Component, but add a 
tail with a dash and SCR will use that configuration to create a new instance 
of your component.</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 
1px;"><b>Creating a new Service Component instance</b></div><div clas
 s="codeContent panelContent pdl">
-<pre class="brush: text; gutter: false; theme: Default" 
style="font-size:12px;"># Create a PID with a tail
+<script class="brush: text; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[# Create a PID with a tail
 karaf@root&gt; config:edit example.CamelScrExample-anotherone
-&#160;
+ 
 # Override some properties
 karaf@root&gt; config:propset camelContextId my-other-context
-karaf@root&gt; config:propset to "file://removeme?fileName=removemetoo.txt"
-&#160;
+karaf@root&gt; config:propset to 
&quot;file://removeme?fileName=removemetoo.txt&quot;
+ 
 # Save the PID
-karaf@root&gt; config:update</pre>
+karaf@root&gt; config:update]]></script>
 </div></div><p>This will start a new CamelContext with your overridden 
properties. How convenient.</p><div class="confluence-information-macro 
confluence-information-macro-tip"><span class="aui-icon aui-icon-small 
aui-iconfont-approve confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>When designing a Service Component 
to be a template you typically don't want it to start without a "tailed" 
configuration i.e. with the default configuration.</p><p>To prevent your 
Service Component from starting with the default configuration add <code><span 
style="font-size: 14.0px;line-height: 1.4285715;">policy = 
ConfigurationPolicy.</span><span style="font-size: 14.0px;line-height: 
1.4285715;">REQUIRE </span></code><span style="font-family: Arial , 
sans-serif;font-size: 14.0px;line-height: 1.4285715;">to the class level 
</span><code style="font-size: 14.0px;line-height: 
1.4285715;">@Component</code><span style="font-family: Arial , 
sans-serif;font-size: 14.
 0px;line-height: 1.4285715;"> annotation.</span></p></div></div></div>
         </td>
         <td valign="top">
           <div class="navigation">
             <div class="navigation_top">
                 <!-- NavigationBar -->
-<div class="navigation_bottom" id="navigation_bottom"><h3 
id="Navigation-Overviewhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=49132";><a
 shape="rect" href="overview.html">Overview</a></h3><ul 
class="alternate"><li><a shape="rect" href="index.html">Home</a></li><li><a 
shape="rect" href="download.html">Download</a></li><li><a shape="rect" 
href="getting-started.html">Getting Started</a></li><li><a shape="rect" 
href="faq.html">FAQ</a></li></ul><h3 
id="Navigation-Documentationhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=49534";><a
 shape="rect" href="documentation.html">Documentation</a></h3><ul 
class="alternate"><li><a shape="rect" href="user-guide.html">User 
Guide</a></li><li><a shape="rect" href="manual.html">Manual</a></li><li><a 
shape="rect" href="books.html">Books</a></li><li><a shape="rect" 
href="tutorials.html">Tutorials</a></li><li><a shape="rect" 
href="examples.html">Examples</a></li><li><a shape="rect" 
href="cookbook.html">Cookbook</a></li>
 <li><a shape="rect" href="architecture.html">Architecture</a></li><li><a 
shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration 
Patterns</a></li><li><a shape="rect" href="dsl.html">DSL</a></li><li><a 
shape="rect" href="components.html">Components</a></li><li><a shape="rect" 
href="data-format.html">Data Format</a></li><li><a shape="rect" 
href="languages.html">Languages</a></li><li><a shape="rect" 
href="security.html">Security</a></li><li><a shape="rect" 
href="security-advisories.html">Security Advisories</a></li></ul><h3 
id="Navigation-Search">Search</h3><form 
enctype="application/x-www-form-urlencoded" method="get" id="cse-search-box" 
action="http://www.google.com/cse";>
+<div class="navigation_bottom" id="navigation_bottom"><h3 
id="Navigation-Overview"><a shape="rect" 
href="overview.html">Overview</a></h3><ul class="alternate"><li><a shape="rect" 
href="index.html">Home</a></li><li><a shape="rect" 
href="download.html">Download</a></li><li><a shape="rect" 
href="getting-started.html">Getting Started</a></li><li><a shape="rect" 
href="faq.html">FAQ</a></li></ul><h3 id="Navigation-Documentation"><a 
shape="rect" href="documentation.html">Documentation</a></h3><ul 
class="alternate"><li><a shape="rect" href="user-guide.html">User 
Guide</a></li><li><a shape="rect" href="manual.html">Manual</a></li><li><a 
shape="rect" href="books.html">Books</a></li><li><a shape="rect" 
href="tutorials.html">Tutorials</a></li><li><a shape="rect" 
href="examples.html">Examples</a></li><li><a shape="rect" 
href="cookbook.html">Cookbook</a></li><li><a shape="rect" 
href="architecture.html">Architecture</a></li><li><a shape="rect" 
href="enterprise-integration-patterns.html">Enterprise
  Integration Patterns</a></li><li><a shape="rect" 
href="dsl.html">DSL</a></li><li><a shape="rect" 
href="components.html">Components</a></li><li><a shape="rect" 
href="data-format.html">Data Format</a></li><li><a shape="rect" 
href="languages.html">Languages</a></li><li><a shape="rect" 
href="security.html">Security</a></li><li><a shape="rect" 
href="security-advisories.html">Security Advisories</a></li></ul><h3 
id="Navigation-Search">Search</h3><form 
enctype="application/x-www-form-urlencoded" method="get" id="cse-search-box" 
action="http://www.google.com/cse";>
   <div>
     <input type="hidden" name="cx" value="007878419884033443453:m5nhvy4hmyq">
     <input type="hidden" name="ie" value="UTF-8">
@@ -442,7 +442,7 @@ karaf@root&gt; config:update</pre>
     <input type="submit" name="sa" value="Search">
   </div>
 </form>
-<script type="text/javascript" 
src="http://www.google.com/coop/cse/brand?form=cse-search-box&amp;lang=en";></script><h3
 
id="Navigation-Communityhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=49115";><a
 shape="rect" href="community.html">Community</a></h3><ul 
class="alternate"><li><a shape="rect" 
href="support.html">Support</a></li><li><a shape="rect" 
href="contributing.html">Contributing</a></li><li><a shape="rect" 
href="discussion-forums.html">Discussion Forums</a></li><li><a shape="rect" 
href="mailing-lists.html">Mailing Lists</a></li><li><a shape="rect" 
href="user-stories.html">User Stories</a></li><li><a shape="rect" 
href="news.html">News</a></li><li><a shape="rect" 
href="articles.html">Articles</a></li><li><a shape="rect" 
href="site.html">Site</a></li><li><a shape="rect" 
href="team.html">Team</a></li><li><a shape="rect" class="external-link" 
href="http://camel-extra.googlecode.com/"; rel="nofollow">Camel 
Extra</a></li></ul><h3 id="Navigation-Developershttps://cwi
 ki.apache.org/confluence/pages/viewpage.action?pageId=49124"><a shape="rect" 
href="developers.html">Developers</a></h3><ul class="alternate"><li><a 
shape="rect" href="developers.html">Developer Guide</a></li><li><a shape="rect" 
href="source.html">Source</a></li><li><a shape="rect" 
href="building.html">Building</a></li><li><a shape="rect" 
href="javadoc.html">JavaDoc</a></li><li><a shape="rect" 
href="irc-room.html">IRC Room</a></li></ul><h3 
id="Navigation-ApacheSoftwareFoundation">Apache Software Foundation</h3><ul 
class="alternate"><li><a shape="rect" class="external-link" 
href="http://www.apache.org/licenses/";>License</a></li><li><a shape="rect" 
class="external-link" 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li><li><a
 shape="rect" class="external-link" 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li><li><a 
shape="rect" class="external-link" 
href="http://www.apache.org/security/";>Security</a></li></ul></div>
+<script type="text/javascript" 
src="http://www.google.com/coop/cse/brand?form=cse-search-box&amp;lang=en";></script><h3
 id="Navigation-Community"><a shape="rect" 
href="community.html">Community</a></h3><ul class="alternate"><li><a 
shape="rect" href="support.html">Support</a></li><li><a shape="rect" 
href="contributing.html">Contributing</a></li><li><a shape="rect" 
href="discussion-forums.html">Discussion Forums</a></li><li><a shape="rect" 
href="mailing-lists.html">Mailing Lists</a></li><li><a shape="rect" 
href="user-stories.html">User Stories</a></li><li><a shape="rect" 
href="news.html">News</a></li><li><a shape="rect" 
href="articles.html">Articles</a></li><li><a shape="rect" 
href="site.html">Site</a></li><li><a shape="rect" 
href="team.html">Team</a></li><li><a shape="rect" class="external-link" 
href="http://camel-extra.googlecode.com/"; rel="nofollow">Camel 
Extra</a></li></ul><h3 id="Navigation-Developers"><a shape="rect" 
href="developers.html">Developers</a></h3><ul class="alternate"
 ><li><a shape="rect" href="developers.html">Developer Guide</a></li><li><a 
 >shape="rect" href="source.html">Source</a></li><li><a shape="rect" 
 >href="building.html">Building</a></li><li><a shape="rect" 
 >href="javadoc.html">JavaDoc</a></li><li><a shape="rect" 
 >href="irc-room.html">IRC Room</a></li></ul><h3 
 >id="Navigation-ApacheSoftwareFoundation">Apache Software Foundation</h3><ul 
 >class="alternate"><li><a shape="rect" class="external-link" 
 >href="http://www.apache.org/licenses/";>License</a></li><li><a shape="rect" 
 >class="external-link" 
 >href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li><li><a
 > shape="rect" class="external-link" 
 >href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li><li><a 
 >shape="rect" class="external-link" 
 >href="http://www.apache.org/security/";>Security</a></li></ul></div>
                 <!-- NavigationBar -->
             </div>
           </div>

Modified: websites/production/camel/content/debugger.html
==============================================================================
--- websites/production/camel/content/debugger.html (original)
+++ websites/production/camel/content/debugger.html Wed Jul  1 21:19:35 2015
@@ -86,42 +86,10 @@
        <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 id="Debugger-Debugger">Debugger </h2>
-<p><strong>Available as of Camel 2.6</strong></p>
-
-<p>Camel <a shape="rect" href="debugger.html">Debugger</a> is much related to 
<a shape="rect" href="tracer.html">Tracer</a>, in fact they are sisters. 
Debugger is a enhanced tracer with a debugger framework so that tooling can be 
developed to easily monitor Camel routes, trace messages and set breakpoints at 
points in a route etc.</p>
-
-<div class="confluence-information-macro 
confluence-information-macro-tip"><span class="aui-icon aui-icon-small 
aui-iconfont-approve confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body">
-<p>There is also a <a shape="rect" 
href="backlogdebugger.html">BacklogDebugger</a> which allows to debug from JMX, 
and 3rd party tooling such as the <a shape="rect" class="external-link" 
href="http://hawt.io/"; rel="nofollow">hawtio</a> web console.</p></div></div>
-
-<h3 id="Debugger-AbouttheDebugger">About the Debugger</h3>
-
-<p>The Debugger allows tooling or the likes to attach breakpoints which is 
being invoked when <a shape="rect" href="exchange.html">Exchange</a>s is being 
routed.</p>
-
-<h3 id="Debugger-Defaultimplementation">Default implementation</h3>
-
-<p>Camel provides a default implementation 
<code>org.apache.camel.impl.DefaultDebugger</code> which you can set on the 
<code>CamelContext</code> using the <code>setDebugger</code> method.<br 
clear="none">
-Likewise you can get hold of the <a shape="rect" 
href="debugger.html">Debugger</a> using the <code>getDebugger</code> method on 
<code>CamelContext</code>.</p>
-
-<p>The <code>org.apache.camel.spi.Debugger</code> has methods to attach and 
remove breakpoints. And to suspend/resume all breakpoints etc.<br clear="none">
-You can also attach a condition to the breakpoint so it only reacts if the 
condition matches.</p>
-
-<h3 id="Debugger-EasilydebuggingCamelroutesfromcamel-test">Easily debugging 
Camel routes from <code>camel-test</code></h3>
-
-<p>If you are developing unit tests using the <code>camel-test</code> 
component, then the <a shape="rect" href="debugger.html">Debugger</a> comes out 
of the box.<br clear="none">
-From <strong>Camel 2.9</strong> onwards you would need to explicit enable the 
debugger, by overriding <code>isUseDebugger()</code> method and return 
<code>true</code>.</p>
-
-<h4 id="Debugger-Example">Example </h4>
-
-<p>In this unit test</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;">
-public class DebugTest extends CamelTestSupport
-</pre>
-</div></div>
-
-<p>We want to debug the following route</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+<div class="wiki-content maincontent"><h2 
id="Debugger-Debugger">Debugger</h2><p><strong>Available as of Camel 
2.6</strong></p><p>Camel <a shape="rect" href="debugger.html">Debugger</a> is 
much related to <a shape="rect" href="tracer.html">Tracer</a>, in fact they are 
sisters. Debugger is a enhanced tracer with a debugger framework so that 
tooling can be developed to easily monitor Camel routes, trace messages and set 
breakpoints at points in a route etc.</p><div 
class="confluence-information-macro confluence-information-macro-tip"><span 
class="aui-icon aui-icon-small aui-iconfont-approve 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>There is also a <a shape="rect" 
href="backlogdebugger.html">BacklogDebugger</a> which allows to debug from JMX, 
and 3rd party tooling.</p></div></div><h3 id="Debugger-AbouttheDebugger">About 
the Debugger</h3><p>The Debugger allows tooling or the likes to attach 
breakpoints which is being invoked when <a shap
 e="rect" href="exchange.html">Exchange</a>s is being routed.</p><h3 
id="Debugger-Defaultimplementation">Default implementation</h3><p>Camel 
provides a default implementation 
<code>org.apache.camel.impl.DefaultDebugger</code> which you can set on the 
<code>CamelContext</code> using the <code>setDebugger</code> method.<br 
clear="none"> Likewise you can get hold of the <a shape="rect" 
href="debugger.html">Debugger</a> using the <code>getDebugger</code> method on 
<code>CamelContext</code>.</p><p>The <code>org.apache.camel.spi.Debugger</code> 
has methods to attach and remove breakpoints. And to suspend/resume all 
breakpoints etc.<br clear="none"> You can also attach a condition to the 
breakpoint so it only reacts if the condition matches.</p><h3 
id="Debugger-EasilydebuggingCamelroutesfromcamel-test">Easily debugging Camel 
routes from <code>camel-test</code></h3><p>If you are developing unit tests 
using the <code>camel-test</code> component, then the <a shape="rect" 
href="debugger.html">D
 ebugger</a> comes out of the box.<br clear="none"> From <strong>Camel 
2.9</strong> onwards you would need to explicit enable the debugger, by 
overriding <code>isUseDebugger()</code> method and return 
<code>true</code>.</p><h4 id="Debugger-Example">Example</h4><p>In this unit 
test</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[public class DebugTest extends 
CamelTestSupport
+]]></script>
+</div></div><p>We want to debug the following route</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[
 @Override
 protected RouteBuilder createRouteBuilder() throws Exception {
@@ -137,10 +105,7 @@ protected RouteBuilder createRouteBuilde
     };
 }
 ]]></script>
-</div></div>
-
-<p>Which can easily done by overriding the <code>debugBefore</code> method as 
shown</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+</div></div>Which can easily done by overriding the <code>debugBefore</code> 
method as shown<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[
 @Override
 public boolean isUseDebugger() {
@@ -156,26 +121,13 @@ protected void debugBefore(Exchange exch
     log.info(&quot;Before &quot; + definition + &quot; with body &quot; + 
exchange.getIn().getBody());
 }
 ]]></script>
-</div></div>
-
-<p>Then from your Java editor just add a breakpoint inside the 
<code>debugBefore</code> method. Then fire up the unit test and wait for the 
Java editor to hit the breakpoint. Then you can inspect the <a shape="rect" 
href="exchange.html">Exchange</a> during debugging while it advances during 
routing. The <code>ProcessorDefinition</code> and the <code>id</code> and 
<code>shortName</code> parameters is all information which tells you where in 
the route the breakpoint was hit.</p>
-
-<div class="confluence-information-macro 
confluence-information-macro-tip"><span class="aui-icon aui-icon-small 
aui-iconfont-approve confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body">
-<p>There is also a <code>debugAfter</code> method which is invoked after the 
processor has been invoked. This allows you to <em>see</em> what happens to the 
<a shape="rect" href="exchange.html">Exchange</a> right after it has invoked a 
processor in the route.</p></div></div>
-
-<p>The screenshot below shows the <a shape="rect" 
href="debugger.html">Debugger</a> in action. The IDE (IDEA) has hit the 
breakpoint and we can inspect the parameters.<br clear="none">
-Notice how we can see that the message is to be send to the "mock:a" 
endpoint.</p>
-
-<p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image" src="debugger.data/debug.png"></span></p>
-
-<h3 id="Debugger-SeeAlso">See Also</h3>
-<ul class="alternate"><li><a shape="rect" 
href="tracer.html">Tracer</a></li><li><a shape="rect" 
href="backlogdebugger.html">BacklogDebugger</a></li></ul></div>
+</div></div>Then from your Java editor just add a breakpoint inside the 
<code>debugBefore</code> method. Then fire up the unit test and wait for the 
Java editor to hit the breakpoint. Then you can inspect the <a shape="rect" 
href="exchange.html">Exchange</a> during debugging while it advances during 
routing. The <code>ProcessorDefinition</code> and the <code>id</code> and 
<code>shortName</code> parameters is all information which tells you where in 
the route the breakpoint was hit.<div class="confluence-information-macro 
confluence-information-macro-tip"><span class="aui-icon aui-icon-small 
aui-iconfont-approve confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>There is also a 
<code>debugAfter</code> method which is invoked after the processor has been 
invoked. This allows you to <em>see</em> what happens to the <a shape="rect" 
href="exchange.html">Exchange</a> right after it has invoked a processor in the 
route.</p></div></div><p>The screens
 hot below shows the <a shape="rect" href="debugger.html">Debugger</a> in 
action. The IDE (IDEA) has hit the breakpoint and we can inspect the 
parameters.<br clear="none"> Notice how we can see that the message is to be 
send to the "mock:a" endpoint.</p><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
src="debugger.data/debug.png" 
data-image-src="/confluence/download/attachments/86210/debug.png?version=1&amp;modificationDate=1288586116000&amp;api=v2"
 data-unresolved-comment-count="0" data-linked-resource-id="24346680" 
data-linked-resource-version="1" data-linked-resource-type="attachment" 
data-linked-resource-default-alias="debug.png" 
data-base-url="https://cwiki.apache.org/confluence"; 
data-linked-resource-content-type="image/png" 
data-linked-resource-container-id="86210" 
data-linked-resource-container-version="30"></span></p><h3 
id="Debugger-SeeAlso">See Also</h3><ul class="alternate"><li><a shape="rect" 
href="tracer.html">Tracer</a></li><li><
 a shape="rect" href="backlogdebugger.html">BacklogDebugger</a></li></ul></div>
         </td>
         <td valign="top">
           <div class="navigation">
             <div class="navigation_top">
                 <!-- NavigationBar -->
-<div class="navigation_bottom" id="navigation_bottom"><h3 
id="Navigation-Overviewhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=49132";><a
 shape="rect" href="overview.html">Overview</a></h3><ul 
class="alternate"><li><a shape="rect" href="index.html">Home</a></li><li><a 
shape="rect" href="download.html">Download</a></li><li><a shape="rect" 
href="getting-started.html">Getting Started</a></li><li><a shape="rect" 
href="faq.html">FAQ</a></li></ul><h3 
id="Navigation-Documentationhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=49534";><a
 shape="rect" href="documentation.html">Documentation</a></h3><ul 
class="alternate"><li><a shape="rect" href="user-guide.html">User 
Guide</a></li><li><a shape="rect" href="manual.html">Manual</a></li><li><a 
shape="rect" href="books.html">Books</a></li><li><a shape="rect" 
href="tutorials.html">Tutorials</a></li><li><a shape="rect" 
href="examples.html">Examples</a></li><li><a shape="rect" 
href="cookbook.html">Cookbook</a></li>
 <li><a shape="rect" href="architecture.html">Architecture</a></li><li><a 
shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration 
Patterns</a></li><li><a shape="rect" href="dsl.html">DSL</a></li><li><a 
shape="rect" href="components.html">Components</a></li><li><a shape="rect" 
href="data-format.html">Data Format</a></li><li><a shape="rect" 
href="languages.html">Languages</a></li><li><a shape="rect" 
href="security.html">Security</a></li><li><a shape="rect" 
href="security-advisories.html">Security Advisories</a></li></ul><h3 
id="Navigation-Search">Search</h3><form 
enctype="application/x-www-form-urlencoded" method="get" id="cse-search-box" 
action="http://www.google.com/cse";>
+<div class="navigation_bottom" id="navigation_bottom"><h3 
id="Navigation-Overview"><a shape="rect" 
href="overview.html">Overview</a></h3><ul class="alternate"><li><a shape="rect" 
href="index.html">Home</a></li><li><a shape="rect" 
href="download.html">Download</a></li><li><a shape="rect" 
href="getting-started.html">Getting Started</a></li><li><a shape="rect" 
href="faq.html">FAQ</a></li></ul><h3 id="Navigation-Documentation"><a 
shape="rect" href="documentation.html">Documentation</a></h3><ul 
class="alternate"><li><a shape="rect" href="user-guide.html">User 
Guide</a></li><li><a shape="rect" href="manual.html">Manual</a></li><li><a 
shape="rect" href="books.html">Books</a></li><li><a shape="rect" 
href="tutorials.html">Tutorials</a></li><li><a shape="rect" 
href="examples.html">Examples</a></li><li><a shape="rect" 
href="cookbook.html">Cookbook</a></li><li><a shape="rect" 
href="architecture.html">Architecture</a></li><li><a shape="rect" 
href="enterprise-integration-patterns.html">Enterprise
  Integration Patterns</a></li><li><a shape="rect" 
href="dsl.html">DSL</a></li><li><a shape="rect" 
href="components.html">Components</a></li><li><a shape="rect" 
href="data-format.html">Data Format</a></li><li><a shape="rect" 
href="languages.html">Languages</a></li><li><a shape="rect" 
href="security.html">Security</a></li><li><a shape="rect" 
href="security-advisories.html">Security Advisories</a></li></ul><h3 
id="Navigation-Search">Search</h3><form 
enctype="application/x-www-form-urlencoded" method="get" id="cse-search-box" 
action="http://www.google.com/cse";>
   <div>
     <input type="hidden" name="cx" value="007878419884033443453:m5nhvy4hmyq">
     <input type="hidden" name="ie" value="UTF-8">
@@ -183,7 +135,7 @@ Notice how we can see that the message i
     <input type="submit" name="sa" value="Search">
   </div>
 </form>
-<script type="text/javascript" 
src="http://www.google.com/coop/cse/brand?form=cse-search-box&amp;lang=en";></script><h3
 
id="Navigation-Communityhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=49115";><a
 shape="rect" href="community.html">Community</a></h3><ul 
class="alternate"><li><a shape="rect" 
href="support.html">Support</a></li><li><a shape="rect" 
href="contributing.html">Contributing</a></li><li><a shape="rect" 
href="discussion-forums.html">Discussion Forums</a></li><li><a shape="rect" 
href="mailing-lists.html">Mailing Lists</a></li><li><a shape="rect" 
href="user-stories.html">User Stories</a></li><li><a shape="rect" 
href="news.html">News</a></li><li><a shape="rect" 
href="articles.html">Articles</a></li><li><a shape="rect" 
href="site.html">Site</a></li><li><a shape="rect" 
href="team.html">Team</a></li><li><a shape="rect" class="external-link" 
href="http://camel-extra.googlecode.com/"; rel="nofollow">Camel 
Extra</a></li></ul><h3 id="Navigation-Developershttps://cwi
 ki.apache.org/confluence/pages/viewpage.action?pageId=49124"><a shape="rect" 
href="developers.html">Developers</a></h3><ul class="alternate"><li><a 
shape="rect" href="developers.html">Developer Guide</a></li><li><a shape="rect" 
href="source.html">Source</a></li><li><a shape="rect" 
href="building.html">Building</a></li><li><a shape="rect" 
href="javadoc.html">JavaDoc</a></li><li><a shape="rect" 
href="irc-room.html">IRC Room</a></li></ul><h3 
id="Navigation-ApacheSoftwareFoundation">Apache Software Foundation</h3><ul 
class="alternate"><li><a shape="rect" class="external-link" 
href="http://www.apache.org/licenses/";>License</a></li><li><a shape="rect" 
class="external-link" 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li><li><a
 shape="rect" class="external-link" 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li><li><a 
shape="rect" class="external-link" 
href="http://www.apache.org/security/";>Security</a></li></ul></div>
+<script type="text/javascript" 
src="http://www.google.com/coop/cse/brand?form=cse-search-box&amp;lang=en";></script><h3
 id="Navigation-Community"><a shape="rect" 
href="community.html">Community</a></h3><ul class="alternate"><li><a 
shape="rect" href="support.html">Support</a></li><li><a shape="rect" 
href="contributing.html">Contributing</a></li><li><a shape="rect" 
href="discussion-forums.html">Discussion Forums</a></li><li><a shape="rect" 
href="mailing-lists.html">Mailing Lists</a></li><li><a shape="rect" 
href="user-stories.html">User Stories</a></li><li><a shape="rect" 
href="news.html">News</a></li><li><a shape="rect" 
href="articles.html">Articles</a></li><li><a shape="rect" 
href="site.html">Site</a></li><li><a shape="rect" 
href="team.html">Team</a></li><li><a shape="rect" class="external-link" 
href="http://camel-extra.googlecode.com/"; rel="nofollow">Camel 
Extra</a></li></ul><h3 id="Navigation-Developers"><a shape="rect" 
href="developers.html">Developers</a></h3><ul class="alternate"
 ><li><a shape="rect" href="developers.html">Developer Guide</a></li><li><a 
 >shape="rect" href="source.html">Source</a></li><li><a shape="rect" 
 >href="building.html">Building</a></li><li><a shape="rect" 
 >href="javadoc.html">JavaDoc</a></li><li><a shape="rect" 
 >href="irc-room.html">IRC Room</a></li></ul><h3 
 >id="Navigation-ApacheSoftwareFoundation">Apache Software Foundation</h3><ul 
 >class="alternate"><li><a shape="rect" class="external-link" 
 >href="http://www.apache.org/licenses/";>License</a></li><li><a shape="rect" 
 >class="external-link" 
 >href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li><li><a
 > shape="rect" class="external-link" 
 >href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li><li><a 
 >shape="rect" class="external-link" 
 >href="http://www.apache.org/security/";>Security</a></li></ul></div>
                 <!-- NavigationBar -->
             </div>
           </div>

Modified: websites/production/camel/content/is-there-an-ide.html
==============================================================================
--- websites/production/camel/content/is-there-an-ide.html (original)
+++ websites/production/camel/content/is-there-an-ide.html Wed Jul  1 21:19:35 
2015
@@ -75,13 +75,13 @@
        <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 
id="IsthereanIDE-IsthereanIDEforeditingCamelroutes?">Is there an IDE for 
editing Camel routes?</h2><p>Apache Camel offers no IDE out of the 
box.</p><p>You could use your Java IDE for smart completion when creating <a 
shape="rect" href="routes.html">Java routing rules</a> via the <a shape="rect" 
href="dsl.html">DSL</a> which will give you smart completion in Java code. <br 
clear="none"> Or you can use your XML IDE (with XSD smart completion) to edit 
the <a shape="rect" href="spring.html">routing rules in XML</a> using the <a 
shape="rect" href="xml-configuration.html">Xml Configuration</a></p><p>Some of 
the <a shape="rect" href="commercial-camel-offerings.html">Commercial 
Companies</a> offers IDE's and other tooling for Camel.</p><h3 
id="IsthereanIDE-FuseIDE">Fuse IDE</h3><p>Fuse IDE was developed by Red Hat is 
now open sourced under <a shape="rect" class="external-link" 
href="http://www.eclipse.org/legal/epl-v10.html"; rel="nofollow">EPL 1.0</
 a> at <a shape="rect" class="external-link" 
href="https://github.com/fusesource/fuseide"; 
rel="nofollow">Github</a>.</p><p>Here is <a shape="rect" class="external-link" 
href="http://lhein.blogspot.de/2014/07/where-can-i-get-jboss-fuse-tooling-and.html";
 rel="nofollow">instructions</a> how to install Fuse IDE into Eclipse.</p><p>Or 
you could download a version from <a shape="rect" class="external-link" 
href="http://www.jboss.org/products/fuse"; rel="nofollow">the JBoss Fuse 
site</a> or you build it yourself from <a shape="rect" class="external-link" 
href="https://github.com/fusesource/fuseide"; 
rel="nofollow">Github</a>.</p></div>
+<div class="wiki-content maincontent"><h2 
id="IsthereanIDE-IsthereanIDEforeditingCamelroutes?">Is there an IDE for 
editing Camel routes?</h2><p>Apache Camel offers no IDE out of the 
box.</p><p>You could use your Java IDE for smart completion when creating <a 
shape="rect" href="routes.html">Java routing rules</a> via the <a shape="rect" 
href="dsl.html">DSL</a> which will give you smart completion in Java code. <br 
clear="none"> Or you can use your XML IDE (with XSD smart completion) to edit 
the <a shape="rect" href="spring.html">routing rules in XML</a> using the <a 
shape="rect" href="xml-configuration.html">Xml Configuration</a></p><p>Some of 
the <a shape="rect" href="commercial-camel-offerings.html">Commercial 
Companies</a> offers IDE's and other tooling for Camel.</p></div>
         </td>
         <td valign="top">
           <div class="navigation">
             <div class="navigation_top">
                 <!-- NavigationBar -->
-<div class="navigation_bottom" id="navigation_bottom"><h3 
id="Navigation-Overviewhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=49132";><a
 shape="rect" href="overview.html">Overview</a></h3><ul 
class="alternate"><li><a shape="rect" href="index.html">Home</a></li><li><a 
shape="rect" href="download.html">Download</a></li><li><a shape="rect" 
href="getting-started.html">Getting Started</a></li><li><a shape="rect" 
href="faq.html">FAQ</a></li></ul><h3 
id="Navigation-Documentationhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=49534";><a
 shape="rect" href="documentation.html">Documentation</a></h3><ul 
class="alternate"><li><a shape="rect" href="user-guide.html">User 
Guide</a></li><li><a shape="rect" href="manual.html">Manual</a></li><li><a 
shape="rect" href="books.html">Books</a></li><li><a shape="rect" 
href="tutorials.html">Tutorials</a></li><li><a shape="rect" 
href="examples.html">Examples</a></li><li><a shape="rect" 
href="cookbook.html">Cookbook</a></li>
 <li><a shape="rect" href="architecture.html">Architecture</a></li><li><a 
shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration 
Patterns</a></li><li><a shape="rect" href="dsl.html">DSL</a></li><li><a 
shape="rect" href="components.html">Components</a></li><li><a shape="rect" 
href="data-format.html">Data Format</a></li><li><a shape="rect" 
href="languages.html">Languages</a></li><li><a shape="rect" 
href="security.html">Security</a></li><li><a shape="rect" 
href="security-advisories.html">Security Advisories</a></li></ul><h3 
id="Navigation-Search">Search</h3><form 
enctype="application/x-www-form-urlencoded" method="get" id="cse-search-box" 
action="http://www.google.com/cse";>
+<div class="navigation_bottom" id="navigation_bottom"><h3 
id="Navigation-Overview"><a shape="rect" 
href="overview.html">Overview</a></h3><ul class="alternate"><li><a shape="rect" 
href="index.html">Home</a></li><li><a shape="rect" 
href="download.html">Download</a></li><li><a shape="rect" 
href="getting-started.html">Getting Started</a></li><li><a shape="rect" 
href="faq.html">FAQ</a></li></ul><h3 id="Navigation-Documentation"><a 
shape="rect" href="documentation.html">Documentation</a></h3><ul 
class="alternate"><li><a shape="rect" href="user-guide.html">User 
Guide</a></li><li><a shape="rect" href="manual.html">Manual</a></li><li><a 
shape="rect" href="books.html">Books</a></li><li><a shape="rect" 
href="tutorials.html">Tutorials</a></li><li><a shape="rect" 
href="examples.html">Examples</a></li><li><a shape="rect" 
href="cookbook.html">Cookbook</a></li><li><a shape="rect" 
href="architecture.html">Architecture</a></li><li><a shape="rect" 
href="enterprise-integration-patterns.html">Enterprise
  Integration Patterns</a></li><li><a shape="rect" 
href="dsl.html">DSL</a></li><li><a shape="rect" 
href="components.html">Components</a></li><li><a shape="rect" 
href="data-format.html">Data Format</a></li><li><a shape="rect" 
href="languages.html">Languages</a></li><li><a shape="rect" 
href="security.html">Security</a></li><li><a shape="rect" 
href="security-advisories.html">Security Advisories</a></li></ul><h3 
id="Navigation-Search">Search</h3><form 
enctype="application/x-www-form-urlencoded" method="get" id="cse-search-box" 
action="http://www.google.com/cse";>
   <div>
     <input type="hidden" name="cx" value="007878419884033443453:m5nhvy4hmyq">
     <input type="hidden" name="ie" value="UTF-8">
@@ -89,7 +89,7 @@
     <input type="submit" name="sa" value="Search">
   </div>
 </form>
-<script type="text/javascript" 
src="http://www.google.com/coop/cse/brand?form=cse-search-box&amp;lang=en";></script><h3
 
id="Navigation-Communityhttps://cwiki.apache.org/confluence/pages/viewpage.action?pageId=49115";><a
 shape="rect" href="community.html">Community</a></h3><ul 
class="alternate"><li><a shape="rect" 
href="support.html">Support</a></li><li><a shape="rect" 
href="contributing.html">Contributing</a></li><li><a shape="rect" 
href="discussion-forums.html">Discussion Forums</a></li><li><a shape="rect" 
href="mailing-lists.html">Mailing Lists</a></li><li><a shape="rect" 
href="user-stories.html">User Stories</a></li><li><a shape="rect" 
href="news.html">News</a></li><li><a shape="rect" 
href="articles.html">Articles</a></li><li><a shape="rect" 
href="site.html">Site</a></li><li><a shape="rect" 
href="team.html">Team</a></li><li><a shape="rect" class="external-link" 
href="http://camel-extra.googlecode.com/"; rel="nofollow">Camel 
Extra</a></li></ul><h3 id="Navigation-Developershttps://cwi
 ki.apache.org/confluence/pages/viewpage.action?pageId=49124"><a shape="rect" 
href="developers.html">Developers</a></h3><ul class="alternate"><li><a 
shape="rect" href="developers.html">Developer Guide</a></li><li><a shape="rect" 
href="source.html">Source</a></li><li><a shape="rect" 
href="building.html">Building</a></li><li><a shape="rect" 
href="javadoc.html">JavaDoc</a></li><li><a shape="rect" 
href="irc-room.html">IRC Room</a></li></ul><h3 
id="Navigation-ApacheSoftwareFoundation">Apache Software Foundation</h3><ul 
class="alternate"><li><a shape="rect" class="external-link" 
href="http://www.apache.org/licenses/";>License</a></li><li><a shape="rect" 
class="external-link" 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li><li><a
 shape="rect" class="external-link" 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li><li><a 
shape="rect" class="external-link" 
href="http://www.apache.org/security/";>Security</a></li></ul></div>
+<script type="text/javascript" 
src="http://www.google.com/coop/cse/brand?form=cse-search-box&amp;lang=en";></script><h3
 id="Navigation-Community"><a shape="rect" 
href="community.html">Community</a></h3><ul class="alternate"><li><a 
shape="rect" href="support.html">Support</a></li><li><a shape="rect" 
href="contributing.html">Contributing</a></li><li><a shape="rect" 
href="discussion-forums.html">Discussion Forums</a></li><li><a shape="rect" 
href="mailing-lists.html">Mailing Lists</a></li><li><a shape="rect" 
href="user-stories.html">User Stories</a></li><li><a shape="rect" 
href="news.html">News</a></li><li><a shape="rect" 
href="articles.html">Articles</a></li><li><a shape="rect" 
href="site.html">Site</a></li><li><a shape="rect" 
href="team.html">Team</a></li><li><a shape="rect" class="external-link" 
href="http://camel-extra.googlecode.com/"; rel="nofollow">Camel 
Extra</a></li></ul><h3 id="Navigation-Developers"><a shape="rect" 
href="developers.html">Developers</a></h3><ul class="alternate"
 ><li><a shape="rect" href="developers.html">Developer Guide</a></li><li><a 
 >shape="rect" href="source.html">Source</a></li><li><a shape="rect" 
 >href="building.html">Building</a></li><li><a shape="rect" 
 >href="javadoc.html">JavaDoc</a></li><li><a shape="rect" 
 >href="irc-room.html">IRC Room</a></li></ul><h3 
 >id="Navigation-ApacheSoftwareFoundation">Apache Software Foundation</h3><ul 
 >class="alternate"><li><a shape="rect" class="external-link" 
 >href="http://www.apache.org/licenses/";>License</a></li><li><a shape="rect" 
 >class="external-link" 
 >href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li><li><a
 > shape="rect" class="external-link" 
 >href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li><li><a 
 >shape="rect" class="external-link" 
 >href="http://www.apache.org/security/";>Security</a></li></ul></div>
                 <!-- NavigationBar -->
             </div>
           </div>


Reply via email to