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/01 23:19:35 UTC

svn commit: r956592 - in /websites/production/camel/content: cache/main.pageCache camel-and-scr.html debugger.html is-there-an-ide.html

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>