[maven-release-plugin]  copy for tag camel-2.9.0

git-svn-id: https://svn.apache.org/repos/asf/camel/tags/camel-2.9.0@1225049 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/camel-core/src/main/java/org/apache/camel/CamelAuthorizationException.java b/camel-core/src/main/java/org/apache/camel/CamelAuthorizationException.java
index 48e198c..988555b 100644
--- a/camel-core/src/main/java/org/apache/camel/CamelAuthorizationException.java
+++ b/camel-core/src/main/java/org/apache/camel/CamelAuthorizationException.java
@@ -18,7 +18,9 @@
 package org.apache.camel;
 
 /**
- * An exception thrown for authorization errors occurring in a Camel exchange.
+ * An exception thrown for either authentication or authorization errors occurring
+ * in a Camel exchange.  Intended to be used when a user is denied an action and
+ * Camel should not process the message as a result.
  *
  * @version 
  */
diff --git a/camel-core/src/main/java/org/apache/camel/IsSingleton.java b/camel-core/src/main/java/org/apache/camel/IsSingleton.java
index 7597ea4..1f16c467 100644
--- a/camel-core/src/main/java/org/apache/camel/IsSingleton.java
+++ b/camel-core/src/main/java/org/apache/camel/IsSingleton.java
@@ -17,9 +17,14 @@
 package org.apache.camel;
 
 /**
- * Used for defining if a given class is singleton or not.
- * If the class is a Singleton, then a single instance will be shared. Because the class is shared, it
- * should be treated as an immutable and be thread safe.
+ * Used for defining if a given class is singleton or not.  If the class is a singleton, 
+ * then a single instance will be shared (and hence should be treated as immutable and
+ * be used in a thread-safe manner.)
+ * 
+ * This interface is not implemented as a marker interface (i.e., it's necessary to read  
+ * isSingleton() instead of instanceof(IsSingleton)).  This allows for subclasses to have 
+ * a singleton status different from a parent and for objects to have this value dynamically 
+ * changed. 
  *
  * @version 
  */
diff --git a/camel-core/src/main/java/org/apache/camel/MultipleConsumersSupport.java b/camel-core/src/main/java/org/apache/camel/MultipleConsumersSupport.java
index 3657614..f552706 100644
--- a/camel-core/src/main/java/org/apache/camel/MultipleConsumersSupport.java
+++ b/camel-core/src/main/java/org/apache/camel/MultipleConsumersSupport.java
@@ -33,9 +33,9 @@
 public interface MultipleConsumersSupport {
 
     /**
-     * Is multiple consumers supported?
+     * Are multiple consumers supported?
      *
-     * @return <tt>true</tt> if multiple consumers is supported
+     * @return <tt>true</tt> if multiple consumers are supported
      */
     boolean isMultipleConsumersSupported();
 }
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/PerformanceCounter.java b/camel-core/src/main/java/org/apache/camel/api/management/PerformanceCounter.java
index 339209e..d1779d8 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/PerformanceCounter.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/PerformanceCounter.java
@@ -19,7 +19,7 @@
 import org.apache.camel.Exchange;
 
 /**
- * A counter that gathers performance metrics when {@link org.apache.camel.Exchange} are routed in Camel.
+ * A counter that gathers performance metrics when an {@link org.apache.camel.Exchange} is routed in Camel.
  *
  * @version 
  */
@@ -29,7 +29,7 @@
      * Executed when an {@link org.apache.camel.Exchange} is complete.
      *
      * @param exchange the exchange
-     * @param time  the time it took in millis to complete it
+     * @param time the time it took in millis to complete
      */
     void completedExchange(Exchange exchange, long time);
 
@@ -41,20 +41,20 @@
     void failedExchange(Exchange exchange);
 
     /**
-     * Is statistics enabled.
+     * Are statistics enabled?
      * <p/>
      * They can be enabled and disabled at runtime
      *
-     * @return whether statistics is enabled or not
+     * @return whether statistics are enabled or not
      */
     boolean isStatisticsEnabled();
 
     /**
-     * Sets whether statistics is enabled.
+     * Sets whether statistics are enabled.
      * <p/>
      * They can be enabled and disabled at runtime
      *
-     * @param statisticsEnabled whether statistics is enabled or not
+     * @param statisticsEnabled whether statistics are enabled or not
      */
     void setStatisticsEnabled(boolean statisticsEnabled);
 
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java
index d3588a6..42f46dc 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedCamelContextMBean.java
@@ -24,7 +24,7 @@
 
 public interface ManagedCamelContextMBean {
 
-    @ManagedAttribute(description = "Camel id")
+    @ManagedAttribute(description = "Camel ID")
     String getCamelId();
 
     @ManagedAttribute(description = "Camel Version")
@@ -118,7 +118,7 @@
      * @return <tt>true</tt> if a new endpoint was created, <tt>false</tt> if the endpoint already existed
      * @throws Exception is thrown if error occurred
      */
-    @ManagedOperation(description = "Creates the endpoint by the given uri")
+    @ManagedOperation(description = "Creates the endpoint by the given URI")
     boolean createEndpoint(String uri) throws Exception;
 
     /**
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedComponentMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedComponentMBean.java
index add8bb3..60f065e 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedComponentMBean.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedComponentMBean.java
@@ -26,7 +26,7 @@
     @ManagedAttribute(description = "Component State")
     String getState();
 
-    @ManagedAttribute(description = "Camel id")
+    @ManagedAttribute(description = "Camel ID")
     String getCamelId();
 
 }
\ No newline at end of file
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedConsumerMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedConsumerMBean.java
index 348e07b..95df4c0 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedConsumerMBean.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedConsumerMBean.java
@@ -20,7 +20,7 @@
 
 public interface ManagedConsumerMBean extends ManagedServiceMBean {
 
-    @ManagedAttribute(description = "Endpoint Uri")
+    @ManagedAttribute(description = "Endpoint URI")
     String getEndpointUri();
 
     @ManagedAttribute(description = "Current number of inflight Exchanges")
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedEndpointMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedEndpointMBean.java
index 0858ccb..4ede630 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedEndpointMBean.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedEndpointMBean.java
@@ -20,10 +20,10 @@
 
 public interface ManagedEndpointMBean {
 
-    @ManagedAttribute(description = "Camel id")
+    @ManagedAttribute(description = "Camel ID")
     String getCamelId();
 
-    @ManagedAttribute(description = "Endpoint Uri")
+    @ManagedAttribute(description = "Endpoint URI")
     String getEndpointUri();
 
     @ManagedAttribute(description = "Singleton")
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedErrorHandlerMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedErrorHandlerMBean.java
index af49edc..0dfe43d 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedErrorHandlerMBean.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedErrorHandlerMBean.java
@@ -20,7 +20,7 @@
 
 public interface ManagedErrorHandlerMBean {
 
-    @ManagedAttribute(description = "Camel id")
+    @ManagedAttribute(description = "Camel ID")
     String getCamelId();
 
     @ManagedAttribute(description = "Does the error handler support redelivery")
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedProcessorMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedProcessorMBean.java
index b0fbbe1..5dc3b03 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedProcessorMBean.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedProcessorMBean.java
@@ -24,13 +24,13 @@
     @ManagedAttribute(description = "Processor State")
     String getState();
 
-    @ManagedAttribute(description = "Camel id")
+    @ManagedAttribute(description = "Camel ID")
     String getCamelId();
 
-    @ManagedAttribute(description = "Route id")
+    @ManagedAttribute(description = "Route ID")
     String getRouteId();
 
-    @ManagedAttribute(description = "Processor id")
+    @ManagedAttribute(description = "Processor ID")
     String getProcessorId();
 
     @ManagedOperation(description = "Start Processor")
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedProducerMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedProducerMBean.java
index 2b77c0c..43d5950 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedProducerMBean.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedProducerMBean.java
@@ -20,7 +20,7 @@
 
 public interface ManagedProducerMBean extends ManagedServiceMBean {
 
-    @ManagedAttribute(description = "Endpoint Uri")
+    @ManagedAttribute(description = "Endpoint URI")
     String getEndpointUri();
 
     @ManagedAttribute(description = "Singleton")
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedRouteMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedRouteMBean.java
index 42527d3..d58ab4d 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedRouteMBean.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedRouteMBean.java
@@ -21,13 +21,13 @@
 
 public interface ManagedRouteMBean extends ManagedPerformanceCounterMBean {
 
-    @ManagedAttribute(description = "Route id")
+    @ManagedAttribute(description = "Route ID")
     String getRouteId();
 
     @ManagedAttribute(description = "Route Description")
     String getDescription();
 
-    @ManagedAttribute(description = "Route Endpoint Uri")
+    @ManagedAttribute(description = "Route Endpoint URI")
     String getEndpointUri();
 
     @ManagedAttribute(description = "Route State")
@@ -36,7 +36,7 @@
     @ManagedAttribute(description = "Current number of inflight Exchanges")
     Integer getInflightExchanges();
 
-    @ManagedAttribute(description = "Camel id")
+    @ManagedAttribute(description = "Camel ID")
     String getCamelId();
 
     @ManagedAttribute(description = "Tracing")
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedSendProcessorMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedSendProcessorMBean.java
index a85ee95..e35e468 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedSendProcessorMBean.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedSendProcessorMBean.java
@@ -20,10 +20,10 @@
 
 public interface ManagedSendProcessorMBean extends ManagedProcessorMBean {
 
-    @ManagedAttribute(description = "Destination as Endpoint Uri")
+    @ManagedAttribute(description = "Destination as Endpoint URI")
     String getDestination();
 
-    @ManagedAttribute(description = "Destination as Endpoint Uri")
+    @ManagedAttribute(description = "Destination as Endpoint URI")
     void setDestination(String uri);
 
     @ManagedAttribute(description = "Message Exchange Pattern")
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedServiceMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedServiceMBean.java
index 025a851..606b224 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedServiceMBean.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedServiceMBean.java
@@ -24,10 +24,10 @@
     @ManagedAttribute(description = "Service State")
     String getState();
 
-    @ManagedAttribute(description = "Camel id")
+    @ManagedAttribute(description = "Camel ID")
     String getCamelId();
 
-    @ManagedAttribute(description = "Route id")
+    @ManagedAttribute(description = "Route ID")
     String getRouteId();
 
     @ManagedOperation(description = "Start Service")
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedThreadPoolMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedThreadPoolMBean.java
index 2d99b52..04f742c 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedThreadPoolMBean.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedThreadPoolMBean.java
@@ -21,16 +21,16 @@
 
 public interface ManagedThreadPoolMBean {
 
-    @ManagedAttribute(description = "Thread Pool id")
+    @ManagedAttribute(description = "Thread Pool ID")
     String getId();
 
-    @ManagedAttribute(description = "Id of source for creating Thread Pool")
+    @ManagedAttribute(description = "ID of source for creating Thread Pool")
     String getSourceId();
 
-    @ManagedAttribute(description = "Route id for the source, which created the Thread Pool")
+    @ManagedAttribute(description = "Route ID for the source, which created the Thread Pool")
     String getRouteId();
 
-    @ManagedAttribute(description = "Id of the thread pool profile which this pool is based upon")
+    @ManagedAttribute(description = "ID of the thread pool profile which this pool is based upon")
     String getThreadPoolProfileId();
 
     @ManagedAttribute(description = "Core pool size")
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedTracerMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedTracerMBean.java
index 5517c78..aa09078 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedTracerMBean.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedTracerMBean.java
@@ -26,16 +26,16 @@
     @ManagedAttribute(description = "Tracer enabled")
     void setEnabled(boolean enabled);
 
-    @ManagedAttribute(description = "Additional destination Uri")
+    @ManagedAttribute(description = "Additional destination URI")
     String getDestinationUri();
 
-    @ManagedAttribute(description = "Additional destination Uri")
+    @ManagedAttribute(description = "Additional destination URI")
     void setDestinationUri(String uri);
 
     @ManagedAttribute(description = "Logging Name")
     String getLogName();
 
-    @ManagedAttribute(description = "Using Jpa")
+    @ManagedAttribute(description = "Using JPA")
     boolean getUseJpa();
 
     @ManagedAttribute(description = "Logging Name")
@@ -101,10 +101,10 @@
     @ManagedAttribute(description = "Formatter show breadcrumb")
     void setFormatterShowBreadCrumb(boolean showBreadCrumb);
 
-    @ManagedAttribute(description = "Formatter show exchange id")
+    @ManagedAttribute(description = "Formatter show exchange ID")
     boolean getFormatterShowExchangeId();
 
-    @ManagedAttribute(description = "Formatter show exchange id")
+    @ManagedAttribute(description = "Formatter show exchange ID")
     void setFormatterShowExchangeId(boolean showExchangeId);
 
     @ManagedAttribute(description = "Formatter show headers")
@@ -143,10 +143,10 @@
     @ManagedAttribute(description = "Formatter show exception")
     void setFormatterShowException(boolean showException);
 
-    @ManagedAttribute(description = "Formatter show route id")
+    @ManagedAttribute(description = "Formatter show route ID")
     boolean getFormatterShowRouteId();
 
-    @ManagedAttribute(description = "Formatter show route id")
+    @ManagedAttribute(description = "Formatter show route ID")
     void setFormatterShowRouteId(boolean showRouteId);
 
     @ManagedAttribute(description = "Formatter breadcrumb length")
@@ -155,10 +155,10 @@
     @ManagedAttribute(description = "Formatter breadcrumb length")
     void setFormatterBreadCrumbLength(int breadCrumbLength);
 
-    @ManagedAttribute(description = "Formatter show short exchange id")
+    @ManagedAttribute(description = "Formatter show short exchange ID")
     boolean getFormatterShowShortExchangeId();
 
-    @ManagedAttribute(description = "Formatter show short exchange id")
+    @ManagedAttribute(description = "Formatter show short exchange ID")
     void setFormatterShowShortExchangeId(boolean showShortExchangeId);
 
     @ManagedAttribute(description = "Formatter node length")
@@ -173,10 +173,10 @@
     @ManagedAttribute(description = "Formatter max chars")
     void setFormatterMaxChars(int maxChars);
 
-    @ManagedAttribute(description = "Should trace events be sent as jmx notifications")
+    @ManagedAttribute(description = "Should trace events be sent as JMX notifications")
     boolean isJmxTraceNotifications();
 
-    @ManagedAttribute(description = "Should trace events be sent as jmx notifications")
+    @ManagedAttribute(description = "Should trace events be sent as JMX notifications")
     void setJmxTraceNotifications(boolean jmxTraceNotifications);
 
     @ManagedAttribute(description = "Maximum size of a message body for trace notification")
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/package.html b/camel-core/src/main/java/org/apache/camel/api/management/package.html
index c81b2d9..581eca9 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/package.html
+++ b/camel-core/src/main/java/org/apache/camel/api/management/package.html
@@ -19,7 +19,8 @@
 </head>
 <body>
 
-Service provider interfaces for management. These help making components management aware or to implement own management strategies
+Service provider interfaces for management. These help make components management-aware and 
+also allow components to implement their own management strategies.
 
 </body>
 </html>
diff --git a/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java b/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java
index c23e5b7..94a4722 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java
@@ -219,7 +219,7 @@
                 Message out = exchange.getOut();
                 Object header = out.getHeader(headerName);
                 if (header == null) {
-                    // lets try the exchange header
+                    // let's try the exchange header
                     header = exchange.getProperty(headerName);
                 }
                 return header;
diff --git a/camel-core/src/main/java/org/apache/camel/builder/xml/Namespaces.java b/camel-core/src/main/java/org/apache/camel/builder/xml/Namespaces.java
index dca3d75..d4651b1 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/xml/Namespaces.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/xml/Namespaces.java
@@ -75,7 +75,7 @@
     }
 
     public Namespaces add(Element element) {
-        // lets set the parent first in case we overload a prefix here
+        // let's set the parent first in case we overload a prefix here
         Node parentNode = element.getParentNode();
         if (parentNode instanceof org.w3c.dom.Element) {
             add((Element) parentNode);
diff --git a/camel-core/src/main/java/org/apache/camel/builder/xml/XPathBuilder.java b/camel-core/src/main/java/org/apache/camel/builder/xml/XPathBuilder.java
index 8f48696..a401196 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/xml/XPathBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/xml/XPathBuilder.java
@@ -93,7 +93,7 @@
     // For some reason the default expression of "a/b" on a document such as
     // <a><b>1</b><b>2</b></a>
     // will evaluate as just "1" by default which is bizarre. So by default
-    // lets assume XPath expressions result in nodesets.
+    // let's assume XPath expressions result in nodesets.
     private Class<?> resultType;
     private QName resultQName = XPathConstants.NODESET;
     private String objectModelUri;
@@ -697,7 +697,7 @@
     }
 
     /**
-     * Lets populate a number of standard prefixes if they are not already there
+     * Populate a number of standard prefixes if they are not already there
      */
     protected void populateDefaultNamespaces(DefaultNamespaceContext context) {
         setNamespaceIfNotPresent(context, "in", IN_NAMESPACE);
@@ -802,7 +802,7 @@
             answer = body;
         }
 
-        // lets try coerce some common types into something JAXP can deal with
+        // let's try coercing some common types into something JAXP can work with
         if (answer instanceof WrappedFile) {
             // special for files so we can work with them out of the box
             InputStream is = exchange.getContext().getTypeConverter().convertTo(InputStream.class, answer);
diff --git a/camel-core/src/main/java/org/apache/camel/builder/xml/XsltBuilder.java b/camel-core/src/main/java/org/apache/camel/builder/xml/XsltBuilder.java
index e14e0c0..03ef4ec 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/xml/XsltBuilder.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/xml/XsltBuilder.java
@@ -103,7 +103,7 @@
         ResultHandler resultHandler = resultHandlerFactory.createResult(exchange);
         Result result = resultHandler.getResult();
 
-        // lets copy the headers before we invoke the transform in case they modify them
+        // let's copy the headers before we invoke the transform in case they modify them
         Message out = exchange.getOut();
         out.copyFrom(exchange.getIn());
 
diff --git a/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java b/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java
index 81e03a9..fd36d7d 100644
--- a/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java
+++ b/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java
@@ -178,7 +178,7 @@
                 } else if (methods != null) {
                     // there are more methods with that name so we cannot decide which to use
 
-                    // but first lets try to choose a method and see if that comply with the name
+                    // but first let's try to choose a method and see if that complies with the name
                     // must use the method name which may have qualifiers
                     methodInfo = chooseMethod(pojo, exchange, methodName);
 
@@ -353,7 +353,7 @@
                         // use exchange
                         expression = ExpressionBuilder.exchangeExpression();
                     } else {
-                        // lets assume its the body and it must be mandatory convertable to the parameter type
+                        // assume it's the body and it must be mandatory convertible to the parameter type
                         // but we allow null bodies in case the message really contains a null body
                         expression = ExpressionBuilder.mandatoryBodyExpression(parameterType, true);
                     }
@@ -367,7 +367,7 @@
             LOG.trace("Parameter #{} has parameter info: ", i, parameterInfo);
         }
 
-        // now lets add the method to the repository
+        // now let's add the method to the repository
         return new MethodInfo(camelContext, clazz, method, parameters, bodyParameters, hasCustomAnnotation, hasHandlerAnnotation);
     }
 
@@ -400,14 +400,14 @@
     }
 
     /**
-     * Lets try choose one of the available methods to invoke if we can match
+     * Choose one of the available methods to invoke if we can match
      * the message body to the body parameter
      *
      * @param pojo the bean to invoke a method on
      * @param exchange the message exchange
      * @param name an optional name of the method that must match, use <tt>null</tt> to indicate all methods
      * @return the method to invoke or null if no definitive method could be matched
-     * @throws AmbiguousMethodCallException is thrown if cannot chose method due to ambiguous
+     * @throws AmbiguousMethodCallException is thrown if cannot choose method due to ambiguity
      */
     protected MethodInfo chooseMethod(Object pojo, Exchange exchange, String name) throws AmbiguousMethodCallException {
         // @Handler should be select first
@@ -470,7 +470,7 @@
     private MethodInfo chooseMethodWithMatchingBody(Exchange exchange, Collection<MethodInfo> operationList,
                                                     List<MethodInfo> operationsWithCustomAnnotation)
         throws AmbiguousMethodCallException {
-        // lets see if we can find a method who's body param type matches the message body
+        // see if we can find a method whose body param type matches the message body
         Message in = exchange.getIn();
         Object body = in.getBody();
         if (body != null) {
@@ -525,7 +525,7 @@
         } else if (possibles.isEmpty()) {
             LOG.trace("No possible methods so now trying to convert body to parameter types");
 
-            // lets try converting
+            // let's try converting
             Object newBody = null;
             MethodInfo matched = null;
             int matchCounter = 0;
@@ -555,7 +555,7 @@
                 return matched;
             }
         } else {
-            // if we only have a single method with custom annotations, lets use that one
+            // if we only have a single method with custom annotations, let's use that one
             if (possibleWithCustomAnnotation.size() == 1) {
                 MethodInfo answer = possibleWithCustomAnnotation.get(0);
                 LOG.trace("There are only one method with annotations so we choose it: {}", answer);
@@ -621,7 +621,7 @@
 
     private MethodInfo chooseMethodWithCustomAnnotations(Exchange exchange, Collection<MethodInfo> possibles)
         throws AmbiguousMethodCallException {
-        // if we have only one method with custom annotations lets choose that
+        // if we have only one method with custom annotations let's choose that
         MethodInfo chosen = null;
         for (MethodInfo possible : possibles) {
             if (possible.hasCustomAnnotation()) {
diff --git a/camel-core/src/main/java/org/apache/camel/component/bean/BeanProcessor.java b/camel-core/src/main/java/org/apache/camel/component/bean/BeanProcessor.java
index d9e5053..0d0d8df 100644
--- a/camel-core/src/main/java/org/apache/camel/component/bean/BeanProcessor.java
+++ b/camel-core/src/main/java/org/apache/camel/component/bean/BeanProcessor.java
@@ -175,7 +175,7 @@
 
             LOG.trace("Processing exchangeId: {} is continued being processed synchronously", exchange.getExchangeId());
         } catch (InvocationTargetException e) {
-            // lets unwrap the exception when its an invocation target exception
+            // let's unwrap the exception when it's an invocation target exception
             exchange.setException(e.getCause());
             callback.done(true);
             return true;
diff --git a/camel-core/src/main/java/org/apache/camel/component/bean/DefaultAnnotationExpressionFactory.java b/camel-core/src/main/java/org/apache/camel/component/bean/DefaultAnnotationExpressionFactory.java
index 35a5210..e215b4f 100644
--- a/camel-core/src/main/java/org/apache/camel/component/bean/DefaultAnnotationExpressionFactory.java
+++ b/camel-core/src/main/java/org/apache/camel/component/bean/DefaultAnnotationExpressionFactory.java
@@ -46,7 +46,7 @@
     }
 
     protected String getExpressionFromAnnotation(Annotation annotation) {
-        // lets try the 'value()' method
+        // let's try the 'value()' method
         try {
             Method method = annotation.getClass().getMethod("value");
             Object value = ObjectHelper.invokeMethod(method, annotation);
diff --git a/camel-core/src/main/java/org/apache/camel/component/bean/MethodInfo.java b/camel-core/src/main/java/org/apache/camel/component/bean/MethodInfo.java
index cff182d..2d8e3b3 100644
--- a/camel-core/src/main/java/org/apache/camel/component/bean/MethodInfo.java
+++ b/camel-core/src/main/java/org/apache/camel/component/bean/MethodInfo.java
@@ -542,7 +542,7 @@
         if (answer == null) {
             Class<?> type = method.getDeclaringClass();
 
-            // lets create the search order of types to scan
+            // create the search order of types to scan
             List<Class<?>> typesToSearch = new ArrayList<Class<?>>();
             addTypeAndSuperTypes(type, typesToSearch);
             Class<?>[] interfaces = type.getInterfaces();
@@ -550,7 +550,7 @@
                 addTypeAndSuperTypes(anInterface, typesToSearch);
             }
 
-            // now lets scan for a type which the current declared class overloads
+            // now let's scan for a type which the current declared class overloads
             answer = findOneWayAnnotationOnMethod(typesToSearch, method);
             if (answer == null) {
                 answer = findOneWayAnnotation(typesToSearch);
@@ -583,7 +583,7 @@
         int nextDepth = depth - 1;
 
         if (nextDepth > 0) {
-            // lets look at all the annotations to see if any of those are annotated
+            // look at all the annotations to see if any of those are annotated
             Annotation[] annotations = annotatedElement.getAnnotations();
             for (Annotation annotation : annotations) {
                 Class<? extends Annotation> annotationType = annotation.annotationType();
diff --git a/camel-core/src/main/java/org/apache/camel/component/browse/BrowseEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/browse/BrowseEndpoint.java
index b609d04..3a54b2c 100644
--- a/camel-core/src/main/java/org/apache/camel/component/browse/BrowseEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/browse/BrowseEndpoint.java
@@ -85,7 +85,7 @@
     protected void onExchange(Exchange exchange) throws Exception {
         getExchanges().add(exchange);
 
-        // lets fire any consumers
+        // now fire any consumers
         loadBalancer.process(exchange);
     }
 
diff --git a/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java
index 27995c4..078b404 100644
--- a/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetEndpoint.java
@@ -184,7 +184,7 @@
         long index = receivedCount - 1;
         Exchange expected = createExchange(index);
 
-        // now lets assert that they are the same
+        // now let's assert that they are the same
         if (log.isDebugEnabled()) {
             log.debug("Received message: {} (DataSet index={}) = {}",
                     new Object[]{index, copy.getIn().getHeader(Exchange.DATASET_INDEX, Integer.class), copy});
diff --git a/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetSupport.java b/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetSupport.java
index 9d24c95..14b542b 100644
--- a/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetSupport.java
+++ b/camel-core/src/main/java/org/apache/camel/component/dataset/DataSetSupport.java
@@ -57,7 +57,7 @@
         Object expectedBody = expected.getIn().getBody();
         Object actualBody = actual.getIn().getBody();
         if (expectedBody != null) {
-            // lets coerce to the correct type
+            // let's coerce to the correct type
             actualBody = ExchangeHelper.getMandatoryInBody(actual, expectedBody.getClass());
         }
         DataSetEndpoint.assertEquals("message body", expectedBody, actualBody, actual);
diff --git a/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java b/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java
index 320395e..d5921b7 100644
--- a/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/file/GenericFileProducer.java
@@ -197,7 +197,7 @@
                 writeFile(empty, doneFileName);
             }
 
-            // lets store the name we really used in the header, so end-users
+            // let's store the name we really used in the header, so end-users
             // can retrieve it
             exchange.getIn().setHeader(Exchange.FILE_NAME_PRODUCED, target);
         } catch (Exception e) {
diff --git a/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java
index af45540..e4b7766c 100644
--- a/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java
@@ -1144,7 +1144,7 @@
         // Wait for a default 10 seconds if resultWaitTime is not set
         long waitTime = timeout == 0 ? 10000L : timeout;
 
-        // now lets wait for the results
+        // now let's wait for the results
         LOG.debug("Waiting on the latch for: " + timeout + " millis");
         latch.await(waitTime, TimeUnit.MILLISECONDS);
     }
diff --git a/camel-core/src/main/java/org/apache/camel/component/ref/RefComponent.java b/camel-core/src/main/java/org/apache/camel/component/ref/RefComponent.java
index 8ae30ce..c0bf0b9 100644
--- a/camel-core/src/main/java/org/apache/camel/component/ref/RefComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/component/ref/RefComponent.java
@@ -30,7 +30,7 @@
 public class RefComponent extends DefaultComponent {
 
     protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
-        // lets remove the scheme from the URI
+        // first remove the scheme from the URI
         int index = uri.indexOf(':');
         String name = uri;
         if (index >= 0) {
diff --git a/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java b/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
index fea8aa2..5eb90e3 100644
--- a/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
@@ -155,9 +155,8 @@
                 if (exchange != null) {
                     try {
                         // send a new copied exchange with new camel context
-                        Exchange newExchange = ExchangeHelper.copyExchangeAndSetCamelContext(exchange, endpoint.getCamelContext());
-                        // set the fromEndpoint 
-                        newExchange.setFromEndpoint(endpoint);
+                        Exchange newExchange = prepareExchange(exchange);
+                        // process the exchange
                         sendToConsumers(newExchange);
                         // copy the message back
                         if (newExchange.hasOut()) {
@@ -195,6 +194,20 @@
     }
 
     /**
+     * Strategy to prepare exchange for being processed by this consumer
+     *
+     * @param exchange the exchange
+     * @return the exchange to process by this consumer.
+     */
+    protected Exchange prepareExchange(Exchange exchange) {
+        // send a new copied exchange with new camel context
+        Exchange newExchange = ExchangeHelper.copyExchangeAndSetCamelContext(exchange, endpoint.getCamelContext());
+        // set the from endpoint
+        newExchange.setFromEndpoint(endpoint);
+        return newExchange;
+    }
+
+    /**
      * Send the given {@link Exchange} to the consumer(s).
      * <p/>
      * If multiple consumers then they will each receive a copy of the Exchange.
diff --git a/camel-core/src/main/java/org/apache/camel/converter/IOConverter.java b/camel-core/src/main/java/org/apache/camel/converter/IOConverter.java
index 7b3c76c..90e7e4d 100644
--- a/camel-core/src/main/java/org/apache/camel/converter/IOConverter.java
+++ b/camel-core/src/main/java/org/apache/camel/converter/IOConverter.java
@@ -154,6 +154,16 @@
         return toInputStream(text.getBytes(IOHelper.getCharsetName(exchange)));
     }
     
+    @Converter
+    public static InputStream toInputStream(StringBuffer buffer, Exchange exchange) throws IOException {
+        return toInputStream(buffer.toString(), exchange);
+    }
+    
+    @Converter
+    public static InputStream toInputStream(StringBuilder builder, Exchange exchange) throws IOException {
+        return toInputStream(builder.toString(), exchange);
+    }
+    
     /**
      * @deprecated will be removed in Camel 3.0. Use the method which has 2 parameters.
      */
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
index 87180bb..cabb072 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
@@ -1994,7 +1994,7 @@
     }
 
     /**
-     * Lets force some lazy initialization to occur upfront before we start any
+     * Force some lazy initialization to occur upfront before we start any
      * components and create routes
      */
     protected void forceLazyInitialization() {
@@ -2005,7 +2005,7 @@
     }
 
     /**
-     * Lets force clear lazy initialization so they can be re-created on restart
+     * Force clear lazy initialization so they can be re-created on restart
      */
     protected void forceStopLazyInitialization() {
         injector = null;
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java
index 0a1ee4d..8ac0bcc 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java
@@ -19,7 +19,6 @@
 import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Type;
 import java.net.URI;
-import java.net.URISyntaxException;
 import java.util.Map;
 
 import org.apache.camel.CamelContext;
diff --git a/camel-core/src/main/java/org/apache/camel/impl/MappedEndpointConfiguration.java b/camel-core/src/main/java/org/apache/camel/impl/MappedEndpointConfiguration.java
index 42f185a..73143cc 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/MappedEndpointConfiguration.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/MappedEndpointConfiguration.java
@@ -21,10 +21,8 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import java.util.TreeSet;
 import java.util.concurrent.ConcurrentHashMap;
 
-import org.apache.camel.CamelContext;
 import org.apache.camel.Component;
 import org.apache.camel.EndpointConfiguration;
 import org.apache.camel.TypeConverter;
diff --git a/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java b/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java
index 61392d4..14ea7b6 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java
@@ -185,7 +185,7 @@
     }
 
     /**
-     * Lets allow implementations to auto-create a messageId
+     * Allow implementations to auto-create a messageId
      */
     protected String createMessageId() {
         String uuid = null;
diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
index 2695bf0..b36e9e6 100644
--- a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
+++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
@@ -173,14 +173,18 @@
         if (!context.getStatus().isStarted()) {
             throw new IllegalArgumentException("CamelContext is not started");
         }
-        context.shutdownRoute(getRouteId());
+        String routeId = getRouteId(); 
+        context.stopRoute(routeId);
+        context.removeRoute(routeId);
     }
 
     public void shutdown(long timeout) throws Exception {
         if (!context.getStatus().isStarted()) {
             throw new IllegalArgumentException("CamelContext is not started");
         }
-        context.shutdownRoute(getRouteId(), timeout, TimeUnit.SECONDS);
+        String routeId = getRouteId(); 
+        context.stopRoute(routeId, timeout, TimeUnit.SECONDS);
+        context.removeRoute(routeId);
     }
 
     public boolean remove() throws Exception {
diff --git a/camel-core/src/main/java/org/apache/camel/model/RouteDefinitionHelper.java b/camel-core/src/main/java/org/apache/camel/model/RouteDefinitionHelper.java
index f9cb6d1..89b9dc3 100644
--- a/camel-core/src/main/java/org/apache/camel/model/RouteDefinitionHelper.java
+++ b/camel-core/src/main/java/org/apache/camel/model/RouteDefinitionHelper.java
@@ -20,7 +20,6 @@
 import java.util.List;
 
 import org.apache.camel.CamelContext;
-import org.apache.camel.ErrorHandlerFactory;
 import org.apache.camel.util.CamelContextHelper;
 import org.apache.camel.util.EndpointHelper;
 import org.apache.camel.util.ObjectHelper;
diff --git a/camel-core/src/main/java/org/apache/camel/model/language/ExpressionDefinition.java b/camel-core/src/main/java/org/apache/camel/model/language/ExpressionDefinition.java
index f7bc656..653fbe1 100644
--- a/camel-core/src/main/java/org/apache/camel/model/language/ExpressionDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/language/ExpressionDefinition.java
@@ -33,7 +33,6 @@
 import org.apache.camel.Exchange;
 import org.apache.camel.Expression;
 import org.apache.camel.Predicate;
-import org.apache.camel.builder.PredicateBuilder;
 import org.apache.camel.spi.Language;
 import org.apache.camel.spi.Required;
 import org.apache.camel.spi.RouteContext;
diff --git a/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java b/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java
index c933b0e..02f46b3 100644
--- a/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java
+++ b/camel-core/src/main/java/org/apache/camel/model/language/MethodCallExpression.java
@@ -31,7 +31,6 @@
 import org.apache.camel.component.bean.MethodNotFoundException;
 import org.apache.camel.component.bean.RegistryBean;
 import org.apache.camel.language.bean.BeanExpression;
-import org.apache.camel.util.CamelContextHelper;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.OgnlHelper;
 
diff --git a/camel-core/src/main/java/org/apache/camel/processor/LogProcessor.java b/camel-core/src/main/java/org/apache/camel/processor/LogProcessor.java
index 8d7ef94..040ea89 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/LogProcessor.java
+++ b/camel-core/src/main/java/org/apache/camel/processor/LogProcessor.java
@@ -46,8 +46,10 @@
     @Override
     public boolean process(Exchange exchange, AsyncCallback callback) {
         try {
-            String msg = expression.evaluate(exchange, String.class);
-            logger.log(msg);
+            if (logger.shouldLog()) {
+                String msg = expression.evaluate(exchange, String.class);
+                logger.doLog(msg);
+            }
         } catch (Exception e) {
             exchange.setException(e);
         } finally {
diff --git a/camel-core/src/main/java/org/apache/camel/processor/Resequencer.java b/camel-core/src/main/java/org/apache/camel/processor/Resequencer.java
index ad538ce..16166cb 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/Resequencer.java
+++ b/camel-core/src/main/java/org/apache/camel/processor/Resequencer.java
@@ -17,7 +17,6 @@
 package org.apache.camel.processor;
 
 import java.util.Comparator;
-import java.util.List;
 import java.util.Set;
 import java.util.TreeSet;
 
@@ -27,7 +26,6 @@
 import org.apache.camel.Processor;
 import org.apache.camel.Traceable;
 import org.apache.camel.util.ExpressionComparator;
-import org.apache.camel.util.ExpressionListComparator;
 
 /**
  * An implementation of the <a href="http://camel.apache.org/resequencer.html">Resequencer</a>
diff --git a/camel-core/src/main/java/org/apache/camel/processor/interceptor/TraceInterceptor.java b/camel-core/src/main/java/org/apache/camel/processor/interceptor/TraceInterceptor.java
index 6bbef3d..1d81270 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/interceptor/TraceInterceptor.java
+++ b/camel-core/src/main/java/org/apache/camel/processor/interceptor/TraceInterceptor.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.processor.interceptor;
 
-import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
diff --git a/camel-core/src/main/java/org/apache/camel/processor/resequencer/ResequencerEngine.java b/camel-core/src/main/java/org/apache/camel/processor/resequencer/ResequencerEngine.java
index 2e95485..8565298 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/resequencer/ResequencerEngine.java
+++ b/camel-core/src/main/java/org/apache/camel/processor/resequencer/ResequencerEngine.java
@@ -18,7 +18,6 @@
 
 import java.util.Timer;
 
-import org.apache.camel.CamelExchangeException;
 import org.apache.camel.util.concurrent.ThreadHelper;
 
 /**
diff --git a/camel-core/src/main/java/org/apache/camel/spi/RouteContext.java b/camel-core/src/main/java/org/apache/camel/spi/RouteContext.java
index 9effb00..b4f44c6 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/RouteContext.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/RouteContext.java
@@ -97,7 +97,7 @@
     <T> Map<String, T> lookupByType(Class<T> type);
 
     /**
-     * Lets complete the route creation, creating a single event driven route
+     * For completing the route creation, creating a single event driven route
      * for the current from endpoint with any processors required
      */
     void commit();
diff --git a/camel-core/src/main/java/org/apache/camel/support/TokenPairExpressionIterator.java b/camel-core/src/main/java/org/apache/camel/support/TokenPairExpressionIterator.java
index 9e87e2a..66bb2ea 100644
--- a/camel-core/src/main/java/org/apache/camel/support/TokenPairExpressionIterator.java
+++ b/camel-core/src/main/java/org/apache/camel/support/TokenPairExpressionIterator.java
@@ -24,7 +24,6 @@
 
 import org.apache.camel.Exchange;
 import org.apache.camel.InvalidPayloadException;
-import org.apache.camel.Predicate;
 import org.apache.camel.util.IOHelper;
 import org.apache.camel.util.ObjectHelper;
 
diff --git a/camel-core/src/main/java/org/apache/camel/util/CamelLogger.java b/camel-core/src/main/java/org/apache/camel/util/CamelLogger.java
index 84d86a6..4a4fd37 100644
--- a/camel-core/src/main/java/org/apache/camel/util/CamelLogger.java
+++ b/camel-core/src/main/java/org/apache/camel/util/CamelLogger.java
@@ -79,13 +79,27 @@
         log(message);
         setLevel(oldLogLevel);
     }
-    
+
+    /**
+     * Logs the message <b>with</b> checking the {@link #shouldLog()} method first.
+     *
+     * @param message the message to log, if {@link #shouldLog()} returned <tt>true</tt>
+     */
     public void log(String message) {
         if (shouldLog(log, level)) {
             log(log, level, marker, message);
         }
     }
 
+    /**
+     * Logs the message <b>without</b> checking the {@link #shouldLog()} method first.
+     * 
+     * @param message the message to log
+     */
+    public void doLog(String message) {
+        log(log, level, marker, message);
+    }
+
     public void log(String message, Throwable exception, LoggingLevel loggingLevel) {
         log(log, loggingLevel, marker, message, exception);
     }   
diff --git a/camel-core/src/main/java/org/apache/camel/util/ExpressionComparator.java b/camel-core/src/main/java/org/apache/camel/util/ExpressionComparator.java
index cafabd7..669fe07 100644
--- a/camel-core/src/main/java/org/apache/camel/util/ExpressionComparator.java
+++ b/camel-core/src/main/java/org/apache/camel/util/ExpressionComparator.java
@@ -22,8 +22,8 @@
 import org.apache.camel.Expression;
 
 /**
- * An implementation of {@link Comparator} which takes an {@link Expression} which is evaluated
- * on each exchange to compare
+ * An implementation of {@link Comparator} that takes an {@link Expression} which is evaluated
+ * on each exchange to be compared
  *  
  * @version 
  */
diff --git a/camel-core/src/main/java/org/apache/camel/util/LRUSoftCache.java b/camel-core/src/main/java/org/apache/camel/util/LRUSoftCache.java
index 8fbad01..b9db85c 100644
--- a/camel-core/src/main/java/org/apache/camel/util/LRUSoftCache.java
+++ b/camel-core/src/main/java/org/apache/camel/util/LRUSoftCache.java
@@ -27,7 +27,7 @@
  * A Least Recently Used Cache which uses {@link SoftReference}.
  * <p/>
  * This implementation uses {@link java.lang.ref.SoftReference} for stored values in the cache, to support the JVM
- * when it wants to reclaim objects when its running out of memory. Therefore this implementation does
+ * when it wants to reclaim objects when it's running out of memory. Therefore this implementation does
  * not support <b>all</b> the {@link java.util.Map} methods.
  * <p/>
  * The following methods is <b>only</b> be be used:
diff --git a/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java b/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java
index 67fa27a..de86223 100644
--- a/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java
+++ b/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java
@@ -69,9 +69,9 @@
     }
 
     /**
-     * A helper method for comparing objects for equality in which it uses type coerce to coerce
-     * types between the left and right values. This allows you to equal test eg String and Integer as
-     * Camel will be able to coerce the types.
+     * A helper method for comparing objects for equality in which it uses type coercion to coerce
+     * types between the left and right values. This allows you test for equality for example with
+     * a String and Integer type as Camel will be able to coerce the types.
      */
     public static boolean typeCoerceEquals(TypeConverter converter, Object leftValue, Object rightValue) {
         // sanity check
@@ -108,18 +108,18 @@
     }
 
     /**
-     * A helper method for comparing objects for equality in which it uses type coerce to coerce
-     * types between the left and right values. This allows you to equal test eg String and Integer as
-     * Camel will be able to coerce the types
+     * A helper method for comparing objects for inequality in which it uses type coercion to coerce
+     * types between the left and right values.  This allows you test for inequality for example with
+     * a String and Integer type as Camel will be able to coerce the types.
      */
     public static boolean typeCoerceNotEquals(TypeConverter converter, Object leftValue, Object rightValue) {
         return !typeCoerceEquals(converter, leftValue, rightValue);
     }
 
     /**
-     * A helper method for comparing objects ordering in which it uses type coerce to coerce
-     * types between the left and right values. This allows you to equal test eg String and Integer as
-     * Camel will be able to coerce the types
+     * A helper method for comparing objects ordering in which it uses type coercion to coerce
+     * types between the left and right values.  This allows you test for ordering for example with
+     * a String and Integer type as Camel will be able to coerce the types.
      */
     @SuppressWarnings({"unchecked", "rawtypes"})
     public static int typeCoerceCompare(TypeConverter converter, Object leftValue, Object rightValue) {
@@ -1214,7 +1214,7 @@
     }
 
     /**
-     * Cleans the string to pure java identifier so we can use it for loading class names.
+     * Cleans the string to a pure Java identifier so we can use it for loading class names.
      * <p/>
      * Especially from Spring DSL people can have \n \t or other characters that otherwise
      * would result in ClassNotFoundException
diff --git a/camel-core/src/main/java/org/apache/camel/util/OgnlHelper.java b/camel-core/src/main/java/org/apache/camel/util/OgnlHelper.java
index f5d2e78..ed6ff6b 100644
--- a/camel-core/src/main/java/org/apache/camel/util/OgnlHelper.java
+++ b/camel-core/src/main/java/org/apache/camel/util/OgnlHelper.java
@@ -22,7 +22,7 @@
 import java.util.regex.Pattern;
 
 /**
- * Helper for Camel OGNL expressions.
+ * Helper for Camel OGNL (Object-Graph Navigation Language) expressions.
  *
  * @version 
  */
@@ -36,17 +36,17 @@
     /**
      * Tests whether or not the given String is a Camel OGNL expression.
      * <p/>
-     * Its consider Camel OGNL expression when it contains either one of the following chars: . or [
+     * An expression is considered an OGNL expression when it contains either one of the following chars: . or [
      *
      * @param expression  the String
-     * @return <tt>true</tt> if Camel OGNL expression, otherwise <tt>false</tt>. 
+     * @return <tt>true</tt> if a Camel OGNL expression, otherwise <tt>false</tt>. 
      */
     public static boolean isValidOgnlExpression(String expression) {
         if (ObjectHelper.isEmpty(expression)) {
             return false;
         }
 
-        // the brackets should come in pair
+        // the brackets should come in a pair
         int bracketBegin = StringHelper.countChar(expression, '[');
         int bracketEnd = StringHelper.countChar(expression, ']');
         if (bracketBegin > 0 && bracketEnd > 0) {
@@ -81,10 +81,10 @@
     }
 
     /**
-     * Tests whether or not the given Camel OGNL expression is using the elvis operator or not.
+     * Tests whether or not the given Camel OGNL expression is using the Elvis operator or not.
      *
      * @param ognlExpression the Camel OGNL expression
-     * @return <tt>true</tt> if the elvis operator is used, otherwise <tt>false</tt>.
+     * @return <tt>true</tt> if the Elvis operator is used, otherwise <tt>false</tt>.
      */
     public static boolean isNullSafeOperator(String ognlExpression) {
         if (ObjectHelper.isEmpty(ognlExpression)) {
@@ -163,7 +163,7 @@
     /**
      * Regular expression with repeating groups is a pain to get right
      * and then nobody understands the reg exp afterwards.
-     * So use a bit ugly/low-level java code to split the ognl into methods.
+     * So we use a bit ugly/low-level Java code to split the OGNL into methods.
      */
     public static List<String> splitOgnl(String ognl) {
         List<String> methods = new ArrayList<String>();
diff --git a/camel-core/src/main/java/org/apache/camel/util/PackageHelper.java b/camel-core/src/main/java/org/apache/camel/util/PackageHelper.java
index 17d6dec..e074635 100644
--- a/camel-core/src/main/java/org/apache/camel/util/PackageHelper.java
+++ b/camel-core/src/main/java/org/apache/camel/util/PackageHelper.java
@@ -34,12 +34,12 @@
     /**
      * Returns true if the version number of the given package name can be found and is greater than or equal to the minimum version.
      *
-     * For package names which include multiple dots, the dots are removed. So for example a spring version of 2.5.1 is converted to
-     * 2.51 so you can assert that its >= 2.51 (so above 2.50 and less than 2.52 etc).
+     * For package names which include multiple dots, dots after the leftmost are removed. So for example a spring version of 2.5.1 
+     * is converted to 2.51 so you can assert that it's >= 2.51 (so above 2.50 and less than 2.52 etc).
      *
      * @param packageName the Java package name to compare
      * @param minimumVersion the minimum version number
-     * @return true if the package name can be determined and if its greater than or equal to the minimum value
+     * @return true if the package name can be determined and if it's greater than or equal to the minimum value
      */
     public static boolean isValidVersion(String packageName, double minimumVersion) {
         try {
@@ -65,13 +65,13 @@
                         double number = Double.parseDouble(value);
                         return number >= minimumVersion;
                     } else {
-                        LOG.debug("Failed to find out version from package: " + packageName);
+                        LOG.debug("Could not determine version of package: " + packageName);
                     }
                 }
             }
         } catch (Exception e) {
             if (LOG.isDebugEnabled()) {
-                LOG.debug("Failed to find out version from package: " + packageName, e);
+                LOG.debug("Could not determine version of package: " + packageName, e);
             }
         }
 
diff --git a/camel-core/src/main/java/org/apache/camel/util/PredicateAssertHelper.java b/camel-core/src/main/java/org/apache/camel/util/PredicateAssertHelper.java
index 7305d8d..c68cfe8 100644
--- a/camel-core/src/main/java/org/apache/camel/util/PredicateAssertHelper.java
+++ b/camel-core/src/main/java/org/apache/camel/util/PredicateAssertHelper.java
@@ -36,7 +36,7 @@
         ObjectHelper.notNull(exchange, "exchange");
 
         if (predicate instanceof BinaryPredicate) {
-            // special for binary evaluable as we can get more detailed information
+            // with binary evaluations as we can get more detailed information
             BinaryPredicate eval = (BinaryPredicate) predicate;
             String evalText = eval.matchesReturningFailureMessage(exchange);
             if (evalText != null) {
diff --git a/camel-core/src/main/java/org/apache/camel/util/ResourceHelper.java b/camel-core/src/main/java/org/apache/camel/util/ResourceHelper.java
index fd0c7d9..3f969bb 100644
--- a/camel-core/src/main/java/org/apache/camel/util/ResourceHelper.java
+++ b/camel-core/src/main/java/org/apache/camel/util/ResourceHelper.java
@@ -29,7 +29,7 @@
 import org.apache.camel.spi.ClassResolver;
 
 /**
- * Helper for loading resources on the classpath or file system.
+ * Helper class for loading resources on the classpath or file system.
  */
 public final class ResourceHelper {
 
@@ -38,10 +38,10 @@
     }
 
     /**
-     * Determines whether the uri has a scheme (eg file:, classpath: or http:)
+     * Determines whether the URI has a scheme (e.g. file:, classpath: or http:)
      *
-     * @param uri the uri
-     * @return <tt>true</tt> if the uri starts with a scheme
+     * @param uri the URI
+     * @return <tt>true</tt> if the URI starts with a scheme
      */
     public static boolean hasScheme(String uri) {
         if (uri == null) {
@@ -54,12 +54,11 @@
     /**
      * Resolves the mandatory resource.
      * <p/>
-     * If possible prefer to use {@link #resolveMandatoryResourceAsUrl(org.apache.camel.spi.ClassResolver, String)}
-     * if possible.
+     * If possible recommended to use {@link #resolveMandatoryResourceAsUrl(org.apache.camel.spi.ClassResolver, String)}
      *
      * @param classResolver the class resolver to load the resource from the classpath
-     * @param uri uri of the resource
-     * @return the resource as an {@link InputStream}, remember to close the stream after usage.
+     * @param uri URI of the resource
+     * @return the resource as an {@link InputStream}.  Remember to close this stream after usage.
      * @throws java.io.IOException is thrown if the resource file could not be found or loaded as {@link InputStream}
      */
     public static InputStream resolveMandatoryResourceAsInputStream(ClassResolver classResolver, String uri) throws IOException {
@@ -98,9 +97,9 @@
      *
      * @param classResolver the class resolver to load the resource from the classpath
      * @param uri uri of the resource
-     * @return the resource as an {@link InputStream}, remember to close the stream after usage.
+     * @return the resource as an {@link InputStream}.  Remember to close this stream after usage.
      * @throws java.io.FileNotFoundException is thrown if the resource file could not be found
-     * @throws java.net.MalformedURLException if the uri is malformed
+     * @throws java.net.MalformedURLException if the URI is malformed
      */
     public static URL resolveMandatoryResourceAsUrl(ClassResolver classResolver, String uri) throws FileNotFoundException, MalformedURLException {
         if (uri.startsWith("file:")) {
diff --git a/camel-core/src/main/java/org/apache/camel/util/package.html b/camel-core/src/main/java/org/apache/camel/util/package.html
index 1822377..7ea868a 100644
--- a/camel-core/src/main/java/org/apache/camel/util/package.html
+++ b/camel-core/src/main/java/org/apache/camel/util/package.html
@@ -19,7 +19,7 @@
 </head>
 <body>
 
-Utility classes used by the core of Camel and useful for Camel component developers
+Utility classes used by the core of Camel.  Also useful for Camel component developers.
 
 </body>
 </html>
diff --git a/camel-core/src/main/java/org/apache/camel/view/NodeData.java b/camel-core/src/main/java/org/apache/camel/view/NodeData.java
index 8f8a093..ba29f66 100644
--- a/camel-core/src/main/java/org/apache/camel/view/NodeData.java
+++ b/camel-core/src/main/java/org/apache/camel/view/NodeData.java
@@ -171,7 +171,7 @@
     }
 
     /**
-     * Lets insert a space before each upper case letter after a lowercase
+     * Inserts a space before each upper case letter after a lowercase
      */
     public static String insertSpacesBetweenCamelCase(String name) {
         boolean lastCharacterLowerCase = false;
diff --git a/camel-core/src/test/java/org/apache/camel/component/file/GenericFileConverterTest.java b/camel-core/src/test/java/org/apache/camel/component/file/GenericFileConverterTest.java
index 2443927..7299d6f 100644
--- a/camel-core/src/test/java/org/apache/camel/component/file/GenericFileConverterTest.java
+++ b/camel-core/src/test/java/org/apache/camel/component/file/GenericFileConverterTest.java
@@ -18,7 +18,6 @@
 
 import java.io.BufferedInputStream;
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.InputStream;
 import java.io.Serializable;
 
diff --git a/camel-core/src/test/java/org/apache/camel/component/seda/SedaFromRouteIdTest.java b/camel-core/src/test/java/org/apache/camel/component/seda/SedaFromRouteIdTest.java
new file mode 100644
index 0000000..ba2295e
--- /dev/null
+++ b/camel-core/src/test/java/org/apache/camel/component/seda/SedaFromRouteIdTest.java
@@ -0,0 +1,58 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.seda;
+
+import org.apache.camel.ContextTestSupport;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+
+/**
+ *
+ */
+public class SedaFromRouteIdTest extends ContextTestSupport {
+    
+    public void testSedaFromRouteId() throws Exception {
+        MockEndpoint foo = getMockEndpoint("mock:foo");
+        foo.expectedMessageCount(1);
+
+        MockEndpoint bar = getMockEndpoint("mock:bar");
+        bar.expectedMessageCount(1);
+
+        template.sendBody("seda:foo", "Hello World");
+
+        assertMockEndpointsSatisfied();
+
+        assertEquals("foo", foo.getReceivedExchanges().get(0).getFromRouteId());
+        assertEquals("seda://foo", foo.getReceivedExchanges().get(0).getFromEndpoint().getEndpointUri());
+        assertEquals("bar", bar.getReceivedExchanges().get(0).getFromRouteId());
+        assertEquals("seda://bar", bar.getReceivedExchanges().get(0).getFromEndpoint().getEndpointUri());
+    }
+
+    @Override
+    protected RouteBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                from("seda:foo").routeId("foo")
+                    .to("mock:foo").to("seda:bar");
+                
+                from("seda:bar").routeId("bar")
+                    .to("mock:bar");
+            }
+        };
+    }
+}
diff --git a/camel-core/src/test/java/org/apache/camel/component/vm/VMSplitterTest.java b/camel-core/src/test/java/org/apache/camel/component/vm/VMSplitterTest.java
index 48f9a6c..36c55de 100644
--- a/camel-core/src/test/java/org/apache/camel/component/vm/VMSplitterTest.java
+++ b/camel-core/src/test/java/org/apache/camel/component/vm/VMSplitterTest.java
@@ -23,8 +23,6 @@
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.impl.JndiRegistry;
-import org.apache.camel.model.language.MethodCallExpression;
-import org.apache.camel.processor.SplitterMethodCallTest.SplitWordsBean;
 
 public class VMSplitterTest extends AbstractVmTestSupport {
     
diff --git a/camel-core/src/test/java/org/apache/camel/component/xslt/XsltFileNotFoundTest.java b/camel-core/src/test/java/org/apache/camel/component/xslt/XsltFileNotFoundTest.java
index 53eb58a..f57892d 100644
--- a/camel-core/src/test/java/org/apache/camel/component/xslt/XsltFileNotFoundTest.java
+++ b/camel-core/src/test/java/org/apache/camel/component/xslt/XsltFileNotFoundTest.java
@@ -17,8 +17,6 @@
 package org.apache.camel.component.xslt;
 
 import java.io.FileNotFoundException;
-import javax.xml.transform.TransformerConfigurationException;
-
 import org.apache.camel.CamelContext;
 import org.apache.camel.FailedToCreateRouteException;
 import org.apache.camel.ResolveEndpointFailedException;
diff --git a/camel-core/src/test/java/org/apache/camel/converter/IOConverterTest.java b/camel-core/src/test/java/org/apache/camel/converter/IOConverterTest.java
index 974f63a..c4adbda 100644
--- a/camel-core/src/test/java/org/apache/camel/converter/IOConverterTest.java
+++ b/camel-core/src/test/java/org/apache/camel/converter/IOConverterTest.java
@@ -103,6 +103,23 @@
 
         InputStream is = IOConverter.toInputStream("Hello World", exchange);
         assertNotNull(is);
+        assertEquals("Hello World", IOConverter.toString(is, exchange));
+    }
+    
+    public void testToInputStreamStringBufferAndBuilderExchange() throws Exception {
+        Exchange exchange = new DefaultExchange(context);
+        exchange.setProperty(Exchange.CHARSET_NAME, ObjectHelper.getDefaultCharacterSet());
+        StringBuffer buffer = new StringBuffer();
+        buffer.append("Hello World");
+        InputStream is = IOConverter.toInputStream(buffer, exchange);
+        assertNotNull(is);
+        assertEquals("Hello World", IOConverter.toString(is, exchange));
+        
+        StringBuilder builder = new StringBuilder();
+        builder.append("Hello World");
+        is = IOConverter.toInputStream(builder, exchange);
+        assertNotNull(is);
+        assertEquals("Hello World", IOConverter.toString(is, exchange));
     }
 
     public void testToInputStreamBufferReader() throws Exception {
diff --git a/camel-core/src/test/java/org/apache/camel/language/simple/SimpleParserPredicateTest.java b/camel-core/src/test/java/org/apache/camel/language/simple/SimpleParserPredicateTest.java
index abb604f..38cadd2 100644
--- a/camel-core/src/test/java/org/apache/camel/language/simple/SimpleParserPredicateTest.java
+++ b/camel-core/src/test/java/org/apache/camel/language/simple/SimpleParserPredicateTest.java
@@ -177,5 +177,13 @@
 
         assertTrue("Should match", pre.matches(exchange));
     }
+    
+    public void testSimpleExpressionPredicate() throws Exception {
+        exchange.getIn().setBody("Hello");
+        exchange.getIn().setHeader("number", "1234");
+        SimplePredicateParser parser = new SimplePredicateParser("${in.header.number} regex '\\d{4}'");
+        Predicate pre = parser.parsePredicate();
+        assertTrue("Should match", pre.matches(exchange));
+    }
 
 }
diff --git a/camel-core/src/test/java/org/apache/camel/language/simple/SimpleParserRegexpPredicateTest.java b/camel-core/src/test/java/org/apache/camel/language/simple/SimpleParserRegexpPredicateTest.java
index 97b0600..70a2afe 100644
--- a/camel-core/src/test/java/org/apache/camel/language/simple/SimpleParserRegexpPredicateTest.java
+++ b/camel-core/src/test/java/org/apache/camel/language/simple/SimpleParserRegexpPredicateTest.java
@@ -32,6 +32,9 @@
         Predicate pre = parser.parsePredicate();
 
         assertTrue(pre.matches(exchange));
+        
+        exchange.getIn().setBody("12.2a.22ab");
+        assertFalse(pre.matches(exchange));
     }
 
 }
diff --git a/camel-core/src/test/java/org/apache/camel/processor/LogProcessorTest.java b/camel-core/src/test/java/org/apache/camel/processor/LogProcessorTest.java
index a229460..4d2fb01 100644
--- a/camel-core/src/test/java/org/apache/camel/processor/LogProcessorTest.java
+++ b/camel-core/src/test/java/org/apache/camel/processor/LogProcessorTest.java
@@ -57,6 +57,14 @@
         assertMockEndpointsSatisfied();
     }
 
+    public void testNoLog() throws Exception {
+        getMockEndpoint("mock:bar").expectedMessageCount(1);
+
+        template.sendBody("direct:nolog", "Hi World");
+
+        assertMockEndpointsSatisfied();
+    }
+
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
@@ -71,6 +79,8 @@
                 from("direct:wombat").routeId("wombat")
                     .log(LoggingLevel.INFO, "cool", "mymarker", "Me got ${body}")
                     .to("mock:wombat");
+
+                from("direct:nolog").routeId("nolog").log(LoggingLevel.TRACE, "Should not log ${body}").to("mock:bar");
             }
         };
     }
diff --git a/camel-core/src/test/java/org/apache/camel/processor/SplitterPropertyContinuedTest.java b/camel-core/src/test/java/org/apache/camel/processor/SplitterPropertyContinuedTest.java
new file mode 100644
index 0000000..5c2935d
--- /dev/null
+++ b/camel-core/src/test/java/org/apache/camel/processor/SplitterPropertyContinuedTest.java
@@ -0,0 +1,68 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.processor;
+
+import org.apache.camel.ContextTestSupport;
+import org.apache.camel.builder.RouteBuilder;
+
+/**
+ *
+ */
+public class SplitterPropertyContinuedTest extends ContextTestSupport {
+    
+    public void testSplitterPropertyContinued() throws Exception {
+        getMockEndpoint("mock:end").expectedBodiesReceived("A,Kaboom,B,C");
+        getMockEndpoint("mock:end").message(0).property("errorCode").isNull();
+        getMockEndpoint("mock:error").expectedBodiesReceived("Kaboom");
+        getMockEndpoint("mock:error").message(0).property("errorCode").isEqualTo("ERR-1");
+        getMockEndpoint("mock:split").expectedBodiesReceived("A", "B", "C");
+        getMockEndpoint("mock:split").allMessages().property("errorCode").isNull();
+        
+        template.sendBody("direct:start", "A,Kaboom,B,C");
+        
+        assertMockEndpointsSatisfied();
+    }
+
+    @Override
+    protected RouteBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                onException(Exception.class)
+                    .continued(true)
+                    .setProperty("errorCode", constant("ERR-1"));
+
+                from("direct:start")
+                    .split(body())
+                        .log("Step #1 - Body: ${body} with error code: ${property.errorCode}")
+                        .choice()
+                            .when(body().contains("Kaboom"))
+                                .throwException(new IllegalArgumentException("Damn"))
+                        .end()
+                        .log("Step #2 - Body: ${body} with error code: ${property.errorCode}")
+                        .choice()
+                            .when(simple("${property.errorCode} != null"))
+                                .to("mock:error")
+                            .otherwise()
+                                .to("mock:split")
+                        .end()
+                    .end()
+                    .to("mock:end");
+            }
+        };
+    }
+}
diff --git a/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateForceCompletionHeaderTest.java b/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateForceCompletionHeaderTest.java
index d7948ec..9545b40 100644
--- a/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateForceCompletionHeaderTest.java
+++ b/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateForceCompletionHeaderTest.java
@@ -19,7 +19,6 @@
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.processor.BodyInAggregatingStrategy;
 import org.apache.camel.processor.aggregate.AggregationStrategy;
 import org.junit.Test;
 
diff --git a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcEndpoint.java b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcEndpoint.java
index 6e8c476..18ea725 100644
--- a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcEndpoint.java
+++ b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcEndpoint.java
@@ -26,7 +26,6 @@
 import org.apache.camel.impl.DefaultEndpoint;
 import org.apache.camel.spi.HeaderFilterStrategy;
 import org.apache.camel.spi.HeaderFilterStrategyAware;
-import org.apache.camel.util.IOHelper;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.jsse.SSLContextParameters;
 
diff --git a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/DefaultAhcBinding.java b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/DefaultAhcBinding.java
index 0dbd832..331fe7b 100644
--- a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/DefaultAhcBinding.java
+++ b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/DefaultAhcBinding.java
@@ -40,7 +40,6 @@
 import org.apache.camel.Message;
 import org.apache.camel.component.ahc.helper.AhcHelper;
 import org.apache.camel.component.file.GenericFile;
-import org.apache.camel.converter.IOConverter;
 import org.apache.camel.spi.HeaderFilterStrategy;
 import org.apache.camel.util.ExchangeHelper;
 import org.apache.camel.util.GZIPHelper;
diff --git a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/helper/AhcHelper.java b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/helper/AhcHelper.java
index bdc1164..9439d1f 100644
--- a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/helper/AhcHelper.java
+++ b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/helper/AhcHelper.java
@@ -28,7 +28,6 @@
 import org.apache.camel.Exchange;
 import org.apache.camel.RuntimeExchangeException;
 import org.apache.camel.component.ahc.AhcEndpoint;
-import org.apache.camel.converter.IOConverter;
 import org.apache.camel.util.IOHelper;
 import org.apache.camel.util.URISupport;
 
diff --git a/components/camel-amqp/src/main/java/org/apache/camel/component/amqp/AMQPComponent.java b/components/camel-amqp/src/main/java/org/apache/camel/component/amqp/AMQPComponent.java
index 4c8d38e..ec0cdd7 100644
--- a/components/camel-amqp/src/main/java/org/apache/camel/component/amqp/AMQPComponent.java
+++ b/components/camel-amqp/src/main/java/org/apache/camel/component/amqp/AMQPComponent.java
@@ -24,6 +24,8 @@
 import org.apache.qpid.url.URLSyntaxException;
 
 /**
+ * This component supports the AMQP protocol using the Client API of the Apache Qpid project.
+ * 
  * @version 
  */
 public class AMQPComponent extends JmsComponent {
@@ -52,7 +54,7 @@
     }
 
     /**
-     * Lets install the default connection factory
+     * Let's install the default connection factory
      */
     private void init() {
         AMQConnectionFactory connectionFactory = new AMQConnectionFactory();
diff --git a/components/camel-amqp/src/test/java/org/apache/camel/component/amqp/AMQPRouteTest.java b/components/camel-amqp/src/test/java/org/apache/camel/component/amqp/AMQPRouteTest.java
index 5feec67..ba5bf6b 100644
--- a/components/camel-amqp/src/test/java/org/apache/camel/component/amqp/AMQPRouteTest.java
+++ b/components/camel-amqp/src/test/java/org/apache/camel/component/amqp/AMQPRouteTest.java
@@ -39,7 +39,7 @@
     
     @BeforeClass
     public static void startBroker() throws Exception {
-        // lets create an in JVM broker
+        // create an in-JVM broker
         try {
             TransportConnection.createVMBroker(1);
         } catch (Exception e) {
diff --git a/components/camel-apns/src/test/java/org/apache/camel/component/apns/util/ApnsUtils.java b/components/camel-apns/src/test/java/org/apache/camel/component/apns/util/ApnsUtils.java
index c0bceea..654820b 100644
--- a/components/camel-apns/src/test/java/org/apache/camel/component/apns/util/ApnsUtils.java
+++ b/components/camel-apns/src/test/java/org/apache/camel/component/apns/util/ApnsUtils.java
@@ -29,7 +29,6 @@
 
 import javax.net.ssl.SSLContext;
 import javax.net.ssl.TrustManager;
-import javax.net.ssl.TrustManagerFactory;
 import javax.net.ssl.X509TrustManager;
 
 import com.notnoop.apns.internal.ApnsFeedbackParsingUtilsAcessor;
diff --git a/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEntryPollingConsumer.java b/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEntryPollingConsumer.java
index 571d8e3..ea13395 100644
--- a/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEntryPollingConsumer.java
+++ b/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEntryPollingConsumer.java
@@ -34,7 +34,6 @@
  * @version 
  */
 public class AtomEntryPollingConsumer extends FeedEntryPollingConsumer {
-    private static final transient Logger LOG = LoggerFactory.getLogger(AtomEntryPollingConsumer.class);
     private Document<Feed> document;
 
     public AtomEntryPollingConsumer(AtomEndpoint endpoint, Processor processor, boolean filter, Date lastUpdate, boolean throttleEntries) {
diff --git a/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomPollingConsumer.java b/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomPollingConsumer.java
index 2f4af2a..d875839 100644
--- a/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomPollingConsumer.java
+++ b/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomPollingConsumer.java
@@ -31,7 +31,6 @@
  * @version 
  */
 public class AtomPollingConsumer extends FeedPollingConsumer {
-    private static final transient Logger LOG = LoggerFactory.getLogger(AtomPollingConsumer.class);
 
     public AtomPollingConsumer(AtomEndpoint endpoint, Processor processor) {
         super(endpoint, processor);
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Component.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Component.java
index 90d2b9f..9c6a253 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Component.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Component.java
@@ -48,7 +48,7 @@
             throw new IllegalArgumentException("AmazonS3Client or accessKey and secretKey must be specified");
         }
 
-        S3Endpoint endpoint = new S3Endpoint(uri, getCamelContext(), configuration);
+        S3Endpoint endpoint = new S3Endpoint(uri, this, configuration);
         return endpoint;
     }
 }
\ No newline at end of file
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
index 93dcef7..459ae74 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
@@ -26,6 +26,7 @@
 import com.amazonaws.services.s3.model.S3Object;
 
 import org.apache.camel.CamelContext;
+import org.apache.camel.Component;
 import org.apache.camel.Consumer;
 import org.apache.camel.Exchange;
 import org.apache.camel.ExchangePattern;
@@ -49,10 +50,15 @@
     private S3Configuration configuration;
     private int maxMessagesPerPoll = 10;
     
+    @Deprecated
     public S3Endpoint(String uri, CamelContext context, S3Configuration configuration) {
         super(uri, context);
         this.configuration = configuration;
     }
+    public S3Endpoint(String uri, Component comp, S3Configuration configuration) {
+        super(uri, comp);
+        this.configuration = configuration;
+    }
 
     public Consumer createConsumer(Processor processor) throws Exception {
         S3Consumer s3Consumer = new S3Consumer(this, processor);
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbComponent.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbComponent.java
index f6eef85..26d47bd 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbComponent.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbComponent.java
@@ -48,7 +48,7 @@
             throw new IllegalArgumentException("amazonSDBClient or accessKey and secretKey must be specified");
         }
 
-        SdbEndpoint endpoint = new SdbEndpoint(uri, getCamelContext(), configuration);
+        SdbEndpoint endpoint = new SdbEndpoint(uri, this, configuration);
         return endpoint;
     }
 }
\ No newline at end of file
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbEndpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbEndpoint.java
index 2ceda81..03414ac 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbEndpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbEndpoint.java
@@ -24,6 +24,7 @@
 import com.amazonaws.services.simpledb.model.DomainMetadataRequest;
 import com.amazonaws.services.simpledb.model.NoSuchDomainException;
 import org.apache.camel.CamelContext;
+import org.apache.camel.Component;
 import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
@@ -41,10 +42,15 @@
     private static final Logger LOG = LoggerFactory.getLogger(S3Endpoint.class);
     private SdbConfiguration configuration;
 
+    @Deprecated
     public SdbEndpoint(String uri, CamelContext context, SdbConfiguration configuration) {
         super(uri, context);
         this.configuration = configuration;
     }
+    public SdbEndpoint(String uri, Component component, SdbConfiguration configuration) {
+        super(uri, component);
+        this.configuration = configuration;
+    }
 
     public Consumer createConsumer(Processor processor) throws Exception {
         throw new UnsupportedOperationException("You cannot receive messages from this endpoint");
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesComponent.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesComponent.java
index cbc717f..b1b9da0 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesComponent.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesComponent.java
@@ -48,6 +48,6 @@
             throw new IllegalArgumentException("AmazonSESClient or accessKey and secretKey must be specified");
         }
 
-        return new SesEndpoint(uri, getCamelContext(), configuration);
+        return new SesEndpoint(uri, this, configuration);
     }
 }
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesEndpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesEndpoint.java
index 08299b1..750b715 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesEndpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesEndpoint.java
@@ -21,6 +21,7 @@
 import com.amazonaws.services.simpleemail.AmazonSimpleEmailService;
 import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClient;
 import org.apache.camel.CamelContext;
+import org.apache.camel.Component;
 import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
@@ -34,10 +35,15 @@
     
     private SesConfiguration configuration;
 
+    @Deprecated
     public SesEndpoint(String uri, CamelContext context, SesConfiguration configuration) {
         super(uri, context);
         this.configuration = configuration;
     }
+    public SesEndpoint(String uri, Component component, SesConfiguration configuration) {
+        super(uri, component);
+        this.configuration = configuration;
+    }
 
     public Consumer createConsumer(Processor processor) throws Exception {
         throw new UnsupportedOperationException("You cannot receive messages from this endpoint");
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sns/SnsComponent.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sns/SnsComponent.java
index e727900..c2b32a4 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sns/SnsComponent.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sns/SnsComponent.java
@@ -48,7 +48,7 @@
             throw new IllegalArgumentException("AmazonSNSClient or accessKey and secretKey must be specified");
         }
 
-        SnsEndpoint endpoint = new SnsEndpoint(uri, getCamelContext(), configuration);
+        SnsEndpoint endpoint = new SnsEndpoint(uri, this, configuration);
         return endpoint;
     }
 }
\ No newline at end of file
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sns/SnsEndpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sns/SnsEndpoint.java
index 2042a47..d80a591 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sns/SnsEndpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sns/SnsEndpoint.java
@@ -24,6 +24,7 @@
 import com.amazonaws.services.sns.model.SetTopicAttributesRequest;
 
 import org.apache.camel.CamelContext;
+import org.apache.camel.Component;
 import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
@@ -41,11 +42,16 @@
 
     private SnsConfiguration configuration;
     private AmazonSNSClient snsClient;
-    
+
+    @Deprecated
     public SnsEndpoint(String uri, CamelContext context, SnsConfiguration configuration) {
         super(uri, context);
         this.configuration = configuration;
     }
+    public SnsEndpoint(String uri, Component component, SnsConfiguration configuration) {
+        super(uri, component);
+        this.configuration = configuration;
+    }
 
     public Consumer createConsumer(Processor processor) throws Exception {
         throw new UnsupportedOperationException("You cannot receive messages from this endpoint");
diff --git a/components/camel-bam/src/main/java/org/apache/camel/bam/ProcessBuilder.java b/components/camel-bam/src/main/java/org/apache/camel/bam/ProcessBuilder.java
index 09ed9ec..8d8ec0f 100644
--- a/components/camel-bam/src/main/java/org/apache/camel/bam/ProcessBuilder.java
+++ b/components/camel-bam/src/main/java/org/apache/camel/bam/ProcessBuilder.java
@@ -29,20 +29,15 @@
 import org.apache.camel.bam.model.ProcessInstance;
 import org.apache.camel.bam.processor.ActivityMonitorEngine;
 import org.apache.camel.bam.processor.JpaBamProcessor;
-import org.apache.camel.bam.processor.JpaBamProcessorSupport;
 import org.apache.camel.bam.rules.ProcessRules;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.util.CastUtils;
 import org.apache.camel.util.ObjectHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.springframework.orm.jpa.JpaTemplate;
 import org.springframework.transaction.TransactionStatus;
 import org.springframework.transaction.support.TransactionCallbackWithoutResult;
 import org.springframework.transaction.support.TransactionTemplate;
-import org.springframework.util.ClassUtils;
-
 import static org.apache.camel.util.ObjectHelper.notNull;
 
 /**
@@ -157,7 +152,7 @@
         ObjectHelper.notNull(getJpaTemplate(), "jpaTemplate", this);
         ObjectHelper.notNull(getTransactionTemplate(), "transactionTemplate", this);
 
-        // lets add the monitoring service - should there be an easier way??
+        // add the monitoring service - should there be an easier way??
         if (engine == null) {
             engine = new ActivityMonitorEngine(getJpaTemplate(), getTransactionTemplate(), getProcessRules());
         }
@@ -167,7 +162,7 @@
             defaultCamelContext.addService(engine);
         }
 
-        // lets create the routes for the activites
+        // create the routes for the activities
         for (ActivityBuilder builder : activityBuilders) {
             from(builder.getEndpoint()).process(builder.getProcessor());
         }
diff --git a/components/camel-bam/src/main/java/org/apache/camel/bam/model/ActivityDefinition.java b/components/camel-bam/src/main/java/org/apache/camel/bam/model/ActivityDefinition.java
index 4a7e29a..00141d5 100644
--- a/components/camel-bam/src/main/java/org/apache/camel/bam/model/ActivityDefinition.java
+++ b/components/camel-bam/src/main/java/org/apache/camel/bam/model/ActivityDefinition.java
@@ -20,11 +20,8 @@
 import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
 import javax.persistence.ManyToOne;
 import javax.persistence.Table;
-import javax.persistence.UniqueConstraint;
 
 /**
  * @version 
diff --git a/components/camel-bam/src/main/java/org/apache/camel/bam/model/ActivityState.java b/components/camel-bam/src/main/java/org/apache/camel/bam/model/ActivityState.java
index db805f1..e26ca5d 100644
--- a/components/camel-bam/src/main/java/org/apache/camel/bam/model/ActivityState.java
+++ b/components/camel-bam/src/main/java/org/apache/camel/bam/model/ActivityState.java
@@ -21,8 +21,6 @@
 import javax.persistence.CascadeType;
 import javax.persistence.Entity;
 import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
 import javax.persistence.ManyToOne;
 import javax.persistence.Table;
 import javax.persistence.Temporal;
diff --git a/components/camel-bam/src/main/java/org/apache/camel/bam/model/ProcessDefinition.java b/components/camel-bam/src/main/java/org/apache/camel/bam/model/ProcessDefinition.java
index c2a8fef..398a580 100644
--- a/components/camel-bam/src/main/java/org/apache/camel/bam/model/ProcessDefinition.java
+++ b/components/camel-bam/src/main/java/org/apache/camel/bam/model/ProcessDefinition.java
@@ -22,11 +22,7 @@
 
 import javax.persistence.Column;
 import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
 import javax.persistence.Table;
-import javax.persistence.UniqueConstraint;
-
 import org.apache.camel.bam.QueryUtils;
 import org.apache.camel.util.CastUtils;
 import org.apache.camel.util.ObjectHelper;
diff --git a/components/camel-bam/src/main/java/org/apache/camel/bam/processor/ActivityMonitorEngine.java b/components/camel-bam/src/main/java/org/apache/camel/bam/processor/ActivityMonitorEngine.java
index ed42414..fafac9f 100644
--- a/components/camel-bam/src/main/java/org/apache/camel/bam/processor/ActivityMonitorEngine.java
+++ b/components/camel-bam/src/main/java/org/apache/camel/bam/processor/ActivityMonitorEngine.java
@@ -109,7 +109,7 @@
 
         template.execute(new JpaCallback() {
             public Object doInJpa(EntityManager entityManager) throws PersistenceException {
-                // lets try lock the object first
+                // let's try locking the object first
                 if (isUseLocking()) {
                     LOG.info("Attempting to lock: " + activityState);
                     entityManager.lock(activityState, LockModeType.WRITE);
diff --git a/components/camel-bam/src/main/java/org/apache/camel/bam/processor/JpaBamProcessor.java b/components/camel-bam/src/main/java/org/apache/camel/bam/processor/JpaBamProcessor.java
index ff3f519..b5f3a23 100644
--- a/components/camel-bam/src/main/java/org/apache/camel/bam/processor/JpaBamProcessor.java
+++ b/components/camel-bam/src/main/java/org/apache/camel/bam/processor/JpaBamProcessor.java
@@ -49,7 +49,7 @@
     protected void processEntity(Exchange exchange, ProcessInstance process) throws Exception {
         LOG.debug("Processing process instance: {}", process);
 
-        // lets force the lazy creation of this activity
+        // force the lazy creation of this activity
         ActivityRules rules = getActivityRules();
         ActivityState state = process.getOrCreateActivityState(rules);
 
diff --git a/components/camel-bam/src/main/java/org/apache/camel/bam/rules/ActivityRules.java b/components/camel-bam/src/main/java/org/apache/camel/bam/rules/ActivityRules.java
index 1530031..d6c1a46 100644
--- a/components/camel-bam/src/main/java/org/apache/camel/bam/rules/ActivityRules.java
+++ b/components/camel-bam/src/main/java/org/apache/camel/bam/rules/ActivityRules.java
@@ -68,7 +68,7 @@
     //-------------------------------------------------------------------------
 
     public ActivityDefinition getActivityDefinition() {
-        // lets always query for it, to avoid issues with refreshing before a commit etc
+        // let's always query for it, to avoid issues with refreshing before a commit etc
         return builder.findOrCreateActivityDefinition(activityName);
     }
 
diff --git a/components/camel-bam/src/main/java/org/apache/camel/bam/rules/TemporalRule.java b/components/camel-bam/src/main/java/org/apache/camel/bam/rules/TemporalRule.java
index 4c058d7..0e182bb 100644
--- a/components/camel-bam/src/main/java/org/apache/camel/bam/rules/TemporalRule.java
+++ b/components/camel-bam/src/main/java/org/apache/camel/bam/rules/TemporalRule.java
@@ -104,7 +104,7 @@
         // TODO now we might need to set the second activity state
         // to 'grey' to indicate it now could happen?
 
-        // lets force the lazy creation of the second state
+        // let's force the lazy creation of the second state
         ActivityState secondState = second.getOrCreateActivityState(instance);
         if (expectedMillis > 0L) {
             Date expected = secondState.getTimeExpected();
diff --git a/components/camel-bam/src/test/java/org/apache/camel/bam/BamRouteTest.java b/components/camel-bam/src/test/java/org/apache/camel/bam/BamRouteTest.java
index ff1cb17..6d54d91 100644
--- a/components/camel-bam/src/test/java/org/apache/camel/bam/BamRouteTest.java
+++ b/components/camel-bam/src/test/java/org/apache/camel/bam/BamRouteTest.java
@@ -29,7 +29,6 @@
 import org.springframework.orm.jpa.JpaTemplate;
 import org.springframework.transaction.support.TransactionTemplate;
 
-import static org.apache.camel.builder.xml.XPathBuilder.xpath;
 import static org.apache.camel.util.Time.seconds;
 
 /**
@@ -74,14 +73,14 @@
         return new ProcessBuilder(jpaTemplate, transactionTemplate) {
             public void configure() throws Exception {
 
-                // lets define some activities, correlating on an XPath on the message bodies
+                // let's define some activities, correlating on an XPath on the message bodies
                 ActivityBuilder a = activity("seda:a").name("a")
                         .correlate(xpath("/hello/@id"));
 
                 ActivityBuilder b = activity("seda:b").name("b")
                         .correlate(xpath("/hello/@id"));
 
-                // now lets add some rules
+                // now let's add some rules
                 b.starts().after(a.completes())
                         .expectWithin(seconds(1))
                         .errorIfOver(seconds(errorTimeout)).to("mock:overdue");
diff --git a/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyAbstractDataFormat.java b/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyAbstractDataFormat.java
index 0bb403c..10b019b 100644
--- a/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyAbstractDataFormat.java
+++ b/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/BindyAbstractDataFormat.java
@@ -16,13 +16,8 @@
  */
 package org.apache.camel.dataformat.bindy;
 
-import java.util.Locale;
-
-import org.apache.camel.dataformat.bindy.kvp.BindyKeyValuePairDataFormat;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.PackageScanClassResolver;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 public abstract class BindyAbstractDataFormat implements DataFormat {
     private String[] packages;
diff --git a/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/DatePatternFormat.java b/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/DatePatternFormat.java
index cc16e1b..14cb508 100755
--- a/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/DatePatternFormat.java
+++ b/components/camel-bindy/src/main/java/org/apache/camel/dataformat/bindy/format/DatePatternFormat.java
@@ -23,8 +23,6 @@
 
 import org.apache.camel.dataformat.bindy.PatternFormat;
 import org.apache.camel.util.ObjectHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 public class DatePatternFormat implements PatternFormat<Date> {
 
diff --git a/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindyDoubleQuotesCsvUnmarshallTest.java b/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindyDoubleQuotesCsvUnmarshallTest.java
index 58039f3..c855492 100644
--- a/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindyDoubleQuotesCsvUnmarshallTest.java
+++ b/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/csv/BindyDoubleQuotesCsvUnmarshallTest.java
@@ -27,8 +27,6 @@
 import org.apache.camel.dataformat.bindy.annotation.CsvRecord;
 import org.apache.camel.dataformat.bindy.annotation.DataField;
 import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.springframework.test.annotation.DirtiesContext;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
diff --git a/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/fix/BindySimpleKeyValuePairMarshallDslTest.java b/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/fix/BindySimpleKeyValuePairMarshallDslTest.java
index c44cb83..c5cbe08 100644
--- a/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/fix/BindySimpleKeyValuePairMarshallDslTest.java
+++ b/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/fix/BindySimpleKeyValuePairMarshallDslTest.java
@@ -26,9 +26,7 @@
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.dataformat.bindy.model.fix.simple.Header;
 import org.apache.camel.dataformat.bindy.model.fix.simple.Order;
-import org.apache.camel.dataformat.bindy.model.fix.simple.Trailer;
 import org.apache.camel.model.dataformat.BindyType;
 import org.junit.Test;
 import org.springframework.test.context.ContextConfiguration;
diff --git a/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/fixed/marshall/simple/BindySimpleFixedLengthMarshallTest.java b/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/fixed/marshall/simple/BindySimpleFixedLengthMarshallTest.java
index 4526ca0..59ef359 100644
--- a/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/fixed/marshall/simple/BindySimpleFixedLengthMarshallTest.java
+++ b/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/fixed/marshall/simple/BindySimpleFixedLengthMarshallTest.java
@@ -33,8 +33,6 @@
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.dataformat.bindy.annotation.DataField;
 import org.apache.camel.dataformat.bindy.annotation.FixedLengthRecord;
-import org.apache.camel.dataformat.bindy.fixed.BindyFixedLengthDataFormat;
-import org.apache.camel.dataformat.bindy.model.simple.oneclass.Order;
 import org.apache.camel.model.dataformat.BindyType;
 import org.apache.camel.processor.interceptor.Tracer;
 import org.junit.Test;
diff --git a/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/model/fix/complex/onetomany/Security.java b/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/model/fix/complex/onetomany/Security.java
index cb02a2b..36b63e3 100644
--- a/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/model/fix/complex/onetomany/Security.java
+++ b/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/model/fix/complex/onetomany/Security.java
@@ -17,7 +17,6 @@
 package org.apache.camel.dataformat.bindy.model.fix.complex.onetomany;
 
 import org.apache.camel.dataformat.bindy.annotation.KeyValuePairField;
-import org.apache.camel.dataformat.bindy.annotation.Message;
 
 // @Message(keyValuePairSeparator = "=", pairSeparator = "\\u0001", type = "FIX", version = "4.1")
 public class Security {
diff --git a/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/model/fix/withoutsection/Order.java b/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/model/fix/withoutsection/Order.java
index 970f69b..2b13244 100644
--- a/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/model/fix/withoutsection/Order.java
+++ b/components/camel-bindy/src/test/java/org/apache/camel/dataformat/bindy/model/fix/withoutsection/Order.java
@@ -17,7 +17,6 @@
 package org.apache.camel.dataformat.bindy.model.fix.withoutsection;
 
 import org.apache.camel.dataformat.bindy.annotation.KeyValuePairField;
-import org.apache.camel.dataformat.bindy.annotation.Link;
 import org.apache.camel.dataformat.bindy.annotation.Message;
 
 // No section has been defined
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintComponentResolver.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintComponentResolver.java
index fb6a59f..9e4a474 100644
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintComponentResolver.java
+++ b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintComponentResolver.java
@@ -41,7 +41,7 @@
                 LOG.debug("Found component: {} in registry: {}", name, bean);
                 return (Component) bean;
             } else {
-                // lets use Camel's type conversion mechanism to convert things like CamelContext
+                // let's use Camel's type conversion mechanism to convert things like CamelContext
                 // and other types into a valid Component
                 Component component = CamelContextHelper.convertTo(context, Component.class, bean);
                 if (component != null) {
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/PackageScanRouteBuilderFinder.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/PackageScanRouteBuilderFinder.java
index 509747d..cea6f59 100644
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/PackageScanRouteBuilderFinder.java
+++ b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/PackageScanRouteBuilderFinder.java
@@ -82,7 +82,7 @@
     }
 
     /**
-     * Lets ignore beans that are explicitly configured in the Spring XML files
+     * Allows for ignoring beans that are explicitly configured in the Spring XML files
      */
     protected boolean shouldIgnoreBean(Class<?> type) {
         for (Object metadataObject : blueprintContainer.getMetadata(BeanMetadata.class)) {
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/handler/CamelNamespaceHandler.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/handler/CamelNamespaceHandler.java
index 3e855be..843a289 100644
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/handler/CamelNamespaceHandler.java
+++ b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/handler/CamelNamespaceHandler.java
@@ -155,7 +155,7 @@
         String contextId = element.getAttribute("id");
         boolean implicitId = false;
 
-        // lets avoid folks having to explicitly give an ID to a camel context
+        // let's avoid folks having to explicitly give an ID to a camel context
         if (ObjectHelper.isEmpty(contextId)) {
             // if no explicit id was set then use a default auto generated name
             CamelContextNameStrategy strategy = new DefaultCamelContextNameStrategy();
@@ -164,7 +164,7 @@
             implicitId = true;
         }
 
-        // now lets parse the routes with JAXB
+        // now let's parse the routes with JAXB
         Binder<Node> binder;
         try {
             binder = getJaxbContext().createBinder();
@@ -237,7 +237,7 @@
     }
 
     private Metadata parseRouteContextNode(Element element, ParserContext context) {
-        // now lets parse the routes with JAXB
+        // now parse the routes with JAXB
         Binder<Node> binder;
         try {
             binder = getJaxbContext().createBinder();
@@ -271,7 +271,7 @@
     }
 
     private Metadata parseKeyStoreParametersNode(Element element, ParserContext context) {
-        // now lets parse the key store parameters with JAXB
+        // now parse the key store parameters with JAXB
         Binder<Node> binder;
         try {
             binder = getJaxbContext().createBinder();
@@ -305,7 +305,7 @@
     }
 
     private Metadata parseSecureRandomParametersNode(Element element, ParserContext context) {
-        // now lets parse the key store parameters with JAXB
+        // now parse the key store parameters with JAXB
         Binder<Node> binder;
         try {
             binder = getJaxbContext().createBinder();
@@ -339,7 +339,7 @@
     }
 
     private Metadata parseSSLContextParametersNode(Element element, ParserContext context) {
-        // now lets parse the key store parameters with JAXB
+        // now parse the key store parameters with JAXB
         Binder<Node> binder;
         try {
             binder = getJaxbContext().createBinder();
diff --git a/components/camel-cache/src/main/java/org/apache/camel/component/cache/FileCacheManagerFactory.java b/components/camel-cache/src/main/java/org/apache/camel/component/cache/FileCacheManagerFactory.java
new file mode 100644
index 0000000..623619c
--- /dev/null
+++ b/components/camel-cache/src/main/java/org/apache/camel/component/cache/FileCacheManagerFactory.java
@@ -0,0 +1,45 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.cache;
+
+import java.io.FileInputStream;
+
+import net.sf.ehcache.CacheManager;
+
+import org.apache.camel.RuntimeCamelException;
+
+public class FileCacheManagerFactory extends CacheManagerFactory {
+    private String fileName;
+    
+    public FileCacheManagerFactory(String name) {
+        fileName = name;
+    }
+    
+    public void setFileName(String name) {
+        fileName = name;
+    }
+    
+    @Override
+    protected CacheManager createCacheManagerInstance() {
+        try {
+            return CacheManager.create(new FileInputStream(fileName));
+        } catch (Exception exception) {
+            throw new RuntimeCamelException(exception);
+        }
+    }
+
+}
diff --git a/components/camel-cache/src/test/java/org/apache/camel/component/cache/CacheManagerFactoryRefTest.java b/components/camel-cache/src/test/java/org/apache/camel/component/cache/CacheManagerFactoryRefTest.java
index 6fa2a9d..8e6bfd9 100644
--- a/components/camel-cache/src/test/java/org/apache/camel/component/cache/CacheManagerFactoryRefTest.java
+++ b/components/camel-cache/src/test/java/org/apache/camel/component/cache/CacheManagerFactoryRefTest.java
@@ -38,11 +38,12 @@
     @Produce(uri = "direct:start")
     protected ProducerTemplate producerTemplate;
 
-    private CacheManagerFactory testingCacheManagerFactory = new TestingCacheManagerFactory();
+    protected CacheManagerFactory testingCacheManagerFactory;
 
     @Override
     protected JndiRegistry createRegistry() throws Exception {
         JndiRegistry jndi = super.createRegistry();
+        testingCacheManagerFactory = new TestingCacheManagerFactory();
         jndi.bind("testCacheManagerFactory", testingCacheManagerFactory);
         return jndi;
     }
diff --git a/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/HelloService.java b/components/camel-cache/src/test/java/org/apache/camel/component/cache/FileCacheManagerFactoyRefTest.java
similarity index 60%
rename from components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/HelloService.java
rename to components/camel-cache/src/test/java/org/apache/camel/component/cache/FileCacheManagerFactoyRefTest.java
index 48a9518..011bc5b 100644
--- a/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/HelloService.java
+++ b/components/camel-cache/src/test/java/org/apache/camel/component/cache/FileCacheManagerFactoyRefTest.java
@@ -14,21 +14,18 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.component.cxf.transport;
+package org.apache.camel.component.cache;
 
-import java.util.List;
+import org.apache.camel.impl.JndiRegistry;
 
-public interface HelloService {
-    String sayHello();
-
-    void ping();
-
-    int getInvocationCount();
-
-    String echo(String text) throws Exception;
-
-    Boolean echoBoolean(Boolean bool);
+public class FileCacheManagerFactoyRefTest extends CacheManagerFactoryRefTest {
     
-    String complexParameters(List<String> par1, List<String> par2);
-    
-}
\ No newline at end of file
+    @Override
+    protected JndiRegistry createRegistry() throws Exception {
+        JndiRegistry jndi = new JndiRegistry(createJndiContext());
+        testingCacheManagerFactory = new FileCacheManagerFactory("src/main/resources/ehcache.xml");
+        jndi.bind("testCacheManagerFactory", testingCacheManagerFactory);
+        return jndi;
+    }
+
+}
diff --git a/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java b/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java
index fe29bc0..9c3443c 100644
--- a/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java
+++ b/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java
@@ -41,7 +41,6 @@
 import org.eclipse.jetty.server.session.SessionHandler;
 import org.eclipse.jetty.server.ssl.SslConnector;
 import org.eclipse.jetty.server.ssl.SslSelectChannelConnector;
-import org.eclipse.jetty.server.ssl.SslSocketConnector;
 import org.eclipse.jetty.servlet.ServletContextHandler;
 import org.eclipse.jetty.servlet.ServletHolder;
 import org.eclipse.jetty.util.resource.Resource;
diff --git a/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java b/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java
index 38a1514..b915cc5 100644
--- a/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java
+++ b/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java
@@ -65,7 +65,7 @@
     protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters)
         throws Exception {
 
-        // lets first check if we are using a fully qualified name: [context:]contextId:endpointUri
+        // first check if we are using a fully qualified name: [context:]contextId:endpointUri
         Map<String, Endpoint> map = getLocalCamelContext().getEndpointMap();
 
         if (LOG.isTraceEnabled()) {
@@ -77,7 +77,7 @@
             return endpoint;
         }
 
-        // lets look to see if there is an endpoint of name 'remaining' using one of the local endpoints within
+        // look to see if there is an endpoint of name 'remaining' using one of the local endpoints within
         // the black box CamelContext
         String[] separators = {":", "://"};
         for (String scheme : localProtocolSchemes) {
diff --git a/components/camel-context/src/test/java/org/apache/camel/component/context/JavaDslBlackBoxTest.java b/components/camel-context/src/test/java/org/apache/camel/component/context/JavaDslBlackBoxTest.java
index 4850aa7..d5949f3 100644
--- a/components/camel-context/src/test/java/org/apache/camel/component/context/JavaDslBlackBoxTest.java
+++ b/components/camel-context/src/test/java/org/apache/camel/component/context/JavaDslBlackBoxTest.java
@@ -27,7 +27,7 @@
 import org.junit.Test;
 
 /**
- * Lets use the Java DSL to create a black box CamelContext and then test its use from another context
+ * Allows for use of the Java DSL to create a black box CamelContext and then test its use from another context
  */
 public class JavaDslBlackBoxTest extends CamelTestSupport {
 
@@ -52,13 +52,13 @@
     protected JndiRegistry createRegistry() throws Exception {
         JndiRegistry registry = super.createRegistry();
 
-        // lets create our black box as a camel context and a set of routes
+        // let's create our black box as a Camel context and a set of routes
         DefaultCamelContext blackBox = new DefaultCamelContext(registry);
         blackBox.setName("blackBox");
         blackBox.addRoutes(new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                // receive purchase orders, lets process it in some way then
+                // we received purchase orders, so let's process it in some way then
                 // send an invoice to our invoice endpoint
                 from("direct:purchaseOrder").setHeader("received").constant("true").to("direct:invoice");
             }
diff --git a/components/camel-context/src/test/java/org/apache/camel/component/context/JavaDslBlackBoxWithVerboseUriTest.java b/components/camel-context/src/test/java/org/apache/camel/component/context/JavaDslBlackBoxWithVerboseUriTest.java
index feb6c76..ee0fac0 100644
--- a/components/camel-context/src/test/java/org/apache/camel/component/context/JavaDslBlackBoxWithVerboseUriTest.java
+++ b/components/camel-context/src/test/java/org/apache/camel/component/context/JavaDslBlackBoxWithVerboseUriTest.java
@@ -19,7 +19,7 @@
 import org.apache.camel.builder.RouteBuilder;
 
 /**
- * Lets use the verbose context:camelContextId:actualEndpointName when referring to endpoints
+ * Tests use of the verbose context:camelContextId:actualEndpointName when referring to endpoints
  */
 public class JavaDslBlackBoxWithVerboseUriTest extends JavaDslBlackBoxTest {
 
diff --git a/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java b/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
index ed19d08..63b1236 100644
--- a/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
+++ b/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
@@ -110,7 +110,7 @@
     private ClassLoader contextClassLoaderOnStart;
 
     public AbstractCamelContextFactoryBean() {
-        // Lets keep track of the class loader for when we actually do start things up
+        // Keep track of the class loader for when we actually do start things up
         contextClassLoaderOnStart = Thread.currentThread().getContextClassLoader();
     }
 
diff --git a/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPDataFormatUtil.java b/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPDataFormatUtil.java
index 825e5ba..468dd3a 100644
--- a/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPDataFormatUtil.java
+++ b/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/PGPDataFormatUtil.java
@@ -17,7 +17,6 @@
 package org.apache.camel.converter.crypto;
 
 import java.io.ByteArrayOutputStream;
-import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
diff --git a/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvDataFormat.java b/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvDataFormat.java
index f387b58..e5fe8f8 100644
--- a/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvDataFormat.java
+++ b/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/CsvDataFormat.java
@@ -28,7 +28,6 @@
 import java.util.Set;
 
 import org.apache.camel.Exchange;
-import org.apache.camel.converter.IOConverter;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.util.ExchangeHelper;
 import org.apache.camel.util.IOHelper;
diff --git a/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JbiServiceProcessor.java b/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JbiServiceProcessor.java
deleted file mode 100644
index ee2e7fe..0000000
--- a/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/JbiServiceProcessor.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.camel.component.cxf.transport;
-
-import org.apache.camel.CamelException;
-import org.apache.camel.Exchange;
-import org.apache.camel.Message;
-import org.apache.camel.Processor;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class JbiServiceProcessor implements Processor {
-    private static final transient Logger LOG = LoggerFactory.getLogger(JbiServiceProcessor.class);
-    
-    private static final String ECHO_RESPONSE = "<jbi:message xmlns:jbi=\"http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper\"" 
-        + " xmlns:msg=\"http://cxf.component.camel.apache.org\" type=\"msg:echoResponse\"><jbi:part>"
-        + "<ns1:return xmlns:ns1=\"http://cxf.component.camel.apache.org\">echo Hello World!</ns1:return>"
-        + "</jbi:part></jbi:message>";
-    private static final String JBI_WRAPPER = "<jbi:message xmlns:jbi=\"http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper";
-    
-
-    public void process(Exchange exchange) throws Exception {
-        Message in = exchange.getIn();
-        String request = in.getBody(String.class);
-        LOG.info("Get the request " + request);
-        if (!request.startsWith(JBI_WRAPPER)) {
-            throw new CamelException("Get a wrong request");
-        }
-        exchange.getOut().setBody(ECHO_RESPONSE);
-        
-    }
-
-}
diff --git a/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/ProxyProcessor.java b/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/ProxyProcessor.java
deleted file mode 100644
index 6ba56d7..0000000
--- a/components/camel-cxf-transport/src/test/java/org/apache/camel/component/cxf/transport/ProxyProcessor.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.camel.component.cxf.transport;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Message;
-import org.apache.camel.Processor;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ProxyProcessor implements Processor {
-    private static final transient Logger LOG = LoggerFactory.getLogger(ProxyProcessor.class);
-    
-    private HelloService proxy;
-    
-    public void setHelloService(HelloService service) {
-        proxy = service; 
-    }
-
-    public void process(Exchange exchange) throws Exception {
-        Message in = exchange.getIn();
-        String request = in.getBody(String.class);
-        LOG.info("Get the request " + request);
-        // the jbi service processor will ignore the parameter
-        String response = proxy.echo(request);
-        LOG.info("Get the response " + response);
-        exchange.getOut().setBody(response);
-        
-    }
-
-}
diff --git a/components/camel-cxf-transport/src/test/resources/org/apache/camel/component/cxf/cxfbean/CxfBeanTest-context.xml b/components/camel-cxf-transport/src/test/resources/org/apache/camel/component/cxf/cxfbean/CxfBeanTest-context.xml
deleted file mode 100644
index 4f1c93d..0000000
--- a/components/camel-cxf-transport/src/test/resources/org/apache/camel/component/cxf/cxfbean/CxfBeanTest-context.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-	<!--
-		Licensed to the Apache Software Foundation (ASF) under one or more
-		contributor license agreements. See the NOTICE file distributed with
-		this work for additional information regarding copyright ownership.
-		The ASF licenses this file to You under the Apache License, Version
-		2.0 (the "License"); you may not use this file except in compliance
-		with the License. You may obtain a copy of the License at
-		http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-		applicable law or agreed to in writing, software distributed under the
-		License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-		CONDITIONS OF ANY KIND, either express or implied. See the License for
-		the specific language governing permissions and limitations under the
-		License.
-	-->
-<beans xmlns="http://www.springframework.org/schema/beans"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-	xmlns:cxf="http://camel.apache.org/schema/cxf"
-	xmlns:util="http://www.springframework.org/schema/util"
-	xmlns:camel="http://cxf.apache.org/transports/camel"
-	xsi:schemaLocation="
-       http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans.xsd
-       http://camel.apache.org/schema/spring  http://camel.apache.org/schema/spring/camel-spring.xsd
-       http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf.xsd
-       http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd
-       http://cxf.apache.org/transports/camel http://cxf.apache.org/transports/camel.xsd
-    ">
-    <import resource="classpath:META-INF/cxf/camel/cxf-extension-camel.xml" />
-	
-	<!-- START SNIPPET: beanDefinition -->
-	<util:list id="customerServiceBean">
-		<bean class="org.apache.camel.component.cxf.jaxrs.testbean.CustomerService" />
-	</util:list>
-	
-	<bean class="org.apache.camel.wsdl_first.PersonImpl" id="jaxwsBean" />
-	
-	<!-- END SNIPPET: beanDefinition -->	
-    
-	<cxf:cxfEndpoint id="routerEndpoint"
-		address="http://localhost:8092/PersonService/" serviceClass="org.apache.camel.wsdl_first.Person"
-		endpointName="person:soap" serviceName="person:PersonService" wsdlURL="person.wsdl"
-		xmlns:person="http://camel.apache.org/wsdl-first">
-	</cxf:cxfEndpoint>
-	
-	<cxf:cxfEndpoint id="serviceEndpoint"
-		address="camel://direct:camel.apache.org.wsdl-first.PersonService" serviceClass="org.apache.camel.wsdl_first.Person"
-		endpointName="person:soap3" serviceName="person:PersonService"
-		wsdlURL="person.wsdl"
-		xmlns:person="http://camel.apache.org/wsdl-first">
-	</cxf:cxfEndpoint>
-
-    <!-- setup our error handler as the deal letter channel -->
-    <bean id="errorHandler" class="org.apache.camel.builder.DeadLetterChannelBuilder">
-        <property name="deadLetterUri" value="mock:error"/>
-        <property name="redeliveryPolicy" ref="myRedeliveryPolicy"/>
-    </bean>
-
-    <bean id="myRedeliveryPolicy" class="org.apache.camel.processor.RedeliveryPolicy">
-        <property name="maximumRedeliveries" value="5"/>
-        <property name="redeliveryDelay" value="0"/>
-    </bean>
-
-	<camelContext errorHandlerRef="errorHandler" id="camel" xmlns="http://camel.apache.org/schema/spring">
-		<route>
-			<from uri="cxf:bean:routerEndpoint?dataFormat=PAYLOAD" />
-			<to uri="cxf:bean:serviceEndpoint?dataFormat=PAYLOAD" />
-		</route>
-		<!-- START SNIPPET: routeDefinition -->
-		<route>
-			<from uri="jetty:http://localhost:9000?matchOnUriPrefix=true" />
-			<to uri="cxfbean:customerServiceBean" />
-		</route>
-		<!-- END SNIPPET: routeDefinition -->	
-		<route>
-			<from uri="jetty:http://localhost:9090?matchOnUriPrefix=true" />
-			<to uri="cxfbean:jaxwsBean" />
-		</route>
-		<!-- Provide an RS route for the purposes of testing that providers are added -->				
-		<route>
-			<from uri="direct:start" />
-			<to uri="cxfbean:customerServiceBean?providers=#provider1,#provider2" />
-		</route>				
-	</camelContext>
-
-	<!-- A couple of beans to declare as providers - 
-	     they can be an object of any kind for the purposes of our test. -->
-    <bean id="provider1" class="java.lang.String" />
-    <bean id="provider2" class="java.lang.String" />
-
-	<camel:conduit name="{http://camel.apache.org/wsdl-first}soap3.camel-conduit">
-       <camelContext id="PersonServiceClientContext" xmlns="http://camel.apache.org/schema/spring">
-           <route>
-               <from uri="direct:camel.apache.org.wsdl-first.PersonService"/>
-               <to uri="cxfbean:jaxwsBean"/>
-          </route>
-      </camelContext>
-  </camel:conduit>
-	
-</beans>
\ No newline at end of file
diff --git a/components/camel-cxf-transport/src/test/resources/org/apache/camel/component/cxf/cxfbean/CxfBeanWithWsdlLocationInBeanAndIoCTest-context.xml b/components/camel-cxf-transport/src/test/resources/org/apache/camel/component/cxf/cxfbean/CxfBeanWithWsdlLocationInBeanAndIoCTest-context.xml
deleted file mode 100644
index 9f0d612..0000000
--- a/components/camel-cxf-transport/src/test/resources/org/apache/camel/component/cxf/cxfbean/CxfBeanWithWsdlLocationInBeanAndIoCTest-context.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-  <!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version
-    2.0 (the "License"); you may not use this file except in compliance
-    with the License. You may obtain a copy of the License at
-    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-    applicable law or agreed to in writing, software distributed under the
-    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-    CONDITIONS OF ANY KIND, either express or implied. See the License for
-    the specific language governing permissions and limitations under the
-    License.
-  -->
-<beans xmlns="http://www.springframework.org/schema/beans"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-  xsi:schemaLocation="
-       http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans.xsd
-       http://camel.apache.org/schema/spring  http://camel.apache.org/schema/spring/camel-spring.xsd
-       http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf.xsd
-    ">
-
-  <bean class="org.apache.camel.wsdl_first.PersonImplWithWsdl" id="jaxwsBean">
-      <property name="reply" value="Bye"/>
-  </bean>
-
-  <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
-    <route>
-      <from uri="jetty:http://localhost:9090?matchOnUriPrefix=true" />
-      <to uri="cxfbean:jaxwsBean" />
-    </route>
-  </camelContext>
-
-</beans>
\ No newline at end of file
diff --git a/components/camel-cxf-transport/src/test/resources/org/apache/camel/component/cxf/cxfbean/CxfBeanWithWsdlLocationInBeanTest-context.xml b/components/camel-cxf-transport/src/test/resources/org/apache/camel/component/cxf/cxfbean/CxfBeanWithWsdlLocationInBeanTest-context.xml
deleted file mode 100644
index d60e758..0000000
--- a/components/camel-cxf-transport/src/test/resources/org/apache/camel/component/cxf/cxfbean/CxfBeanWithWsdlLocationInBeanTest-context.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-  <!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version
-    2.0 (the "License"); you may not use this file except in compliance
-    with the License. You may obtain a copy of the License at
-    http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-    applicable law or agreed to in writing, software distributed under the
-    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-    CONDITIONS OF ANY KIND, either express or implied. See the License for
-    the specific language governing permissions and limitations under the
-    License.
-  -->
-<beans xmlns="http://www.springframework.org/schema/beans"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-  xsi:schemaLocation="
-       http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans.xsd
-       http://camel.apache.org/schema/spring  http://camel.apache.org/schema/spring/camel-spring.xsd
-       http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf.xsd
-    ">
-
-  <bean class="org.apache.camel.wsdl_first.PersonImplWithWsdl" id="jaxwsBean" />
-
-  <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
-    <route>
-      <from uri="jetty:http://localhost:9090?matchOnUriPrefix=true" />
-      <to uri="cxfbean:jaxwsBean" />
-    </route>
-  </camelContext>
-
-</beans>
\ No newline at end of file
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBlueprintEndpoint.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBlueprintEndpoint.java
index 349ea94..a26b8d7 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBlueprintEndpoint.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBlueprintEndpoint.java
@@ -18,11 +18,8 @@
 package org.apache.camel.component.cxf;
 
 import org.apache.camel.blueprint.BlueprintCamelContext;
-import org.apache.camel.component.cxf.common.message.CxfConstants;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.cxf.BusFactory;
-import org.apache.cxf.frontend.ServerFactoryBean;
-import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
 import org.osgi.framework.BundleContext;
 import org.osgi.service.blueprint.container.BlueprintContainer;
 import org.slf4j.Logger;
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfPayload.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfPayload.java
index a9bf12e..9d5fa80 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfPayload.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfPayload.java
@@ -18,7 +18,6 @@
 
 import java.util.AbstractList;
 import java.util.ArrayList;
-import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java
index 206f892..8a065c3 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java
@@ -35,6 +35,7 @@
 import org.apache.camel.component.cxf.common.message.CxfConstants;
 import org.apache.camel.impl.DefaultProducer;
 import org.apache.camel.util.ObjectHelper;
+import org.apache.cxf.Bus;
 import org.apache.cxf.binding.soap.model.SoapHeaderInfo;
 import org.apache.cxf.endpoint.Client;
 import org.apache.cxf.jaxws.context.WrappedMessageContext;
@@ -79,6 +80,8 @@
         try {
             // create CXF exchange
             ExchangeImpl cxfExchange = new ExchangeImpl();
+            // set the Bus on the exchange in case the CXF interceptor need to access it from exchange
+            cxfExchange.put(Bus.class, endpoint.getBus());
             
             // prepare binding operation info
             BindingOperationInfo boi = prepareBindingOperation(camelExchange, cxfExchange);
@@ -115,6 +118,8 @@
         
         // create CXF exchange
         ExchangeImpl cxfExchange = new ExchangeImpl();
+        // set the Bus on the exchange in case the CXF interceptor need to access it from exchange
+        cxfExchange.put(Bus.class, endpoint.getBus());
         
         // prepare binding operation info
         BindingOperationInfo boi = prepareBindingOperation(camelExchange, cxfExchange);
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfSpringEndpoint.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfSpringEndpoint.java
index 9e61b13..4cec536 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfSpringEndpoint.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfSpringEndpoint.java
@@ -18,7 +18,6 @@
 
 import javax.xml.namespace.QName;
 
-import org.apache.camel.CamelContext;
 import org.apache.camel.component.cxf.common.message.CxfConstants;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.cxf.BusFactory;
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/AbstractBeanDefinitionParser.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/AbstractBeanDefinitionParser.java
index 96852b8..fe340c4 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/AbstractBeanDefinitionParser.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/AbstractBeanDefinitionParser.java
@@ -23,7 +23,6 @@
 
 import org.apache.aries.blueprint.ParserContext;
 import org.apache.aries.blueprint.mutable.MutableBeanMetadata;
-import org.apache.camel.component.cxf.CxfBlueprintEndpoint;
 import org.apache.cxf.common.util.StringUtils;
 import org.apache.cxf.configuration.blueprint.AbstractBPBeanDefinitionParser;
 
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/CxfNamespaceHandler.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/CxfNamespaceHandler.java
index ab1ad05..5bcbf2e 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/CxfNamespaceHandler.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/CxfNamespaceHandler.java
@@ -27,7 +27,6 @@
 
 import org.apache.aries.blueprint.NamespaceHandler;
 import org.apache.aries.blueprint.ParserContext;
-import org.apache.cxf.bus.blueprint.BlueprintBus;
 import org.osgi.service.blueprint.reflect.ComponentMetadata;
 import org.osgi.service.blueprint.reflect.Metadata;
 import org.slf4j.Logger;
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsClientBlueprintBean.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsClientBlueprintBean.java
index c36d011..4d720ec 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsClientBlueprintBean.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsClientBlueprintBean.java
@@ -18,7 +18,6 @@
 
 import java.util.List;
 
-import org.apache.camel.RuntimeCamelException;
 import org.apache.cxf.feature.AbstractFeature;
 import org.apache.cxf.feature.LoggingFeature;
 import org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean;
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsClientDefinitionParser.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsClientDefinitionParser.java
index 53a8008..470c0e0 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsClientDefinitionParser.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsClientDefinitionParser.java
@@ -18,10 +18,6 @@
 package org.apache.camel.component.cxf.blueprint;
 
 import java.util.List;
-import java.util.StringTokenizer;
-
-import javax.xml.namespace.QName;
-
 import org.w3c.dom.Attr;
 import org.w3c.dom.Element;
 import org.w3c.dom.NamedNodeMap;
@@ -29,14 +25,11 @@
 import org.apache.aries.blueprint.ParserContext;
 import org.apache.aries.blueprint.mutable.MutableBeanMetadata;
 import org.apache.aries.blueprint.mutable.MutablePassThroughMetadata;
-import org.apache.aries.blueprint.mutable.MutableValueMetadata;
-import org.apache.camel.component.cxf.CxfBlueprintEndpoint;
 import org.apache.cxf.common.util.StringUtils;
 import org.apache.cxf.configuration.blueprint.AbstractBPBeanDefinitionParser;
 import org.apache.cxf.helpers.DOMUtils;
 import org.apache.cxf.jaxrs.model.UserResource;
 import org.apache.cxf.jaxrs.utils.ResourceUtils;
-import org.osgi.framework.BundleContext;
 import org.osgi.service.blueprint.reflect.Metadata;
 
 
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsServerDefinitionParser.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsServerDefinitionParser.java
index c2e8323..7a8d58b 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsServerDefinitionParser.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/RsServerDefinitionParser.java
@@ -26,7 +26,6 @@
 import org.apache.aries.blueprint.ParserContext;
 import org.apache.aries.blueprint.mutable.MutableBeanMetadata;
 import org.apache.aries.blueprint.mutable.MutablePassThroughMetadata;
-import org.apache.camel.component.cxf.CxfBlueprintEndpoint;
 import org.apache.cxf.common.util.StringUtils;
 import org.apache.cxf.configuration.blueprint.AbstractBPBeanDefinitionParser;
 import org.apache.cxf.helpers.DOMUtils;
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/CxfConverter.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/CxfConverter.java
index daace6e..8898ab3 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/CxfConverter.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/CxfConverter.java
@@ -20,27 +20,18 @@
 import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
-
 import javax.ws.rs.core.Response;
 import javax.xml.namespace.QName;
 import javax.xml.soap.SOAPMessage;
 
 import org.apache.camel.Converter;
-import org.apache.camel.Endpoint;
 import org.apache.camel.Exchange;
 import org.apache.camel.FallbackConverter;
 import org.apache.camel.TypeConverter;
-import org.apache.camel.component.cxf.CxfEndpoint;
-import org.apache.camel.component.cxf.CxfSpringEndpoint;
 import org.apache.camel.component.cxf.DataFormat;
 import org.apache.camel.spi.TypeConverterRegistry;
-import org.apache.camel.spring.SpringCamelContext;
-import org.apache.camel.util.EndpointHelper;
 import org.apache.cxf.common.classloader.ClassLoaderUtils;
-import org.apache.cxf.message.Message;
 import org.apache.cxf.message.MessageContentsList;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/CxfPayloadConverter.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/CxfPayloadConverter.java
index 49513d9..8b12eec 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/CxfPayloadConverter.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/converter/CxfPayloadConverter.java
@@ -20,10 +20,6 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.xml.stream.XMLStreamException;
-import javax.xml.transform.Source;
-import javax.xml.transform.dom.DOMSource;
-
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -32,11 +28,9 @@
 import org.apache.camel.Converter;
 import org.apache.camel.Exchange;
 import org.apache.camel.FallbackConverter;
-import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.TypeConverter;
 import org.apache.camel.component.cxf.CxfPayload;
 import org.apache.camel.spi.TypeConverterRegistry;
-import org.apache.cxf.staxutils.StaxUtils;
 
 @Converter
 public final class CxfPayloadConverter {
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/feature/MessageDataFormatFeature.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/feature/MessageDataFormatFeature.java
index 980b7c9..d611547 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/feature/MessageDataFormatFeature.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/feature/MessageDataFormatFeature.java
@@ -17,16 +17,12 @@
 
 package org.apache.camel.component.cxf.feature;
 
-import java.util.List;
-
 import org.apache.camel.component.cxf.interceptors.RawMessageContentRedirectInterceptor;
 import org.apache.cxf.Bus;
 import org.apache.cxf.endpoint.Client;
 import org.apache.cxf.endpoint.Server;
 import org.apache.cxf.frontend.WSDLGetInterceptor;
-import org.apache.cxf.interceptor.Interceptor;
 import org.apache.cxf.interceptor.LoggingOutInterceptor;
-import org.apache.cxf.message.Message;
 import org.apache.cxf.phase.Phase;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
index 34de9ee..63d624b 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/feature/PayLoadDataFormatFeature.java
@@ -18,9 +18,6 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
 import javax.xml.transform.Source;
 import javax.xml.transform.dom.DOMSource;
 
@@ -38,7 +35,6 @@
 import org.apache.cxf.service.model.BindingMessageInfo;
 import org.apache.cxf.service.model.BindingOperationInfo;
 import org.apache.cxf.service.model.MessageInfo;
-import org.apache.cxf.service.model.MessagePartInfo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsBlueprintEndpoint.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsBlueprintEndpoint.java
index 2c740f5..e9cd9b9 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsBlueprintEndpoint.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsBlueprintEndpoint.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.component.cxf.jaxrs;
 
-import org.apache.camel.CamelContext;
 import org.apache.camel.Component;
 import org.apache.camel.blueprint.BlueprintCamelContext;
 import org.apache.camel.component.cxf.blueprint.BlueprintSupport;
@@ -52,6 +51,8 @@
         super(uri, comp);
         this.bean = bean;
         setAddress(bean.getAddress());
+        // update the sfb address by resolving the properties
+        bean.setAddress(getAddress());
         BlueprintSupport support = (BlueprintSupport)bean;
         setBlueprintContainer(support.getBlueprintContainer());
         setBundleContext(support.getBundleContext());
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsSpringEndpoint.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsSpringEndpoint.java
index 8288a95..1738215 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsSpringEndpoint.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsSpringEndpoint.java
@@ -40,6 +40,8 @@
     public CxfRsSpringEndpoint(Component component, String uri, AbstractJAXRSFactoryBean bean) throws Exception {
         super(uri, component);
         setAddress(bean.getAddress());
+        // Update the sfb address by resolving the properties
+        bean.setAddress(getAddress());
         init(bean);
     }
     
@@ -52,7 +54,7 @@
     
     @Override
     protected void setupJAXRSServerFactoryBean(JAXRSServerFactoryBean sfb) {
-        // Do nothing here
+       // Do nothing here
     }
     
     @Override
diff --git a/components/camel-cxf/src/main/resources/META-INF/spring.schemas b/components/camel-cxf/src/main/resources/META-INF/spring.schemas
index b0600e2..1d1b998 100644
--- a/components/camel-cxf/src/main/resources/META-INF/spring.schemas
+++ b/components/camel-cxf/src/main/resources/META-INF/spring.schemas
@@ -39,4 +39,4 @@
 http\://camel.apache.org/schema/cxf/camel-cxf-2.8.1.xsd=schema/cxfEndpoint.xsd
 http\://camel.apache.org/schema/cxf/camel-cxf-2.8.2.xsd=schema/cxfEndpoint.xsd
 http\://camel.apache.org/schema/cxf/camel-cxf-2.8.3.xsd=schema/cxfEndpoint.xsd
-http\://camel.apache.org/schema/cxf/camel-cxf-${pom.version}.xsd=schema/cxfEndpoint.xsd
+http\://camel.apache.org/schema/cxf/camel-cxf-${project.version}.xsd=schema/cxfEndpoint.xsd
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CXFGreeterRouterTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CXFGreeterRouterTest.java
index f0855d6..8a3a78c 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CXFGreeterRouterTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CXFGreeterRouterTest.java
@@ -16,25 +16,10 @@
  */
 package org.apache.camel.component.cxf;
 
-import javax.xml.namespace.QName;
 import javax.xml.ws.Endpoint;
-import javax.xml.ws.Service;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.RuntimeCamelException;
-import org.apache.camel.component.http.HttpOperationFailedException;
-import org.apache.camel.spring.SpringCamelContext;
-import org.apache.camel.test.AvailablePortFinder;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.apache.hello_world_soap_http.Greeter;
 import org.apache.hello_world_soap_http.GreeterImpl;
-import org.apache.hello_world_soap_http.NoSuchCodeLitFault;
-import org.junit.After;
 import org.junit.AfterClass;
-import org.junit.Before;
 import org.junit.BeforeClass;
-import org.junit.Test;
-import org.springframework.context.support.AbstractXmlApplicationContext;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 
 public class CXFGreeterRouterTest extends AbstractCXFGreeterRouterTest {
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CXFWsdlOnlyPayloadModeNoSpringSoap12Test.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CXFWsdlOnlyPayloadModeNoSpringSoap12Test.java
index c70f8b6..64d9a6b 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CXFWsdlOnlyPayloadModeNoSpringSoap12Test.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CXFWsdlOnlyPayloadModeNoSpringSoap12Test.java
@@ -21,7 +21,6 @@
 import org.apache.camel.Exchange;
 import org.apache.camel.wsdl_first.PersonImpl12;
 import org.junit.Before;
-import org.junit.BeforeClass;
 
 public class CXFWsdlOnlyPayloadModeNoSpringSoap12Test extends CXFWsdlOnlyPayloadModeNoSpringTest {
     
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CXFWsdlOnlyPayloadModeNoSpringTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CXFWsdlOnlyPayloadModeNoSpringTest.java
index 80cb403..20dab1e 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CXFWsdlOnlyPayloadModeNoSpringTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CXFWsdlOnlyPayloadModeNoSpringTest.java
@@ -26,7 +26,6 @@
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.apache.camel.wsdl_first.Person;
 import org.apache.camel.wsdl_first.PersonImpl;
@@ -37,9 +36,7 @@
 import org.apache.cxf.interceptor.LoggingInInterceptor;
 import org.apache.cxf.interceptor.LoggingOutInterceptor;
 import org.junit.After;
-import org.junit.AfterClass;
 import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.Test;
 
 public class CXFWsdlOnlyPayloadModeNoSpringTest extends CamelTestSupport {
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerPayLoadFaultMessageTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerPayLoadFaultMessageTest.java
index b1f6e74..3668db8 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerPayLoadFaultMessageTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerPayLoadFaultMessageTest.java
@@ -20,9 +20,6 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.xml.transform.Source;
-import javax.xml.transform.dom.DOMSource;
-
 import org.w3c.dom.Element;
 
 import org.apache.camel.Exchange;
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfDispatchMessageTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfDispatchMessageTest.java
index d907f67..3a600db 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfDispatchMessageTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfDispatchMessageTest.java
@@ -23,7 +23,6 @@
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.component.cxf.common.message.CxfConstants;
-import org.apache.camel.test.AvailablePortFinder;
 import org.junit.Test;
 import org.springframework.context.support.AbstractApplicationContext;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfDispatchTestSupport.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfDispatchTestSupport.java
index 7812026..675fb1a 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfDispatchTestSupport.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfDispatchTestSupport.java
@@ -23,13 +23,10 @@
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
-import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit4.CamelSpringTestSupport;
 import org.apache.hello_world_soap_http.GreeterImpl;
 import org.junit.After;
-import org.junit.AfterClass;
 import org.junit.Before;
-import org.junit.BeforeClass;
 
 
 /**
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfEndpointTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfEndpointTest.java
index 3be8494..f45ae5a 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfEndpointTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfEndpointTest.java
@@ -20,10 +20,8 @@
 import org.apache.camel.component.cxf.CxfEndpoint.CamelCxfClientImpl;
 import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.spring.SpringCamelContext;
-import org.apache.camel.test.AvailablePortFinder;
 import org.apache.cxf.BusFactory;
 import org.apache.cxf.bus.CXFBusImpl;
-import org.apache.cxf.frontend.ServerFactoryBean;
 import org.junit.Assert;
 import org.junit.Test;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfGreeterConverterRouterTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfGreeterConverterRouterTest.java
index 905c433..2fdc44a 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfGreeterConverterRouterTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfGreeterConverterRouterTest.java
@@ -19,7 +19,6 @@
 
 import javax.xml.ws.Endpoint;
 
-import org.apache.camel.test.AvailablePortFinder;
 import org.apache.hello_world_soap_http.GreeterImpl;
 
 import org.junit.AfterClass;
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfGreeterMessageRouterTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfGreeterMessageRouterTest.java
index 02846d9..6a4f3de 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfGreeterMessageRouterTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfGreeterMessageRouterTest.java
@@ -20,7 +20,6 @@
 import javax.xml.ws.Endpoint;
 
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.AvailablePortFinder;
 import org.apache.hello_world_soap_http.GreeterImpl;
 
 import org.junit.AfterClass;
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfGreeterPayLoadRouterTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfGreeterPayLoadRouterTest.java
index 0b9bdcc..fd0fe67 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfGreeterPayLoadRouterTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfGreeterPayLoadRouterTest.java
@@ -19,7 +19,6 @@
 import javax.xml.ws.Endpoint;
 
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.AvailablePortFinder;
 import org.apache.hello_world_soap_http.GreeterImpl;
 
 import org.junit.AfterClass;
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfGreeterPayLoadWithFeatureRouterTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfGreeterPayLoadWithFeatureRouterTest.java
index 105e1cd..14d08b6 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfGreeterPayLoadWithFeatureRouterTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfGreeterPayLoadWithFeatureRouterTest.java
@@ -18,7 +18,6 @@
 
 import javax.xml.ws.Endpoint;
 
-import org.apache.camel.test.AvailablePortFinder;
 import org.apache.hello_world_soap_http.GreeterImpl;
 
 import org.junit.AfterClass;
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfJavaOnlyPayloadModeTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfJavaOnlyPayloadModeTest.java
index b9e92eb..d6ddb90 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfJavaOnlyPayloadModeTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfJavaOnlyPayloadModeTest.java
@@ -20,7 +20,6 @@
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.Test;
 
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfMixedModeRouterTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfMixedModeRouterTest.java
index 796f232..a211e25 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfMixedModeRouterTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfMixedModeRouterTest.java
@@ -20,9 +20,6 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.xml.transform.Source;
-import javax.xml.transform.dom.DOMSource;
-
 import org.w3c.dom.Element;
 
 import org.apache.camel.CamelContext;
@@ -32,7 +29,6 @@
 import org.apache.camel.component.cxf.common.message.CxfConstants;
 import org.apache.camel.converter.jaxp.XmlConverter;
 import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.apache.cxf.binding.soap.SoapHeader;
 import org.apache.cxf.endpoint.Server;
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfMultipleConsumersSupportTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfMultipleConsumersSupportTest.java
index 2b7e727..ef1423d 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfMultipleConsumersSupportTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfMultipleConsumersSupportTest.java
@@ -18,7 +18,6 @@
 
 import org.apache.camel.FailedToStartRouteException;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.Test;
 
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfNonWrapperTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfNonWrapperTest.java
index 74c02d6..36b3c86 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfNonWrapperTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfNonWrapperTest.java
@@ -27,7 +27,6 @@
 import org.apache.camel.non_wrapper.UnknownPersonFault;
 import org.apache.camel.non_wrapper.types.GetPerson;
 import org.apache.camel.non_wrapper.types.GetPersonResponse;
-import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit4.CamelSpringTestSupport;
 import org.junit.Test;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfPayLoadSoapHeaderTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfPayLoadSoapHeaderTest.java
index 6d36480..70b5927 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfPayLoadSoapHeaderTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfPayLoadSoapHeaderTest.java
@@ -37,12 +37,10 @@
 import org.apache.camel.pizza.types.OrderPizzaResponseType;
 import org.apache.camel.pizza.types.OrderPizzaType;
 import org.apache.camel.pizza.types.ToppingsListType;
-import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.apache.cxf.binding.soap.SoapHeader;
 
 import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.Test;
 
 
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerRouterTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerRouterTest.java
index ab351e3..c2575ea 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerRouterTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerRouterTest.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.component.cxf;
 
-import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerTest.java
index 76da36e..a541e03 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerTest.java
@@ -37,7 +37,6 @@
 import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfSimpleRouterTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfSimpleRouterTest.java
index c8fae21..206d7b7 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfSimpleRouterTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfSimpleRouterTest.java
@@ -27,9 +27,7 @@
 import org.apache.cxf.frontend.ServerFactoryBean;
 
 import org.junit.After;
-import org.junit.AfterClass;
 import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.Test;
 
 public class CxfSimpleRouterTest extends CamelTestSupport {    
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfSimpleRouterWithUnwrappedStyleTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfSimpleRouterWithUnwrappedStyleTest.java
index 12f4479..8ab522e 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfSimpleRouterWithUnwrappedStyleTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfSimpleRouterWithUnwrappedStyleTest.java
@@ -22,8 +22,6 @@
 import org.apache.cxf.frontend.ClientProxyFactoryBean;
 import org.apache.cxf.frontend.ServerFactoryBean;
 
-import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.Test;
 
 public class CxfSimpleRouterWithUnwrappedStyleTest extends CxfSimpleRouterTest {    
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfWsdlFirstPayloadModeTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfWsdlFirstPayloadModeTest.java
index cb1ee77..c1ad6ac 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfWsdlFirstPayloadModeTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfWsdlFirstPayloadModeTest.java
@@ -16,18 +16,8 @@
  */
 package org.apache.camel.component.cxf;
 
-import java.net.URL;
-
-import javax.xml.namespace.QName;
 import javax.xml.ws.Endpoint;
-import javax.xml.ws.Holder;
-
-import org.apache.camel.test.AvailablePortFinder;
-import org.apache.camel.wsdl_first.JaxwsTestHandler;
-import org.apache.camel.wsdl_first.Person;
 import org.apache.camel.wsdl_first.PersonImpl;
-import org.apache.camel.wsdl_first.PersonService;
-import org.apache.camel.wsdl_first.UnknownPersonFault;
 import org.junit.BeforeClass;
 import org.junit.Test;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfWsdlFirstProcessorTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfWsdlFirstProcessorTest.java
index 64580aa5d..e100064 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfWsdlFirstProcessorTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfWsdlFirstProcessorTest.java
@@ -18,7 +18,6 @@
 
 import javax.xml.ws.Endpoint;
 
-import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.wsdl_first.JaxwsTestHandler;
 import org.apache.camel.wsdl_first.PersonImpl;
 import org.junit.BeforeClass;
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/holder/CxfHolderConsumerTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/holder/CxfHolderConsumerTest.java
index 3958454..4c7a611 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/holder/CxfHolderConsumerTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/holder/CxfHolderConsumerTest.java
@@ -28,7 +28,6 @@
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.apache.cxf.frontend.ClientFactoryBean;
 import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
-import org.apache.cxf.version.Version;
 import org.junit.Test;
 
 public class CxfHolderConsumerTest extends CamelTestSupport {
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointWithProperties.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointWithProperties.java
index ce15a15..9396e05 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointWithProperties.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointWithProperties.java
@@ -18,6 +18,9 @@
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.component.cxf.spring.AbstractSpringBeanTestSupport;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.DefaultHttpClient;
 import org.junit.Test;
 
 public class CxfRsEndpointWithProperties extends AbstractSpringBeanTestSupport {
@@ -32,7 +35,11 @@
         // get the camelContext from application context
         CamelContext camelContext = ctx.getBean("camel", CamelContext.class);
         CxfRsEndpoint testEndpoint = camelContext.getEndpoint("cxfrs:bean:testEndpoint", CxfRsEndpoint.class);
-        assertEquals("Got a wrong address", "http://localhost:9000/testEndpoint", testEndpoint.getAddress());
+        assertEquals("Got a wrong address", "http://localhost:9900/testEndpoint", testEndpoint.getAddress());
+        HttpGet get = new HttpGet(testEndpoint.getAddress());
+        DefaultHttpClient httpclient = new DefaultHttpClient();
+        HttpResponse response = httpclient.execute(get);
+        assertEquals(404, response.getStatusLine().getStatusCode());
     }
 
 }
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducerAddressOverrideTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducerAddressOverrideTest.java
index 4771560..3f9eebb 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducerAddressOverrideTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducerAddressOverrideTest.java
@@ -19,7 +19,6 @@
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.component.cxf.CXFTestSupport;
-import org.apache.camel.test.AvailablePortFinder;
 import org.springframework.context.support.AbstractXmlApplicationContext;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducerTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducerTest.java
index e4fd579..528b9fb 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducerTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducerTest.java
@@ -30,10 +30,8 @@
 import org.apache.camel.component.cxf.CXFTestSupport;
 import org.apache.camel.component.cxf.common.message.CxfConstants;
 import org.apache.camel.component.cxf.jaxrs.testbean.Customer;
-import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit4.CamelSpringTestSupport;
 import org.apache.camel.util.CastUtils;
-import org.apache.http.util.EntityUtils;
 import org.junit.Test;
 import org.springframework.context.support.AbstractXmlApplicationContext;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledConsumerPayloadModeTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledConsumerPayloadModeTest.java
index e5fd1ce..9ddde58 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledConsumerPayloadModeTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledConsumerPayloadModeTest.java
@@ -25,8 +25,6 @@
 import javax.xml.transform.Source;
 import javax.xml.transform.dom.DOMSource;
 
-import org.w3c.dom.Element;
-
 import junit.framework.Assert;
 
 import org.apache.camel.Exchange;
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledProducerPayloadModeTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledProducerPayloadModeTest.java
index 9ad4306..1fc55bc 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledProducerPayloadModeTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledProducerPayloadModeTest.java
@@ -36,8 +36,6 @@
 import javax.xml.ws.WebServiceContext;
 import javax.xml.ws.handler.MessageContext;
 
-import org.w3c.dom.Element;
-
 import org.apache.camel.Exchange;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.Processor;
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/soap/headers/CxfMessageHeadersRelayTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/soap/headers/CxfMessageHeadersRelayTest.java
index 02e5652..db3baca 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/soap/headers/CxfMessageHeadersRelayTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/soap/headers/CxfMessageHeadersRelayTest.java
@@ -36,7 +36,6 @@
 import javax.xml.ws.Endpoint;
 import javax.xml.ws.Holder;
 
-import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 
 import org.apache.camel.CamelContext;
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanBusSettingTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanBusSettingTest.java
index f584ed5..95eff8f 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanBusSettingTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanBusSettingTest.java
@@ -16,16 +16,10 @@
  */
 package org.apache.camel.component.cxf.spring;
 
-import java.util.List;
-
 import org.apache.camel.CamelContext;
 import org.apache.camel.component.cxf.CXFTestSupport;
 import org.apache.camel.component.cxf.CxfEndpoint;
 import org.apache.cxf.Bus;
-import org.apache.cxf.interceptor.Interceptor;
-import org.apache.cxf.interceptor.LoggingInInterceptor;
-import org.apache.cxf.interceptor.LoggingOutInterceptor;
-import org.apache.cxf.message.Message;
 import org.junit.Test;
 
 public class CxfEndpointBeanBusSettingTest extends AbstractSpringBeanTestSupport {
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanWithBusTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanWithBusTest.java
index 01529ea..48245d5 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanWithBusTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanWithBusTest.java
@@ -20,9 +20,7 @@
 import org.apache.camel.component.cxf.CXFTestSupport;
 import org.apache.camel.component.cxf.CxfEndpoint;
 import org.apache.cxf.interceptor.LoggingInInterceptor;
-import org.junit.Before;
 import org.junit.Test;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
 
 /**
  * Unit test for testing CXF bus injection.
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/FileToCxfMessageDataFormatTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/FileToCxfMessageDataFormatTest.java
index a0919c0..773a698 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/FileToCxfMessageDataFormatTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/spring/FileToCxfMessageDataFormatTest.java
@@ -21,7 +21,6 @@
 import org.apache.camel.component.cxf.HelloService;
 import org.apache.camel.component.cxf.HelloServiceImpl;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit4.CamelSpringTestSupport;
 import org.apache.cxf.endpoint.Server;
 import org.apache.cxf.frontend.ServerFactoryBean;
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsTest.java
index 687a250..3f84316 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/CxfEndpointUtilsTest.java
@@ -19,12 +19,10 @@
 import javax.xml.namespace.QName;
 
 import org.apache.camel.CamelContext;
-import org.apache.camel.CamelException;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.component.cxf.CxfComponent;
 import org.apache.camel.component.cxf.CxfEndpoint;
-import org.apache.camel.component.cxf.CxfEndpointUtils;
 import org.apache.camel.component.cxf.DataFormat;
 import org.apache.camel.impl.DefaultCamelContext;
 import org.junit.Assert;
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/wsa/WSAddressingTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/wsa/WSAddressingTest.java
index 185839b..ee04ed5 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/wsa/WSAddressingTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/wsa/WSAddressingTest.java
@@ -24,7 +24,6 @@
 import org.apache.camel.Processor;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.component.cxf.CXFTestSupport;
-import org.apache.camel.test.AvailablePortFinder;
 import org.apache.cxf.bus.spring.SpringBusFactory;
 import org.apache.cxf.common.classloader.ClassLoaderUtils;
 import org.apache.cxf.endpoint.Server;
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/wsdl/Order.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/wsdl/Order.java
index 0327a55..ef7a7ac 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/wsdl/Order.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/wsdl/Order.java
@@ -16,8 +16,6 @@
  */
 package org.apache.camel.component.cxf.wsdl;
 
-import javax.xml.bind.annotation.XmlRootElement;
-
 public class Order {
 
     String customerName;
diff --git a/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointWithProperties.xml b/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointWithProperties.xml
index 4d440e5..7c9d63c 100644
--- a/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointWithProperties.xml
+++ b/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/jaxrs/CxfRsEndpointWithProperties.xml
@@ -32,6 +32,10 @@
  
   <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
   	<propertyPlaceholder id="properties" location="org/apache/camel/component/cxf/jaxrs/testEndpoint.properties"/>
+  	<route>
+  		<from uri="cxfrs:bean:testEndpoint"/>
+		<to uri="mock:end"/>
+  	</route>
   </camelContext>
   
   
diff --git a/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/jaxrs/testEndpoint.properties b/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/jaxrs/testEndpoint.properties
index 238575d..0741d50 100644
--- a/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/jaxrs/testEndpoint.properties
+++ b/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/jaxrs/testEndpoint.properties
@@ -18,4 +18,4 @@
 #    under the License.
 #
 #
-address=http://localhost:9000/testEndpoint
+address=http://localhost:9900/testEndpoint
diff --git a/components/camel-dns/src/main/java/org/apache/camel/component/dns/DnsLookupEndpoint.java b/components/camel-dns/src/main/java/org/apache/camel/component/dns/DnsLookupEndpoint.java
index d3f4c93..facc27e 100644
--- a/components/camel-dns/src/main/java/org/apache/camel/component/dns/DnsLookupEndpoint.java
+++ b/components/camel-dns/src/main/java/org/apache/camel/component/dns/DnsLookupEndpoint.java
@@ -27,7 +27,6 @@
 import org.apache.camel.util.ObjectHelper;
 import org.xbill.DNS.DClass;
 import org.xbill.DNS.Lookup;
-import org.xbill.DNS.SimpleResolver;
 import org.xbill.DNS.Type;
 
 /**
diff --git a/components/camel-eventadmin/src/main/java/org/apache/camel/component/eventadmin/EventAdminConsumer.java b/components/camel-eventadmin/src/main/java/org/apache/camel/component/eventadmin/EventAdminConsumer.java
index df9f7be..810a7e0 100644
--- a/components/camel-eventadmin/src/main/java/org/apache/camel/component/eventadmin/EventAdminConsumer.java
+++ b/components/camel-eventadmin/src/main/java/org/apache/camel/component/eventadmin/EventAdminConsumer.java
@@ -17,8 +17,6 @@
 package org.apache.camel.component.eventadmin;
 
 import java.util.Properties;
-import java.util.concurrent.Executor;
-
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.impl.DefaultConsumer;
diff --git a/components/camel-eventadmin/src/main/java/org/apache/camel/component/eventadmin/EventAdminEndpoint.java b/components/camel-eventadmin/src/main/java/org/apache/camel/component/eventadmin/EventAdminEndpoint.java
index c395e5e..a200d79 100644
--- a/components/camel-eventadmin/src/main/java/org/apache/camel/component/eventadmin/EventAdminEndpoint.java
+++ b/components/camel-eventadmin/src/main/java/org/apache/camel/component/eventadmin/EventAdminEndpoint.java
@@ -19,7 +19,6 @@
 import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
-import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.impl.DefaultEndpoint;
 
 /**
diff --git a/components/camel-gae/src/main/java/org/apache/camel/component/gae/task/GTaskComponent.java b/components/camel-gae/src/main/java/org/apache/camel/component/gae/task/GTaskComponent.java
index e4586e7..b679ab7 100644
--- a/components/camel-gae/src/main/java/org/apache/camel/component/gae/task/GTaskComponent.java
+++ b/components/camel-gae/src/main/java/org/apache/camel/component/gae/task/GTaskComponent.java
@@ -19,7 +19,6 @@
 import java.net.URI;
 import java.util.Map;
 
-import com.google.appengine.api.taskqueue.Queue;
 import com.google.appengine.api.taskqueue.QueueFactory;
 
 import org.apache.camel.Endpoint;
diff --git a/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpCombinedRouteBuilderTest.java b/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpCombinedRouteBuilderTest.java
index 3cce2bd..c685ffd 100644
--- a/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpCombinedRouteBuilderTest.java
+++ b/components/camel-gae/src/test/java/org/apache/camel/component/gae/http/GHttpCombinedRouteBuilderTest.java
@@ -27,7 +27,6 @@
 import com.meterware.httpunit.WebResponse;
 import com.meterware.servletunit.ServletRunner;
 import com.meterware.servletunit.ServletUnitClient;
-import org.apache.camel.ProducerTemplate;
 import org.apache.camel.component.gae.support.ServletTestSupport;
 import org.eclipse.jetty.server.Server;
 import org.junit.After;
@@ -35,7 +34,6 @@
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.io.ClassPathResource;
 
 import static org.apache.camel.component.gae.TestConfig.getBaseUri;
diff --git a/components/camel-groovy/src/main/java/org/apache/camel/language/groovy/GroovyRouteBuilder.java b/components/camel-groovy/src/main/java/org/apache/camel/language/groovy/GroovyRouteBuilder.java
index 0d80e25..9173049 100644
--- a/components/camel-groovy/src/main/java/org/apache/camel/language/groovy/GroovyRouteBuilder.java
+++ b/components/camel-groovy/src/main/java/org/apache/camel/language/groovy/GroovyRouteBuilder.java
@@ -17,8 +17,6 @@
 package org.apache.camel.language.groovy;
 
 import java.io.InputStreamReader;
-import java.io.Reader;
-
 import groovy.lang.GroovyShell;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
diff --git a/components/camel-guice/src/test/java/org/apache/camel/guice/ComponentFoundInRegistryTest.java b/components/camel-guice/src/test/java/org/apache/camel/guice/ComponentFoundInRegistryTest.java
index 17cc67e..04cb2aa 100644
--- a/components/camel-guice/src/test/java/org/apache/camel/guice/ComponentFoundInRegistryTest.java
+++ b/components/camel-guice/src/test/java/org/apache/camel/guice/ComponentFoundInRegistryTest.java
@@ -37,7 +37,7 @@
 import static org.hamcrest.Matchers.is;
 
 /**
- * Lets use a custom CamelModule to perform explicit binding of route builders
+ * Uses a custom CamelModule to perform explicit binding of route builders
  *
  * @version 
  */
diff --git a/components/camel-guice/src/test/java/org/apache/camel/guice/ConciseGuiceRouteTest.java b/components/camel-guice/src/test/java/org/apache/camel/guice/ConciseGuiceRouteTest.java
index 9991f3f..4619bdc 100644
--- a/components/camel-guice/src/test/java/org/apache/camel/guice/ConciseGuiceRouteTest.java
+++ b/components/camel-guice/src/test/java/org/apache/camel/guice/ConciseGuiceRouteTest.java
@@ -21,7 +21,7 @@
 import org.junit.Assert;
 import org.junit.Test;
 /**
- * Lets use a RouteBuilder to bind instances of routes to the CamelContext
+ * Uses a RouteBuilder to bind instances of routes to the CamelContext
  *
  * @version 
  */
diff --git a/components/camel-guice/src/test/java/org/apache/camel/guice/FileEndpointReferenceRouteTest.java b/components/camel-guice/src/test/java/org/apache/camel/guice/FileEndpointReferenceRouteTest.java
index 07ab9a7..0710ed5 100644
--- a/components/camel-guice/src/test/java/org/apache/camel/guice/FileEndpointReferenceRouteTest.java
+++ b/components/camel-guice/src/test/java/org/apache/camel/guice/FileEndpointReferenceRouteTest.java
@@ -17,20 +17,14 @@
 package org.apache.camel.guice;
 
 import java.util.Hashtable;
-import java.util.Set;
-
 import javax.naming.InitialContext;
 
-import com.google.inject.Guice;
 import com.google.inject.Injector;
 import com.google.inject.Provides;
 import org.apache.camel.CamelContext;
-import org.apache.camel.RoutesBuilder;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.file.GenericFile;
 import org.apache.camel.component.file.GenericFileFilter;
-import org.apache.camel.component.mock.MockComponent;
-import org.apache.camel.guice.GuiceRouteWithNamedKeysTest.MyModule;
 import org.guiceyfruit.Injectors;
 import org.guiceyfruit.jndi.GuiceInitialContextFactory;
 import org.guiceyfruit.jndi.JndiBind;
diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/instance/HazelcastInstanceConsumer.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/instance/HazelcastInstanceConsumer.java
index ce26561..ef29696 100644
--- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/instance/HazelcastInstanceConsumer.java
+++ b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/instance/HazelcastInstanceConsumer.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.component.hazelcast.instance;
 
-import com.hazelcast.core.Hazelcast;
 import com.hazelcast.core.HazelcastInstance;
 import com.hazelcast.core.MembershipEvent;
 import com.hazelcast.core.MembershipListener;
diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/list/HazelcastListConsumer.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/list/HazelcastListConsumer.java
index 3dee771..b7bd47b 100644
--- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/list/HazelcastListConsumer.java
+++ b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/list/HazelcastListConsumer.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.component.hazelcast.list;
 
-import com.hazelcast.core.Hazelcast;
 import com.hazelcast.core.HazelcastInstance;
 import com.hazelcast.core.IList;
 
diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/list/HazelcastListProducer.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/list/HazelcastListProducer.java
index 01faeb8..c41a8e5 100644
--- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/list/HazelcastListProducer.java
+++ b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/list/HazelcastListProducer.java
@@ -18,7 +18,6 @@
 
 import java.util.Map;
 
-import com.hazelcast.core.Hazelcast;
 import com.hazelcast.core.HazelcastInstance;
 import com.hazelcast.core.IList;
 
diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/multimap/HazelcastMultimapConsumer.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/multimap/HazelcastMultimapConsumer.java
index f11faaa..191da3e 100644
--- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/multimap/HazelcastMultimapConsumer.java
+++ b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/multimap/HazelcastMultimapConsumer.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.component.hazelcast.multimap;
 
-import com.hazelcast.core.Hazelcast;
 import com.hazelcast.core.HazelcastInstance;
 import com.hazelcast.core.MultiMap;
 
diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastListConsumerTest.java b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastListConsumerTest.java
index d5d5641..e3dff8f 100644
--- a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastListConsumerTest.java
+++ b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastListConsumerTest.java
@@ -20,7 +20,6 @@
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
 
-import com.hazelcast.core.Hazelcast;
 import com.hazelcast.core.HazelcastInstance;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMapConsumerTest.java b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMapConsumerTest.java
index c92081d..aa495c7 100644
--- a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMapConsumerTest.java
+++ b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMapConsumerTest.java
@@ -19,7 +19,6 @@
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
 
-import com.hazelcast.core.Hazelcast;
 import com.hazelcast.core.HazelcastInstance;
 import com.hazelcast.core.IMap;
 
diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMapProducerForSpringTest.java b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMapProducerForSpringTest.java
index 137dbdf..531ca93 100644
--- a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMapProducerForSpringTest.java
+++ b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMapProducerForSpringTest.java
@@ -19,7 +19,6 @@
 import java.io.Serializable;
 import java.util.Collection;
 
-import com.hazelcast.core.Hazelcast;
 import com.hazelcast.core.HazelcastInstance;
 import com.hazelcast.core.IMap;
 
diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMapProducerTest.java b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMapProducerTest.java
index 19bd939..110ca14 100644
--- a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMapProducerTest.java
+++ b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMapProducerTest.java
@@ -19,7 +19,6 @@
 import java.io.Serializable;
 import java.util.Collection;
 
-import com.hazelcast.core.Hazelcast;
 import com.hazelcast.core.HazelcastInstance;
 import com.hazelcast.core.IMap;
 
diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMultimapConsumerTest.java b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMultimapConsumerTest.java
index 0f90cfc..aeb3559 100644
--- a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMultimapConsumerTest.java
+++ b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMultimapConsumerTest.java
@@ -19,7 +19,6 @@
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
 
-import com.hazelcast.core.Hazelcast;
 import com.hazelcast.core.HazelcastInstance;
 import com.hazelcast.core.MultiMap;
 
diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMultimapProducerTest.java b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMultimapProducerTest.java
index 2279fd3..f5d3865 100644
--- a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMultimapProducerTest.java
+++ b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastMultimapProducerTest.java
@@ -19,7 +19,6 @@
 import java.util.Collection;
 
 import com.hazelcast.core.Hazelcast;
-import com.hazelcast.core.HazelcastInstance;
 import com.hazelcast.core.MultiMap;
 
 import org.apache.camel.builder.RouteBuilder;
diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastSedaConfigurationTest.java b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastSedaConfigurationTest.java
index abdcff9..d95a8e9 100644
--- a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastSedaConfigurationTest.java
+++ b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastSedaConfigurationTest.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.component.hazelcast;
 
-import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.component.hazelcast.seda.HazelcastSedaEndpoint;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.Test;
diff --git a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java
index 50f1edc..f8595f4 100644
--- a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java
+++ b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpProducer.java
@@ -35,7 +35,6 @@
 import org.apache.camel.Message;
 import org.apache.camel.component.file.GenericFile;
 import org.apache.camel.component.http.helper.HttpHelper;
-import org.apache.camel.converter.IOConverter;
 import org.apache.camel.converter.stream.CachedOutputStream;
 import org.apache.camel.impl.DefaultProducer;
 import org.apache.camel.spi.HeaderFilterStrategy;
diff --git a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpProducer.java b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpProducer.java
index 1f9fe9f..3b6dc42 100644
--- a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpProducer.java
+++ b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpProducer.java
@@ -35,7 +35,6 @@
 import org.apache.camel.Message;
 import org.apache.camel.component.file.GenericFile;
 import org.apache.camel.component.http4.helper.HttpHelper;
-import org.apache.camel.converter.IOConverter;
 import org.apache.camel.converter.stream.CachedOutputStream;
 import org.apache.camel.impl.DefaultProducer;
 import org.apache.camel.spi.HeaderFilterStrategy;
diff --git a/components/camel-http4/src/main/java/org/apache/camel/component/http4/helper/HttpHelper.java b/components/camel-http4/src/main/java/org/apache/camel/component/http4/helper/HttpHelper.java
index 5dabf98..c37ec6a 100644
--- a/components/camel-http4/src/main/java/org/apache/camel/component/http4/helper/HttpHelper.java
+++ b/components/camel-http4/src/main/java/org/apache/camel/component/http4/helper/HttpHelper.java
@@ -35,7 +35,6 @@
 import org.apache.camel.component.http4.HttpConverter;
 import org.apache.camel.component.http4.HttpEndpoint;
 import org.apache.camel.component.http4.HttpMethods;
-import org.apache.camel.converter.IOConverter;
 import org.apache.camel.converter.stream.CachedOutputStream;
 import org.apache.camel.util.IOHelper;
 import org.apache.camel.util.ObjectHelper;
diff --git a/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpProducerTwoParametersWithSameKeyTest.java b/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpProducerTwoParametersWithSameKeyTest.java
index 85ea4a1..c64e7f6 100644
--- a/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpProducerTwoParametersWithSameKeyTest.java
+++ b/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpProducerTwoParametersWithSameKeyTest.java
@@ -17,12 +17,9 @@
 package org.apache.camel.component.http4;
 
 import java.io.IOException;
-import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.http.Header;
 import org.apache.http.HttpException;
 import org.apache.http.HttpRequest;
 import org.apache.http.HttpResponse;
diff --git a/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcChannel.java b/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcChannel.java
index 0f76132..5fbf0cc 100644
--- a/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcChannel.java
+++ b/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcChannel.java
@@ -16,8 +16,6 @@
  */
 package org.apache.camel.component.irc;
 
-import org.apache.camel.Exchange;
-
 public final class IrcChannel {
     private String name;
     private String key;
diff --git a/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcConfigurationTest.java b/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcConfigurationTest.java
index fa7626d..4ec0f64 100644
--- a/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcConfigurationTest.java
+++ b/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcConfigurationTest.java
@@ -17,8 +17,6 @@
 package org.apache.camel.component.irc;
 
 import java.net.URI;
-import java.net.URLEncoder;
-import java.util.Dictionary;
 import java.util.List;
 
 import org.apache.camel.Endpoint;
diff --git a/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcEndpointTest.java b/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcEndpointTest.java
index 06fa22e..622aaa4 100644
--- a/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcEndpointTest.java
+++ b/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcEndpointTest.java
@@ -17,8 +17,6 @@
 package org.apache.camel.component.irc;
 
 import java.util.ArrayList;
-import java.util.Dictionary;
-import java.util.Hashtable;
 import java.util.List;
 
 import org.junit.Before;
diff --git a/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcProducerTest.java b/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcProducerTest.java
index 8590181..dfb5a0e 100644
--- a/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcProducerTest.java
+++ b/components/camel-irc/src/test/java/org/apache/camel/component/irc/IrcProducerTest.java
@@ -21,7 +21,6 @@
 
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
-import org.apache.camel.Processor;
 import org.apache.camel.RuntimeCamelException;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/FallbackTypeConverter.java b/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/FallbackTypeConverter.java
index 2094e60..f6b97d4 100644
--- a/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/FallbackTypeConverter.java
+++ b/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/FallbackTypeConverter.java
@@ -44,7 +44,6 @@
 import org.apache.camel.StreamCache;
 import org.apache.camel.TypeConverter;
 import org.apache.camel.component.bean.BeanInvocation;
-import org.apache.camel.converter.IOConverter;
 import org.apache.camel.spi.TypeConverterAware;
 import org.apache.camel.util.IOHelper;
 import org.apache.camel.util.ObjectHelper;
diff --git a/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java b/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
index f9051d7..db9ff2f 100644
--- a/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
+++ b/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/JaxbDataFormat.java
@@ -37,7 +37,6 @@
 import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
 import org.apache.camel.Exchange;
-import org.apache.camel.converter.IOConverter;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.support.ServiceSupport;
 import org.apache.camel.util.IOHelper;
diff --git a/components/camel-jaxb/src/test/java/org/apache/camel/example/Foo.java b/components/camel-jaxb/src/test/java/org/apache/camel/example/Foo.java
index 179cb3c..478e1e6 100644
--- a/components/camel-jaxb/src/test/java/org/apache/camel/example/Foo.java
+++ b/components/camel-jaxb/src/test/java/org/apache/camel/example/Foo.java
@@ -25,8 +25,6 @@
 import javax.xml.bind.annotation.XmlElements;
 import javax.xml.bind.annotation.XmlRootElement;
 
-import org.apache.camel.model.RouteBuilderDefinition;
-
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.FIELD)
 public class Foo {
diff --git a/components/camel-jaxb/src/test/java/org/apache/camel/example/SpringDataFormatPartialTest.java b/components/camel-jaxb/src/test/java/org/apache/camel/example/SpringDataFormatPartialTest.java
index f0d98d1..6dee7c7 100644
--- a/components/camel-jaxb/src/test/java/org/apache/camel/example/SpringDataFormatPartialTest.java
+++ b/components/camel-jaxb/src/test/java/org/apache/camel/example/SpringDataFormatPartialTest.java
@@ -16,9 +16,7 @@
  */
 package org.apache.camel.example;
 
-import org.apache.camel.Exchange;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.model.language.MethodCallExpression;
 import org.apache.camel.model.language.XPathExpression;
 import org.apache.camel.test.junit4.CamelSpringTestSupport;
 import org.junit.Test;
diff --git a/components/camel-jaxb/src/test/java/org/apache/camel/jaxb/CamelJaxbTest.java b/components/camel-jaxb/src/test/java/org/apache/camel/jaxb/CamelJaxbTest.java
index 493a7dd..5e05c35 100644
--- a/components/camel-jaxb/src/test/java/org/apache/camel/jaxb/CamelJaxbTest.java
+++ b/components/camel-jaxb/src/test/java/org/apache/camel/jaxb/CamelJaxbTest.java
@@ -16,19 +16,13 @@
  */
 package org.apache.camel.jaxb;
 
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-
 import javax.xml.bind.JAXBElement;
 
 import org.apache.camel.CamelExecutionException;
-import org.apache.camel.Exchange;
-import org.apache.camel.TypeConverter;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.converter.jaxb.JaxbDataFormat;
 import org.apache.camel.foo.bar.PersonType;
-import org.apache.camel.impl.DefaultExchange;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.Test;
 
diff --git a/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsBlobStoreConsumer.java b/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsBlobStoreConsumer.java
index a37bac9..6119e67 100644
--- a/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsBlobStoreConsumer.java
+++ b/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsBlobStoreConsumer.java
@@ -16,10 +16,6 @@
  */
 package org.apache.camel.component.jclouds;
 
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectInputStream;
-import java.io.ObjectStreamClass;
 import java.util.LinkedList;
 import java.util.Queue;
 
diff --git a/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsBlobStoreHelper.java b/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsBlobStoreHelper.java
index 0e1d9ea..8fafa3d 100644
--- a/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsBlobStoreHelper.java
+++ b/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsBlobStoreHelper.java
@@ -23,8 +23,6 @@
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 import java.io.ObjectStreamClass;
-import org.apache.camel.Endpoint;
-import org.apache.camel.Exchange;
 import org.apache.camel.util.IOHelper;
 import org.jclouds.blobstore.BlobStore;
 import org.jclouds.blobstore.domain.Blob;
diff --git a/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsBlobStoreProducer.java b/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsBlobStoreProducer.java
index fbc43bb..50ece4a 100644
--- a/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsBlobStoreProducer.java
+++ b/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsBlobStoreProducer.java
@@ -16,15 +16,9 @@
  */
 package org.apache.camel.component.jclouds;
 
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.ObjectOutputStream;
-
 import org.apache.camel.Exchange;
 
 import org.jclouds.blobstore.BlobStore;
-import org.jclouds.blobstore.domain.Blob;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/components/camel-jcr/src/test/java/org/apache/camel/component/jcr/JcrAuthTestBase.java b/components/camel-jcr/src/test/java/org/apache/camel/component/jcr/JcrAuthTestBase.java
index 9dbef8a..2389455 100644
--- a/components/camel-jcr/src/test/java/org/apache/camel/component/jcr/JcrAuthTestBase.java
+++ b/components/camel-jcr/src/test/java/org/apache/camel/component/jcr/JcrAuthTestBase.java
@@ -21,7 +21,6 @@
 import javax.jcr.SimpleCredentials;
 import javax.jcr.security.AccessControlList;
 import javax.jcr.security.AccessControlManager;
-import javax.jcr.security.AccessControlPolicy;
 import javax.jcr.security.AccessControlPolicyIterator;
 import javax.naming.Context;
 
diff --git a/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcOptionsTest.java b/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcOptionsTest.java
index be6c1d2..c0b4de8 100644
--- a/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcOptionsTest.java
+++ b/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcOptionsTest.java
@@ -19,11 +19,8 @@
 import java.sql.Connection;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Properties;
-
 import javax.sql.DataSource;
 
-import org.apache.camel.CamelExecutionException;
 import org.apache.camel.ResolveEndpointFailedException;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
diff --git a/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/CamelMultipartFilter.java b/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/CamelMultipartFilter.java
index 05d2cb7..1229ed7 100644
--- a/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/CamelMultipartFilter.java
+++ b/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/CamelMultipartFilter.java
@@ -16,14 +16,7 @@
  */
 package org.apache.camel.component.jetty;
 
-import java.io.IOException;
-
 import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
 /**
  * Please use the CamelFilterWrapper instead of using this classs
  */
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/CustomFiltersTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/CustomFiltersTest.java
index 379b4d2..463151b 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/CustomFiltersTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/CustomFiltersTest.java
@@ -16,12 +16,10 @@
  */
 package org.apache.camel.component.jetty;
 
-import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.activation.DataHandler;
 import javax.servlet.Filter;
 import javax.servlet.FilterChain;
 import javax.servlet.FilterConfig;
@@ -35,15 +33,9 @@
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.impl.JndiRegistry;
-import org.apache.camel.test.junit4.CamelTestSupport;
 import org.apache.commons.httpclient.HttpClient;
 import org.apache.commons.httpclient.methods.PostMethod;
 import org.apache.commons.httpclient.methods.StringRequestEntity;
-import org.apache.commons.httpclient.methods.multipart.FilePart;
-import org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity;
-import org.apache.commons.httpclient.methods.multipart.Part;
-import org.apache.commons.httpclient.methods.multipart.StringPart;
-import org.eclipse.jetty.servlets.MultiPartFilter;
 import org.junit.Test;
 
 public class CustomFiltersTest extends BaseJettyTest {
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/MultiPartFormWithCustomFilterTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/MultiPartFormWithCustomFilterTest.java
index 49dfd34..846f8df 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/MultiPartFormWithCustomFilterTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/MultiPartFormWithCustomFilterTest.java
@@ -31,7 +31,6 @@
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.impl.JndiRegistry;
-import org.apache.camel.test.junit4.CamelTestSupport;
 import org.apache.commons.httpclient.HttpClient;
 import org.apache.commons.httpclient.methods.PostMethod;
 import org.apache.commons.httpclient.methods.multipart.FilePart;
diff --git a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java
index 8c30e50..f5dc3cb 100644
--- a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java
+++ b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java
@@ -26,7 +26,6 @@
 import org.apache.camel.impl.DefaultComponent;
 import org.apache.camel.spi.HeaderFilterStrategy;
 import org.apache.camel.spi.HeaderFilterStrategyAware;
-import org.apache.camel.util.CastUtils;
 import org.springframework.beans.BeansException;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.ApplicationContextAware;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSelectorInTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSelectorInTest.java
index bcd14c9..183cc57 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSelectorInTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSelectorInTest.java
@@ -18,8 +18,6 @@
 
 import javax.jms.ConnectionFactory;
 
-import org.apache.activemq.ActiveMQConnectionFactory;
-import org.apache.activemq.pool.PooledConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
diff --git a/components/camel-josql/src/main/java/org/apache/camel/language/sql/SqlLanguage.java b/components/camel-josql/src/main/java/org/apache/camel/language/sql/SqlLanguage.java
index b7666aa..4239527 100644
--- a/components/camel-josql/src/main/java/org/apache/camel/language/sql/SqlLanguage.java
+++ b/components/camel-josql/src/main/java/org/apache/camel/language/sql/SqlLanguage.java
@@ -16,14 +16,11 @@
  */
 package org.apache.camel.language.sql;
 
-import javax.xml.namespace.QName;
-
 import org.apache.camel.Expression;
 import org.apache.camel.IsSingleton;
 import org.apache.camel.Predicate;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.builder.sql.SqlBuilder;
-import org.apache.camel.builder.xml.XPathBuilder;
 import org.apache.camel.spi.Language;
 import org.josql.QueryParseException;
 
diff --git a/components/camel-josql/src/test/java/org/apache/camel/builder/sql/SqlTest.java b/components/camel-josql/src/test/java/org/apache/camel/builder/sql/SqlTest.java
index 5efdbaa..b0111c7 100644
--- a/components/camel-josql/src/test/java/org/apache/camel/builder/sql/SqlTest.java
+++ b/components/camel-josql/src/test/java/org/apache/camel/builder/sql/SqlTest.java
@@ -18,14 +18,11 @@
 
 import java.util.List;
 
-import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.Expression;
 import org.apache.camel.Message;
-import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.impl.DefaultExchange;
 import org.apache.camel.test.junit4.CamelTestSupport;
-import org.apache.camel.test.junit4.TestSupport;
 import org.junit.Before;
 import org.junit.Test;
 
diff --git a/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400DataQueueConsumer.java b/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400DataQueueConsumer.java
index 97cfd55..9f70ef3 100644
--- a/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400DataQueueConsumer.java
+++ b/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400DataQueueConsumer.java
@@ -17,8 +17,6 @@
 package org.apache.camel.component.jt400;
 
 import java.io.IOException;
-import java.util.concurrent.TimeUnit;
-
 import com.ibm.as400.access.AS400;
 import com.ibm.as400.access.AS400SecurityException;
 import com.ibm.as400.access.DataQueue;
diff --git a/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400DataQueueConsumerTest.java b/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400DataQueueConsumerTest.java
index 4f3e21d..b9380ef 100644
--- a/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400DataQueueConsumerTest.java
+++ b/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400DataQueueConsumerTest.java
@@ -26,8 +26,6 @@
 import org.junit.Ignore;
 import org.junit.Test;
 
-import static org.junit.Assert.assertTrue;
-
 /**
  * Test case for {@link Jt400DataQueueConsumer}.
  * <p>
diff --git a/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400PgmRouteTest.java b/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400PgmRouteTest.java
index d8ea392..442a94f 100644
--- a/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400PgmRouteTest.java
+++ b/components/camel-jt400/src/test/java/org/apache/camel/component/jt400/Jt400PgmRouteTest.java
@@ -19,7 +19,6 @@
 import java.util.Arrays;
 
 import org.apache.camel.Exchange;
-import org.apache.camel.builder.ExpressionClause;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit4.CamelTestSupport;
diff --git a/components/camel-krati/src/main/java/org/apache/camel/component/krati/KratiEndpoint.java b/components/camel-krati/src/main/java/org/apache/camel/component/krati/KratiEndpoint.java
index 6123bfd..76f1bb2 100644
--- a/components/camel-krati/src/main/java/org/apache/camel/component/krati/KratiEndpoint.java
+++ b/components/camel-krati/src/main/java/org/apache/camel/component/krati/KratiEndpoint.java
@@ -31,8 +31,6 @@
 import org.apache.camel.Producer;
 import org.apache.camel.component.krati.serializer.KratiDefaultSerializer;
 import org.apache.camel.impl.DefaultEndpoint;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 /**
  * Represents a Krati endpoint.
diff --git a/components/camel-krati/src/test/java/org/apache/camel/component/krati/KratiProducerTest.java b/components/camel-krati/src/test/java/org/apache/camel/component/krati/KratiProducerTest.java
index 8ebbd9e..cf025dc 100644
--- a/components/camel-krati/src/test/java/org/apache/camel/component/krati/KratiProducerTest.java
+++ b/components/camel-krati/src/test/java/org/apache/camel/component/krati/KratiProducerTest.java
@@ -17,13 +17,10 @@
 
 package org.apache.camel.component.krati;
 
-import java.io.File;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.Test;
 
 public class KratiProducerTest extends CamelTestSupport {
diff --git a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java
index 7dc05bb..42ccd41 100644
--- a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java
+++ b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailBinding.java
@@ -42,7 +42,6 @@
 
 import org.apache.camel.Exchange;
 import org.apache.camel.RuntimeCamelException;
-import org.apache.camel.converter.IOConverter;
 import org.apache.camel.converter.ObjectConverter;
 import org.apache.camel.impl.DefaultHeaderFilterStrategy;
 import org.apache.camel.spi.HeaderFilterStrategy;
diff --git a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java
index 505fcbc..2888837 100644
--- a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java
+++ b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java
@@ -48,6 +48,7 @@
         this.configuration = configuration;
     }
 
+    @Deprecated
     public MailEndpoint(String endpointUri, MailConfiguration configuration) {
         super(endpointUri);
         this.configuration = configuration;
diff --git a/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailEndpointTest.java b/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailEndpointTest.java
index e1e4195..cfd3e8cc 100644
--- a/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailEndpointTest.java
+++ b/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailEndpointTest.java
@@ -71,7 +71,8 @@
         cfg.setUsername("james");
         cfg.setPassword("secret");
 
-        MailEndpoint endpoint = new MailEndpoint("smtp://myhost", cfg);
+        MailComponent comp = new MailComponent(cfg);
+        MailEndpoint endpoint = new MailEndpoint("smtp://myhost", comp, cfg);
         assertSame(cfg, endpoint.getConfiguration());
         assertNull(endpoint.getContentTypeResolver());
         assertNotNull(endpoint.getBinding());
diff --git a/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java b/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
index 6ee5c2c..3b361ef 100644
--- a/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
+++ b/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
@@ -21,7 +21,6 @@
 import org.apache.camel.CamelException;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
-import org.apache.camel.converter.IOConverter;
 import org.apache.camel.impl.DefaultConsumer;
 import org.apache.camel.util.CamelLogger;
 import org.apache.camel.util.ExchangeHelper;
diff --git a/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java b/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
index 0cf4279..a4788a9 100644
--- a/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
+++ b/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
@@ -24,7 +24,6 @@
 import org.apache.camel.Exchange;
 import org.apache.camel.ExchangeTimedOutException;
 import org.apache.camel.ServicePoolAware;
-import org.apache.camel.converter.IOConverter;
 import org.apache.camel.impl.DefaultProducer;
 import org.apache.camel.util.CamelLogger;
 import org.apache.camel.util.ExchangeHelper;
diff --git a/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisComponent.java b/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisComponent.java
index a600f11..b938d27 100644
--- a/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisComponent.java
+++ b/components/camel-mybatis/src/main/java/org/apache/camel/component/mybatis/MyBatisComponent.java
@@ -18,14 +18,12 @@
 
 import java.io.IOException;
 import java.io.InputStream;
-import java.io.Reader;
 import java.util.Map;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.DefaultComponent;
 import org.apache.camel.util.IOHelper;
 import org.apache.camel.util.ObjectHelper;
-import org.apache.ibatis.io.Resources;
 import org.apache.ibatis.session.SqlSessionFactory;
 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
 
diff --git a/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyProducer.java b/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyProducer.java
index 906e7f9..ab66e84 100644
--- a/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyProducer.java
+++ b/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyProducer.java
@@ -26,7 +26,6 @@
 import org.apache.camel.Exchange;
 import org.apache.camel.NoTypeConversionAvailableException;
 import org.apache.camel.ServicePoolAware;
-import org.apache.camel.converter.IOConverter;
 import org.apache.camel.impl.DefaultAsyncProducer;
 import org.apache.camel.impl.DefaultExchange;
 import org.apache.camel.util.CamelLogger;
diff --git a/components/camel-netty/src/main/java/org/apache/camel/component/netty/handlers/ServerChannelHandler.java b/components/camel-netty/src/main/java/org/apache/camel/component/netty/handlers/ServerChannelHandler.java
index fbcdf56..0b77dd5 100644
--- a/components/camel-netty/src/main/java/org/apache/camel/component/netty/handlers/ServerChannelHandler.java
+++ b/components/camel-netty/src/main/java/org/apache/camel/component/netty/handlers/ServerChannelHandler.java
@@ -22,7 +22,6 @@
 import org.apache.camel.component.netty.NettyConsumer;
 import org.apache.camel.component.netty.NettyHelper;
 import org.apache.camel.component.netty.NettyPayloadHelper;
-import org.apache.camel.converter.IOConverter;
 import org.apache.camel.util.CamelLogger;
 import org.apache.camel.util.ExchangeHelper;
 import org.apache.camel.util.IOHelper;
diff --git a/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyUDPLargeMessageInOnlyTest.java b/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyUDPLargeMessageInOnlyTest.java
index f4f85d2..32c78ee 100644
--- a/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyUDPLargeMessageInOnlyTest.java
+++ b/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyUDPLargeMessageInOnlyTest.java
@@ -16,8 +16,6 @@
  */
 package org.apache.camel.component.netty;
 
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.junit.Test;
 
diff --git a/components/camel-ognl/pom.xml b/components/camel-ognl/pom.xml
index 250eed0..ded4071 100644
--- a/components/camel-ognl/pom.xml
+++ b/components/camel-ognl/pom.xml
@@ -45,7 +45,7 @@
       <artifactId>org.apache.servicemix.bundles.ognl</artifactId>
       <exclusions>
          <exclusion>
-            <groupId>jboss</groupId>
+            <groupId>javassist</groupId>
             <artifactId>javassist</artifactId>
          </exclusion>
       </exclusions>
diff --git a/components/camel-printer/src/main/java/org/apache/camel/component/printer/PrinterProducer.java b/components/camel-printer/src/main/java/org/apache/camel/component/printer/PrinterProducer.java
index e4f5709..4d9156e 100644
--- a/components/camel-printer/src/main/java/org/apache/camel/component/printer/PrinterProducer.java
+++ b/components/camel-printer/src/main/java/org/apache/camel/component/printer/PrinterProducer.java
@@ -31,8 +31,6 @@
 import org.apache.camel.Exchange;
 import org.apache.camel.impl.DefaultProducer;
 import org.apache.camel.util.ObjectHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 public class PrinterProducer extends DefaultProducer {
     private final PrinterConfiguration config;
diff --git a/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/ProtobufDataFormat.java b/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/ProtobufDataFormat.java
index b2bb2f7..15b47a2 100755
--- a/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/ProtobufDataFormat.java
+++ b/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/ProtobufDataFormat.java
@@ -20,8 +20,6 @@
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.lang.reflect.Method;
-import java.util.concurrent.atomic.AtomicBoolean;
-
 import com.google.protobuf.Message;
 import com.google.protobuf.Message.Builder;
 
diff --git a/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java b/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
index 4e40f5e..6a10dd0 100644
--- a/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
+++ b/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzComponent.java
@@ -31,7 +31,6 @@
 import org.apache.camel.CamelContext;
 import org.apache.camel.StartupListener;
 import org.apache.camel.impl.DefaultComponent;
-import org.apache.camel.util.IOHelper;
 import org.apache.camel.util.IntrospectionSupport;
 import org.apache.camel.util.ObjectHelper;
 import org.quartz.CronTrigger;
diff --git a/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/ScheduledRouteDetails.java b/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/ScheduledRouteDetails.java
index e45d3b4..56ac2ed 100644
--- a/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/ScheduledRouteDetails.java
+++ b/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/ScheduledRouteDetails.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.routepolicy.quartz;
 
-import org.apache.camel.Route;
 import org.quartz.JobDetail;
 import org.quartz.Trigger;
 
diff --git a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzRouteRestartTest.java b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzRouteRestartTest.java
index 441aaa9..ef06ee7 100644
--- a/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzRouteRestartTest.java
+++ b/components/camel-quartz/src/test/java/org/apache/camel/component/quartz/QuartzRouteRestartTest.java
@@ -24,7 +24,6 @@
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Ignore;
 import org.junit.Test;
 
 /**
diff --git a/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/MultiplePoliciesOnRouteTest.java b/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/MultiplePoliciesOnRouteTest.java
index 79cc3b0..f1a21e8 100644
--- a/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/MultiplePoliciesOnRouteTest.java
+++ b/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/MultiplePoliciesOnRouteTest.java
@@ -27,8 +27,6 @@
 import org.apache.camel.spi.RoutePolicy;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 /**
  * @version 
diff --git a/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SimpleScheduledCombinedRoutePolicyTest.java b/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SimpleScheduledCombinedRoutePolicyTest.java
index de33d46..c369eea 100644
--- a/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SimpleScheduledCombinedRoutePolicyTest.java
+++ b/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SimpleScheduledCombinedRoutePolicyTest.java
@@ -24,8 +24,6 @@
 import org.apache.camel.component.quartz.QuartzComponent;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 /**
  * @version 
diff --git a/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SpringMultiplePoliciesOnRouteTest.java b/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SpringMultiplePoliciesOnRouteTest.java
index 1f8924b..37d78fe 100644
--- a/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SpringMultiplePoliciesOnRouteTest.java
+++ b/components/camel-quartz/src/test/java/org/apache/camel/routepolicy/quartz/SpringMultiplePoliciesOnRouteTest.java
@@ -17,8 +17,6 @@
 package org.apache.camel.routepolicy.quartz;
 
 import org.apache.camel.test.junit4.CamelSpringTestSupport;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Before;
 import org.junit.Test;
 import org.springframework.context.support.AbstractApplicationContext;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
diff --git a/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjComponent.java b/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjComponent.java
index c2484a8..4801b76 100644
--- a/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjComponent.java
+++ b/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjComponent.java
@@ -68,7 +68,7 @@
                     }
                 }
 
-                endpoint = new QuickfixjEndpoint(engine, uri, getCamelContext());
+                endpoint = new QuickfixjEndpoint(engine, uri, this);
                 engine.addEventListener(endpoint);
                 endpoints.put(uri, endpoint);
             }
@@ -131,18 +131,4 @@
         this.configurations = configurations;
     }
 
-    private static String getPath(String uri) throws URISyntaxException {
-        // Adapted from DefaultComponent
-        URI u = new URI(UnsafeUriCharactersEncoder.encode(uri));
-        String path = u.getSchemeSpecificPart();
-        // lets trim off any query arguments
-        if (path.startsWith("//")) {
-            path = path.substring(2);
-        }
-        int idx = path.indexOf('?');
-        if (idx > 0) {
-            path = path.substring(0, idx);
-        }
-        return path;
-    }
 }
diff --git a/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEndpoint.java b/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEndpoint.java
index e5afdb1..dfa83ae 100644
--- a/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEndpoint.java
+++ b/components/camel-quickfix/src/main/java/org/apache/camel/component/quickfixj/QuickfixjEndpoint.java
@@ -20,6 +20,7 @@
 import java.util.concurrent.CopyOnWriteArrayList;
 
 import org.apache.camel.CamelContext;
+import org.apache.camel.Component;
 import org.apache.camel.Consumer;
 import org.apache.camel.Exchange;
 import org.apache.camel.MultipleConsumersSupport;
@@ -46,10 +47,15 @@
     private final List<QuickfixjConsumer> consumers = new CopyOnWriteArrayList<QuickfixjConsumer>();
     private final QuickfixjEngine engine;
 
+    @Deprecated
     public QuickfixjEndpoint(QuickfixjEngine engine, String uri, CamelContext context) {
         super(uri, context);
         this.engine = engine;
     }
+    public QuickfixjEndpoint(QuickfixjEngine engine, String uri, Component component) {
+        super(uri, component);
+        this.engine = engine;
+    }
 
     public SessionID getSessionID() {
         return sessionID;
diff --git a/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/examples/trading/TradeExecutorComponent.java b/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/examples/trading/TradeExecutorComponent.java
index d156170..66ab591 100644
--- a/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/examples/trading/TradeExecutorComponent.java
+++ b/components/camel-quickfix/src/test/java/org/apache/camel/component/quickfixj/examples/trading/TradeExecutorComponent.java
@@ -94,7 +94,7 @@
         private List<Processor> processors = new CopyOnWriteArrayList<Processor>();
         
         public TradeExecutorEndpoint(String uri, TradeExecutor tradeExecutor) {
-            super(uri, TradeExecutorComponent.this.getCamelContext());
+            super(uri, TradeExecutorComponent.this);
             this.tradeExecutor = tradeExecutor;
             tradeExecutor.addListener(new QuickfixjMessageListener() {
                 public void onMessage(SessionID sessionID, Message message) throws Exception {
diff --git a/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletComponent.java b/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletComponent.java
index aca8c11..d158072 100644
--- a/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletComponent.java
+++ b/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletComponent.java
@@ -16,16 +16,13 @@
  */
 package org.apache.camel.component.restlet;
 
-import java.io.UnsupportedEncodingException;
 import java.net.URI;
-import java.net.URLDecoder;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 import org.apache.camel.Endpoint;
-import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.impl.HeaderFilterStrategyComponent;
 import org.apache.camel.util.URISupport;
 import org.apache.camel.util.UnsafeUriCharactersEncoder;
diff --git a/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletExceptionResponseTest.java b/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletExceptionResponseTest.java
index de047a8..2c64155 100644
--- a/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletExceptionResponseTest.java
+++ b/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletExceptionResponseTest.java
@@ -17,7 +17,6 @@
 package org.apache.camel.component.restlet;
 
 import org.apache.camel.Exchange;
-import org.apache.camel.ExchangePattern;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.http.HttpResponse;
diff --git a/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiEndpoint.java b/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiEndpoint.java
index dedbabd..a49ca2d 100644
--- a/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiEndpoint.java
+++ b/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiEndpoint.java
@@ -49,6 +49,7 @@
         this.uri = new URI(endpointUri);
     }
 
+    @Deprecated
     public RmiEndpoint(String endpointUri) throws URISyntaxException {
         super(endpointUri);
         this.uri = new URI(endpointUri);
diff --git a/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/RouteboxEndpoint.java b/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/RouteboxEndpoint.java
index 884a5a3..8eaad1c 100644
--- a/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/RouteboxEndpoint.java
+++ b/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/RouteboxEndpoint.java
@@ -27,10 +27,12 @@
         super();
     }
     
+    @Deprecated
     public RouteboxEndpoint(String endpointUri) {
         super(endpointUri);
     }
     
+    @Deprecated
     public RouteboxEndpoint(String endpointUri, CamelContext camelContext) {
         super(endpointUri, camelContext);
     }
diff --git a/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/direct/RouteboxDirectEndpoint.java b/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/direct/RouteboxDirectEndpoint.java
index 7d4ea90..afec7f3 100644
--- a/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/direct/RouteboxDirectEndpoint.java
+++ b/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/direct/RouteboxDirectEndpoint.java
@@ -29,6 +29,7 @@
 public class RouteboxDirectEndpoint extends RouteboxEndpoint {
     private final Map<String, RouteboxDirectConsumer> consumers = new HashMap<String, RouteboxDirectConsumer>();
 
+    @Deprecated
     public RouteboxDirectEndpoint(String endpointUri) {
         super(endpointUri);
     }
diff --git a/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java b/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
index eead13b..edfb683 100644
--- a/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
+++ b/components/camel-saxon/src/main/java/org/apache/camel/component/xquery/XQueryBuilder.java
@@ -40,7 +40,6 @@
 import javax.xml.transform.stream.StreamResult;
 import javax.xml.transform.stream.StreamSource;
 
-import org.w3c.dom.Document;
 import org.w3c.dom.Node;
 
 import net.sf.saxon.Configuration;
@@ -63,10 +62,8 @@
 import org.apache.camel.Processor;
 import org.apache.camel.RuntimeExpressionException;
 import org.apache.camel.StringSource;
-import org.apache.camel.WrappedFile;
 import org.apache.camel.component.bean.BeanInvocation;
 import org.apache.camel.converter.IOConverter;
-import org.apache.camel.converter.jaxp.XmlConverter;
 import org.apache.camel.spi.NamespaceAware;
 import org.apache.camel.util.IOHelper;
 import org.apache.camel.util.MessageHelper;
@@ -88,7 +85,6 @@
     private StaticQueryContext staticQueryContext;
     private Map<String, Object> parameters = new HashMap<String, Object>();
     private Map<String, String> namespacePrefixes = new HashMap<String, String>();
-    private XmlConverter converter = new XmlConverter();
     private ResultFormat resultsFormat = ResultFormat.DOM;
     private Properties properties = new Properties();
     private Class resultType;
diff --git a/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SLogProcessorTest.scala b/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SLogProcessorTest.scala
index 0fcaa90..263361c 100644
--- a/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SLogProcessorTest.scala
+++ b/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/SLogProcessorTest.scala
@@ -39,5 +39,10 @@
       // log(LoggingLevel.INFO, "cool", "mymarker", "Me got ${body}")
       to("mock:wombat")
     }
+
+    "nolog" :: "direct:nolog" ==> {
+      log(LoggingLevel.TRACE, "Should not log ${body}")
+      to("mock:bar")
+    }
   }
 }
diff --git a/components/camel-shiro/src/main/java/org/apache/camel/component/shiro/security/ShiroSecurityPolicy.java b/components/camel-shiro/src/main/java/org/apache/camel/component/shiro/security/ShiroSecurityPolicy.java
index dae7b40..760f6ab 100644
--- a/components/camel-shiro/src/main/java/org/apache/camel/component/shiro/security/ShiroSecurityPolicy.java
+++ b/components/camel-shiro/src/main/java/org/apache/camel/component/shiro/security/ShiroSecurityPolicy.java
@@ -26,7 +26,6 @@
 import org.apache.camel.CamelAuthorizationException;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
-import org.apache.camel.impl.converter.AsyncProcessorTypeConverter;
 import org.apache.camel.model.ProcessorDefinition;
 import org.apache.camel.spi.AuthorizationPolicy;
 import org.apache.camel.spi.RouteContext;
diff --git a/components/camel-shiro/src/test/java/org/apache/camel/component/shiro/security/ShiroAuthorizationTest.java b/components/camel-shiro/src/test/java/org/apache/camel/component/shiro/security/ShiroAuthorizationTest.java
index 1b333e9..ec78ea9 100644
--- a/components/camel-shiro/src/test/java/org/apache/camel/component/shiro/security/ShiroAuthorizationTest.java
+++ b/components/camel-shiro/src/test/java/org/apache/camel/component/shiro/security/ShiroAuthorizationTest.java
@@ -27,9 +27,6 @@
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.apache.shiro.authz.Permission;
 import org.apache.shiro.authz.permission.WildcardPermission;
-import org.apache.shiro.config.IniSecurityManagerFactory;
-import org.apache.shiro.mgt.SecurityManager;
-import org.apache.shiro.util.Factory;
 import org.junit.Test;
 
 public class ShiroAuthorizationTest extends CamelTestSupport {
diff --git a/components/camel-sip/src/test/java/org/apache/camel/component/sip/PublishSubscribeTest.java b/components/camel-sip/src/test/java/org/apache/camel/component/sip/PublishSubscribeTest.java
index ae705be..3343d83 100644
--- a/components/camel-sip/src/test/java/org/apache/camel/component/sip/PublishSubscribeTest.java
+++ b/components/camel-sip/src/test/java/org/apache/camel/component/sip/PublishSubscribeTest.java
@@ -25,8 +25,6 @@
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 public class PublishSubscribeTest extends CamelTestSupport {
     
diff --git a/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrComponentTestSupport.java b/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrComponentTestSupport.java
index eb78e6bc..682c7f1 100644
--- a/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrComponentTestSupport.java
+++ b/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrComponentTestSupport.java
@@ -17,7 +17,6 @@
 package org.apache.camel.component.solr;
 
 import java.util.HashMap;
-import org.apache.camel.EndpointInject;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.apache.solr.client.solrj.SolrQuery;
diff --git a/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrDeleteTest.java b/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrDeleteTest.java
index c8f104f..9744bc8 100644
--- a/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrDeleteTest.java
+++ b/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrDeleteTest.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.component.solr;
 
-import org.apache.solr.client.solrj.response.QueryResponse;
 import org.junit.Test;
 
 public class SolrDeleteTest extends SolrComponentTestSupport {
diff --git a/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrServerMissingTest.java b/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrServerMissingTest.java
index 4d55561..b778cfa 100644
--- a/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrServerMissingTest.java
+++ b/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrServerMissingTest.java
@@ -17,8 +17,6 @@
 package org.apache.camel.component.solr;
 
 import org.apache.camel.Exchange;
-import org.apache.camel.Produce;
-import org.apache.camel.ProducerTemplate;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.apache.solr.client.solrj.SolrServerException;
diff --git a/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrTransactionsTest.java b/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrTransactionsTest.java
index 4c9b125..0284fc9 100644
--- a/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrTransactionsTest.java
+++ b/components/camel-solr/src/test/java/org/apache/camel/component/solr/SolrTransactionsTest.java
@@ -16,8 +16,6 @@
  */
 package org.apache.camel.component.solr;
 
-import java.util.HashMap;
-import org.apache.solr.client.solrj.response.QueryResponse;
 import org.junit.Test;
 
 public class SolrTransactionsTest extends SolrComponentTestSupport {
diff --git a/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationEndpoint.java b/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationEndpoint.java
index 764d134..a5dc31c 100644
--- a/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationEndpoint.java
+++ b/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationEndpoint.java
@@ -41,11 +41,13 @@
         this.defaultChannel = channel;
     }
 
+    @Deprecated
     public SpringIntegrationEndpoint(String uri, MessageChannel channel, CamelContext context) {
         super(uri, context);
         this.messageChannel = channel;
     }
 
+    @Deprecated
     public SpringIntegrationEndpoint(String endpointUri, MessageChannel messageChannel) {
         super(endpointUri);
         this.messageChannel = messageChannel;
diff --git a/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/converter/SpringIntegrationConverter.java b/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/converter/SpringIntegrationConverter.java
index 410479b..e38c61a 100644
--- a/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/converter/SpringIntegrationConverter.java
+++ b/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/converter/SpringIntegrationConverter.java
@@ -38,6 +38,7 @@
     }
 
     @Converter
+    @SuppressWarnings("deprecation")
     public static Endpoint toEndpoint(final MessageChannel channel) throws Exception {
         Endpoint answer = new SpringIntegrationEndpoint("spring-integration://" + channel.toString(), channel, null);
         return answer;
diff --git a/components/camel-spring-integration/src/main/resources/META-INF/spring.schemas b/components/camel-spring-integration/src/main/resources/META-INF/spring.schemas
index dd1e76d..76d5fd5 100644
--- a/components/camel-spring-integration/src/main/resources/META-INF/spring.schemas
+++ b/components/camel-spring-integration/src/main/resources/META-INF/spring.schemas
@@ -36,4 +36,4 @@
 http\://camel.apache.org/schema/spring/integration/camel-spring-integration-2.8.1.xsd=schema/camel-spring-integration.xsd

 http\://camel.apache.org/schema/spring/integration/camel-spring-integration-2.8.2.xsd=schema/camel-spring-integration.xsd

 http\://camel.apache.org/schema/spring/integration/camel-spring-integration-2.8.3.xsd=schema/camel-spring-integration.xsd

-http\://camel.apache.org/schema/spring/integration/camel-spring-integration-${pom.version}.xsd=schema/camel-spring-integration.xsd
\ No newline at end of file
+http\://camel.apache.org/schema/spring/integration/camel-spring-integration-${project.version}.xsd=schema/camel-spring-integration.xsd
\ No newline at end of file
diff --git a/components/camel-spring-javaconfig/src/main/java/org/apache/camel/spring/javaconfig/CamelConfiguration.java b/components/camel-spring-javaconfig/src/main/java/org/apache/camel/spring/javaconfig/CamelConfiguration.java
index e3088f5..8c29816 100644
--- a/components/camel-spring-javaconfig/src/main/java/org/apache/camel/spring/javaconfig/CamelConfiguration.java
+++ b/components/camel-spring-javaconfig/src/main/java/org/apache/camel/spring/javaconfig/CamelConfiguration.java
@@ -25,8 +25,6 @@
 import org.apache.camel.spring.SpringCamelContext;
 import org.springframework.beans.factory.BeanFactory;
 import org.springframework.beans.factory.BeanFactoryAware;
-import org.springframework.beans.factory.FactoryBean;
-import org.springframework.beans.factory.ListableBeanFactory;
 import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.ApplicationContextAware;
diff --git a/components/camel-spring-javaconfig/src/main/java/org/apache/camel/spring/javaconfig/Main.java b/components/camel-spring-javaconfig/src/main/java/org/apache/camel/spring/javaconfig/Main.java
index 31c8c1e..6a73c1f 100644
--- a/components/camel-spring-javaconfig/src/main/java/org/apache/camel/spring/javaconfig/Main.java
+++ b/components/camel-spring-javaconfig/src/main/java/org/apache/camel/spring/javaconfig/Main.java
@@ -20,10 +20,6 @@
 import java.util.ArrayList;
 import java.util.LinkedList;
 import java.util.List;
-import java.util.Map;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.spring.SpringCamelContext;
 import org.apache.camel.util.ObjectHelper;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.annotation.AnnotationConfigApplicationContext;
diff --git a/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/MainTest.java b/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/MainTest.java
index aaa18c8..099bc82 100644
--- a/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/MainTest.java
+++ b/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/MainTest.java
@@ -21,7 +21,6 @@
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.spring.SpringCamelContext;
 import org.junit.Assert;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.springframework.context.ApplicationContext;
 
diff --git a/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/SpringSecurityAccessPolicy.java b/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/SpringSecurityAccessPolicy.java
index b3921e9..df35f4b 100644
--- a/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/SpringSecurityAccessPolicy.java
+++ b/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/SpringSecurityAccessPolicy.java
@@ -22,7 +22,6 @@
 import org.springframework.security.access.ConfigAttribute;
 import org.springframework.security.access.SecurityConfig;
 import org.springframework.util.Assert;
-import org.springframework.util.StringUtils;
 
 public class SpringSecurityAccessPolicy {
 
diff --git a/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicy.java b/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicy.java
index ae74a05..6374e70 100644
--- a/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicy.java
+++ b/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicy.java
@@ -42,7 +42,6 @@
 import org.springframework.security.access.event.AuthorizedEvent;
 import org.springframework.security.authentication.AuthenticationManager;
 import org.springframework.security.core.Authentication;
-import org.springframework.security.core.AuthenticationException;
 import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.util.Assert;
 
diff --git a/components/camel-spring-security/src/main/resources/META-INF/spring.schemas b/components/camel-spring-security/src/main/resources/META-INF/spring.schemas
index 2337c9a..049cd3f 100644
--- a/components/camel-spring-security/src/main/resources/META-INF/spring.schemas
+++ b/components/camel-spring-security/src/main/resources/META-INF/spring.schemas
@@ -30,4 +30,4 @@
 http\://camel.apache.org/schema/spring-security/camel-spring-security-2.8.1.xsd=schema/camel-spring-security.xsd

 http\://camel.apache.org/schema/spring-security/camel-spring-security-2.8.2.xsd=schema/camel-spring-security.xsd

 http\://camel.apache.org/schema/spring-security/camel-spring-security-2.8.3.xsd=schema/camel-spring-security.xsd

-http\://camel.apache.org/schema/spring-security/camel-spring-security-${pom.version}.xsd=schema/camel-spring-security.xsd
\ No newline at end of file
+http\://camel.apache.org/schema/spring-security/camel-spring-security-${project.version}.xsd=schema/camel-spring-security.xsd
\ No newline at end of file
diff --git a/components/camel-spring-security/src/test/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicyTest.java b/components/camel-spring-security/src/test/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicyTest.java
index 96c6068..01cae9e 100644
--- a/components/camel-spring-security/src/test/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicyTest.java
+++ b/components/camel-spring-security/src/test/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicyTest.java
@@ -17,7 +17,6 @@
 package org.apache.camel.component.spring.security;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 
 import javax.security.auth.Subject;
diff --git a/components/camel-spring-security/src/test/java/org/apache/camel/component/spring/security/config/SpringSecurityAuthorizationPolicyConfigTest.java b/components/camel-spring-security/src/test/java/org/apache/camel/component/spring/security/config/SpringSecurityAuthorizationPolicyConfigTest.java
index bd117e4..e6de636 100644
--- a/components/camel-spring-security/src/test/java/org/apache/camel/component/spring/security/config/SpringSecurityAuthorizationPolicyConfigTest.java
+++ b/components/camel-spring-security/src/test/java/org/apache/camel/component/spring/security/config/SpringSecurityAuthorizationPolicyConfigTest.java
@@ -17,7 +17,6 @@
 package org.apache.camel.component.spring.security.config;
 
 import org.apache.camel.component.spring.security.SpringSecurityAuthorizationPolicy;
-import org.apache.camel.spi.Policy;
 import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
diff --git a/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/StockQuoteResponseProcessor.java b/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/StockQuoteResponseProcessor.java
index f957d7d..d190beb 100644
--- a/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/StockQuoteResponseProcessor.java
+++ b/components/camel-spring-ws/src/test/java/org/apache/camel/component/spring/ws/StockQuoteResponseProcessor.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.component.spring.ws;
 
-import java.io.File;
 import java.io.InputStream;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
diff --git a/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java b/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
index 14ff2ce..868ccd2 100644
--- a/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
+++ b/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.spring.spi;
 
-import org.apache.camel.ErrorHandlerFactory;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.ErrorHandlerBuilder;
 import org.apache.camel.builder.ErrorHandlerBuilderRef;
diff --git a/components/camel-spring/src/main/resources/META-INF/spring.schemas b/components/camel-spring/src/main/resources/META-INF/spring.schemas
index cbae81d..c100681 100644
--- a/components/camel-spring/src/main/resources/META-INF/spring.schemas
+++ b/components/camel-spring/src/main/resources/META-INF/spring.schemas
@@ -38,7 +38,7 @@
 http\://camel.apache.org/schema/spring/camel-spring-2.8.1.xsd=camel-spring.xsd
 http\://camel.apache.org/schema/spring/camel-spring-2.8.2.xsd=camel-spring.xsd
 http\://camel.apache.org/schema/spring/camel-spring-2.8.3.xsd=camel-spring.xsd
-http\://camel.apache.org/schema/spring/camel-spring-${pom.version}.xsd=camel-spring.xsd
+http\://camel.apache.org/schema/spring/camel-spring-${project.version}.xsd=camel-spring.xsd
 
 http\://camel.apache.org/schema/osgi/camel-osgi.xsd=camel-osgi.xsd
 
@@ -61,4 +61,4 @@
 http\://camel.apache.org/schema/osgi/camel-osgi-2.8.1.xsd=camel-osgi.xsd
 http\://camel.apache.org/schema/osgi/camel-osgi-2.8.2.xsd=camel-osgi.xsd
 http\://camel.apache.org/schema/osgi/camel-osgi-2.8.3.xsd=camel-osgi.xsd
-http\://camel.apache.org/schema/osgi/camel-osgi-${pom.version}.xsd=camel-osgi.xsd
+http\://camel.apache.org/schema/osgi/camel-osgi-${project.version}.xsd=camel-osgi.xsd
diff --git a/components/camel-spring/src/test/java/org/apache/camel/language/SpringSimpleRegexTest.java b/components/camel-spring/src/test/java/org/apache/camel/language/SpringSimpleRegexTest.java
new file mode 100644
index 0000000..c382214
--- /dev/null
+++ b/components/camel-spring/src/test/java/org/apache/camel/language/SpringSimpleRegexTest.java
@@ -0,0 +1,39 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.language;
+
+import org.apache.camel.spring.SpringTestSupport;
+import org.springframework.context.support.AbstractXmlApplicationContext;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+
+public class SpringSimpleRegexTest extends SpringTestSupport {
+
+    @Override
+    protected AbstractXmlApplicationContext createApplicationContext() {
+        return new ClassPathXmlApplicationContext("org/apache/camel/language/springSimpleRegexContext.xml");
+    }
+    
+    public void testSimpleRegex() {
+        String result = template.requestBody("direct:start", "Something is wrong", String.class);
+        System.out.println("result : " + result);
+        
+        result = template.requestBody("direct:start", "12.34.5678", String.class);
+        System.out.println("result : " + result);
+    }
+    
+
+}
diff --git a/components/camel-spring/src/test/java/org/apache/camel/spring/ApplicationContextTestSupport.java b/components/camel-spring/src/test/java/org/apache/camel/spring/ApplicationContextTestSupport.java
index 507d59a..ec7b377 100644
--- a/components/camel-spring/src/test/java/org/apache/camel/spring/ApplicationContextTestSupport.java
+++ b/components/camel-spring/src/test/java/org/apache/camel/spring/ApplicationContextTestSupport.java
@@ -17,7 +17,6 @@
 package org.apache.camel.spring;
 
 import junit.framework.TestCase;
-import org.apache.camel.util.ObjectHelper;
 import org.springframework.context.support.AbstractXmlApplicationContext;
 
 /**
diff --git a/components/camel-spring/src/test/java/org/apache/camel/spring/DummyLifecycleStrategy.java b/components/camel-spring/src/test/java/org/apache/camel/spring/DummyLifecycleStrategy.java
index 5eccce9..0fd6c65 100644
--- a/components/camel-spring/src/test/java/org/apache/camel/spring/DummyLifecycleStrategy.java
+++ b/components/camel-spring/src/test/java/org/apache/camel/spring/DummyLifecycleStrategy.java
@@ -26,7 +26,6 @@
 import org.apache.camel.Processor;
 import org.apache.camel.Route;
 import org.apache.camel.Service;
-import org.apache.camel.builder.ErrorHandlerBuilder;
 import org.apache.camel.spi.LifecycleStrategy;
 import org.apache.camel.spi.RouteContext;
 
diff --git a/components/camel-spring/src/test/java/org/apache/camel/spring/SpringTestSupport.java b/components/camel-spring/src/test/java/org/apache/camel/spring/SpringTestSupport.java
index 3e4aac6..2df63f3 100644
--- a/components/camel-spring/src/test/java/org/apache/camel/spring/SpringTestSupport.java
+++ b/components/camel-spring/src/test/java/org/apache/camel/spring/SpringTestSupport.java
@@ -30,7 +30,6 @@
 import org.apache.camel.impl.scan.AssignableToPackageScanFilter;
 import org.apache.camel.impl.scan.InvertingPackageScanFilter;
 import org.apache.camel.util.CastUtils;
-import org.apache.camel.util.ObjectHelper;
 import org.springframework.beans.factory.support.RootBeanDefinition;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.support.AbstractXmlApplicationContext;
diff --git a/components/camel-spring/src/test/resources/org/apache/camel/language/springSimpleRegexContext.xml b/components/camel-spring/src/test/resources/org/apache/camel/language/springSimpleRegexContext.xml
new file mode 100644
index 0000000..6becbc1
--- /dev/null
+++ b/components/camel-spring/src/test/resources/org/apache/camel/language/springSimpleRegexContext.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="
+       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+       http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
+    ">
+
+  <camelContext xmlns="http://camel.apache.org/schema/spring">
+      <route>
+	      <from uri="direct:start" />
+	      <choice>
+	          <when>
+	              <simple>${body} regex '^\d{2}\.\d{2}\.\d{4}$'</simple>
+	                  <setBody>
+	                      <constant>Found the result.</constant>
+	                  </setBody>
+	           </when>
+	           <otherwise>
+	              <setBody>
+	                  <constant>Let's keep looking.</constant>
+	              </setBody>
+	           </otherwise>
+	      </choice>
+      </route>
+  </camelContext>
+
+</beans>
diff --git a/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/logProcessorTest.xml b/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/logProcessorTest.xml
index 6d776ff..51d8ee9 100644
--- a/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/logProcessorTest.xml
+++ b/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/logProcessorTest.xml
@@ -48,6 +48,12 @@
             <to uri="mock:wombat"/>
         </route>
 
+        <route id="nolog">
+            <from uri="direct:nolog"/>
+            <log message="Should not log ${body}" loggingLevel="TRACE"/>
+            <to uri="mock:bar"/>
+        </route>
+
     </camelContext>
 
 </beans>
diff --git a/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java b/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java
new file mode 100644
index 0000000..e899afc
--- /dev/null
+++ b/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/AbstractJdbcMessageIdRepository.java
@@ -0,0 +1,203 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.processor.idempotent.jdbc;
+
+import javax.sql.DataSource;
+
+import org.apache.camel.spi.IdempotentRepository;
+import org.apache.camel.support.ServiceSupport;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.datasource.DataSourceTransactionManager;
+import org.springframework.jmx.export.annotation.ManagedOperation;
+import org.springframework.jmx.export.annotation.ManagedResource;
+import org.springframework.transaction.TransactionDefinition;
+import org.springframework.transaction.TransactionStatus;
+import org.springframework.transaction.support.TransactionCallback;
+import org.springframework.transaction.support.TransactionTemplate;
+
+/**
+ * Base class for JDBC-based idempotent repositories that allows the schema to be changed.
+ * <p/>
+ * Subclasses need only implement theses methods:
+ * <ul>
+ *   <li>{@link #queryForInt(T key)}</li>
+ *   <li>{@link #insert(T key)}</li>
+ *   <li>{@link #delete(T key)}</li>
+ * </ul>
+ * <p/>
+ * These methods should perform the named database operation.
+ */
+@ManagedResource("JDBC IdempotentRepository")
+public abstract class AbstractJdbcMessageIdRepository<T> extends ServiceSupport implements IdempotentRepository<T> {
+
+    protected JdbcTemplate jdbcTemplate;
+    protected String processorName;
+    protected TransactionTemplate transactionTemplate;
+    protected DataSource dataSource;
+
+    public AbstractJdbcMessageIdRepository() {
+        super();
+    }
+
+    public AbstractJdbcMessageIdRepository(JdbcTemplate jdbcTemplate, TransactionTemplate transactionTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+        this.transactionTemplate = transactionTemplate;
+    }
+
+    public AbstractJdbcMessageIdRepository(DataSource dataSource, TransactionTemplate transactionTemplate, String processorName) {
+        this.jdbcTemplate = new JdbcTemplate(dataSource);
+        this.jdbcTemplate.afterPropertiesSet();
+        this.processorName = processorName;
+        this.transactionTemplate = transactionTemplate;
+    }
+
+    public AbstractJdbcMessageIdRepository(DataSource dataSource, String processorName) {
+        this(dataSource, createTransactionTemplate(dataSource), processorName);
+    }
+
+    /**
+     * Operation that returns the number of rows, if any, for the specified key
+     *
+     * @param key  the key
+     * @return int number of rows
+     */
+    protected abstract int queryForInt(final T key);
+
+    /**
+     * Operation that inserts the key if it does not already exist
+     *
+     * @param key  the key
+     * @return int number of rows inserted
+     */
+    protected abstract int insert(final T key);
+
+    /**
+     * Operations that deletes the key if it exists
+     *
+     * @param key  the key
+     * @return int number of rows deleted
+     */
+    protected abstract int delete(final T key);
+
+    /**
+     * Creates the transaction template
+     */
+    protected static TransactionTemplate createTransactionTemplate(DataSource dataSource) {
+        TransactionTemplate transactionTemplate = new TransactionTemplate();
+        transactionTemplate.setTransactionManager(new DataSourceTransactionManager(dataSource));
+        transactionTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
+        return transactionTemplate;
+    }
+
+    @Override
+    protected void doStart() throws Exception {
+    }
+
+    @Override
+    protected void doStop() throws Exception {
+    }
+
+    @ManagedOperation(description = "Adds the key to the store")
+    @Override
+    public boolean add(final T key) {
+        // Run this in single transaction.
+        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
+            public Boolean doInTransaction(TransactionStatus status) {
+                int count = queryForInt(key);
+                if (count == 0) {
+                    insert(key);
+                    return Boolean.TRUE;
+                } else {
+                    return Boolean.FALSE;
+                }
+            }
+        });
+        return rc.booleanValue();
+    }
+
+    @ManagedOperation(description = "Does the store contain the given key")
+    @Override
+    public boolean contains(final T key) {
+        // Run this in single transaction.
+        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
+            public Boolean doInTransaction(TransactionStatus status) {
+                int count = queryForInt(key);
+                if (count == 0) {
+                    return Boolean.FALSE;
+                } else {
+                    return Boolean.TRUE;
+                }
+            }
+        });
+        return rc.booleanValue();
+
+    }
+
+    @ManagedOperation(description = "Remove the key from the store")
+    @Override
+    public boolean remove(final T key) {
+        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
+            public Boolean doInTransaction(TransactionStatus status) {
+                int updateCount = delete(key);
+                if (updateCount == 0) {
+                    return Boolean.FALSE;
+                } else {
+                    return Boolean.TRUE;
+                }
+            }
+        });
+        return rc.booleanValue();
+    }
+
+    @Override
+    public boolean confirm(final T key) {
+        return true;
+    }
+
+    public JdbcTemplate getJdbcTemplate() {
+        return jdbcTemplate;
+    }
+
+    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
+
+    public String getProcessorName() {
+        return processorName;
+    }
+
+    public void setProcessorName(String processorName) {
+        this.processorName = processorName;
+    }
+
+    public TransactionTemplate getTransactionTemplate() {
+        return transactionTemplate;
+    }
+
+    public void setTransactionTemplate(TransactionTemplate transactionTemplate) {
+        this.transactionTemplate = transactionTemplate;
+    }
+
+    public DataSource getDataSource() {
+        return dataSource;
+    }
+
+    public void setDataSource(DataSource dataSource) {
+        this.dataSource = dataSource;
+    }
+
+}
diff --git a/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/JdbcMessageIdRepository.java b/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/JdbcMessageIdRepository.java
index ac6863a..d35bc23 100644
--- a/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/JdbcMessageIdRepository.java
+++ b/components/camel-sql/src/main/java/org/apache/camel/processor/idempotent/jdbc/JdbcMessageIdRepository.java
@@ -17,120 +17,49 @@
 package org.apache.camel.processor.idempotent.jdbc;
 
 import java.sql.Timestamp;
-
 import javax.sql.DataSource;
 
-import org.apache.camel.api.management.ManagedAttribute;
-import org.apache.camel.api.management.ManagedOperation;
-import org.apache.camel.api.management.ManagedResource;
-import org.apache.camel.spi.IdempotentRepository;
-import org.apache.camel.support.ServiceSupport;
 import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.datasource.DataSourceTransactionManager;
-import org.springframework.transaction.TransactionDefinition;
-import org.springframework.transaction.TransactionStatus;
-import org.springframework.transaction.support.TransactionCallback;
 import org.springframework.transaction.support.TransactionTemplate;
 
 /**
- * @version 
+ * Default implementation of {@link AbstractJdbcMessageIdRepository}
  */
-@ManagedResource(description = "JDBC based message id repository")
-public class JdbcMessageIdRepository extends ServiceSupport implements IdempotentRepository<String> {
-    
-    protected static final String QUERY_STRING = "SELECT COUNT(*) FROM CAMEL_MESSAGEPROCESSED WHERE processorName = ? AND messageId = ?";
-    protected static final String INSERT_STRING = "INSERT INTO CAMEL_MESSAGEPROCESSED (processorName, messageId, createdAt) VALUES (?, ?, ?)";
-    protected static final String DELETE_STRING = "DELETE FROM CAMEL_MESSAGEPROCESSED WHERE processorName = ? AND messageId = ?";
-    
-    private final JdbcTemplate jdbcTemplate;
-    private final String processorName;
-    private final TransactionTemplate transactionTemplate;
+public class JdbcMessageIdRepository extends AbstractJdbcMessageIdRepository<String> {
+
+    public static final String QUERY_STRING = "SELECT COUNT(*) FROM CAMEL_MESSAGEPROCESSED WHERE processorName = ? AND messageId = ?";
+    public static final String INSERT_STRING = "INSERT INTO CAMEL_MESSAGEPROCESSED (processorName, messageId, createdAt) VALUES (?, ?, ?)";
+    public static final String DELETE_STRING = "DELETE FROM CAMEL_MESSAGEPROCESSED WHERE processorName = ? AND messageId = ?";
+
+    public JdbcMessageIdRepository() {
+        super();
+    }
 
     public JdbcMessageIdRepository(DataSource dataSource, String processorName) {
-        this(dataSource, createTransactionTemplate(dataSource), processorName);
+        super(dataSource, processorName);
     }
 
     public JdbcMessageIdRepository(DataSource dataSource, TransactionTemplate transactionTemplate, String processorName) {
-        this.jdbcTemplate = new JdbcTemplate(dataSource);
-        this.jdbcTemplate.afterPropertiesSet();
-        this.processorName = processorName;
-        this.transactionTemplate = transactionTemplate;
+        super(dataSource, transactionTemplate, processorName);
     }
 
-    public static JdbcMessageIdRepository jpaMessageIdRepository(DataSource dataSource, String processorName) {
-        return new JdbcMessageIdRepository(dataSource, processorName);
-    }
-
-    private static TransactionTemplate createTransactionTemplate(DataSource dataSource) {
-        TransactionTemplate transactionTemplate = new TransactionTemplate();
-        transactionTemplate.setTransactionManager(new DataSourceTransactionManager(dataSource));
-        transactionTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
-        return transactionTemplate;
-    }
-
-    @ManagedOperation(description = "Adds the key to the store")
-    public boolean add(final String messageId) {
-        // Run this in single transaction.
-        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
-            public Boolean doInTransaction(TransactionStatus status) {
-                int count = jdbcTemplate.queryForInt(QUERY_STRING, processorName, messageId);
-                if (count == 0) {
-                    jdbcTemplate.update(INSERT_STRING, processorName, messageId, new Timestamp(System.currentTimeMillis()));
-                    return Boolean.TRUE;
-                } else {
-                    return Boolean.FALSE;
-                }
-            }
-        });
-        return rc.booleanValue();
-    }
-
-    @ManagedOperation(description = "Does the store contain the given key")
-    public boolean contains(final String messageId) {
-        // Run this in single transaction.
-        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
-            public Boolean doInTransaction(TransactionStatus status) {
-                int count = jdbcTemplate.queryForInt(QUERY_STRING, processorName, messageId);
-                if (count == 0) {
-                    return Boolean.FALSE;
-                } else {
-                    return Boolean.TRUE;
-                }
-            }
-        });
-        return rc.booleanValue();
-    }
-
-    @ManagedOperation(description = "Remove the key from the store")
-    public boolean remove(final String messageId) {
-        Boolean rc = transactionTemplate.execute(new TransactionCallback<Boolean>() {
-            public Boolean doInTransaction(TransactionStatus status) {
-                int updateCount = jdbcTemplate.update(DELETE_STRING, processorName, messageId);
-                if (updateCount == 0) {
-                    return Boolean.FALSE;
-                } else {
-                    return Boolean.TRUE;
-                }
-            }
-        });
-        return rc.booleanValue();
-    }
-
-    public boolean confirm(String s) {
-        // noop
-        return true;
-    }
-
-    @ManagedAttribute(description = "The processor name")
-    public String getProcessorName() {
-        return processorName;
+    public JdbcMessageIdRepository(JdbcTemplate jdbcTemplate, TransactionTemplate transactionTemplate) {
+        super(jdbcTemplate, transactionTemplate);
     }
 
     @Override
-    protected void doStart() throws Exception {
+    protected int queryForInt(String key) {
+        return jdbcTemplate.queryForInt(QUERY_STRING, processorName, key);
     }
 
     @Override
-    protected void doStop() throws Exception {
+    protected int insert(String key) {
+        return jdbcTemplate.update(INSERT_STRING, processorName, key, new Timestamp(System.currentTimeMillis()));
     }
-}
+
+    @Override
+    protected int delete(String key) {
+        return jdbcTemplate.update(DELETE_STRING, processorName, key);
+    }
+
+}
\ No newline at end of file
diff --git a/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamEndpoint.java b/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamEndpoint.java
index 35de9e0..7ba4bce 100644
--- a/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamEndpoint.java
+++ b/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamEndpoint.java
@@ -46,6 +46,7 @@
         super(endpointUri, component);
     }
 
+    @Deprecated
     public StreamEndpoint(String endpointUri) {
         super(endpointUri);
     }
diff --git a/components/camel-test/src/main/java/org/apache/camel/test/CamelSpringTestSupport.java b/components/camel-test/src/main/java/org/apache/camel/test/CamelSpringTestSupport.java
index 4e3e632..90a178a 100644
--- a/components/camel-test/src/main/java/org/apache/camel/test/CamelSpringTestSupport.java
+++ b/components/camel-test/src/main/java/org/apache/camel/test/CamelSpringTestSupport.java
@@ -29,7 +29,6 @@
 import org.apache.camel.impl.scan.InvertingPackageScanFilter;
 import org.apache.camel.spring.SpringCamelContext;
 import org.apache.camel.util.CastUtils;
-import org.apache.camel.util.ObjectHelper;
 import org.springframework.beans.factory.support.RootBeanDefinition;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.support.AbstractApplicationContext;
diff --git a/components/camel-test/src/main/java/org/apache/camel/test/junit4/CamelSpringTestSupport.java b/components/camel-test/src/main/java/org/apache/camel/test/junit4/CamelSpringTestSupport.java
index f87f494..836ccba 100644
--- a/components/camel-test/src/main/java/org/apache/camel/test/junit4/CamelSpringTestSupport.java
+++ b/components/camel-test/src/main/java/org/apache/camel/test/junit4/CamelSpringTestSupport.java
@@ -21,8 +21,6 @@
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
-import java.util.concurrent.locks.Lock;
-
 import org.apache.camel.CamelContext;
 import org.apache.camel.Route;
 import org.apache.camel.impl.DefaultPackageScanClassResolver;
@@ -33,7 +31,6 @@
 import org.apache.camel.util.ObjectHelper;
 import org.junit.After;
 import org.junit.AfterClass;
-import org.junit.Before;
 import org.springframework.beans.factory.support.RootBeanDefinition;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.support.AbstractApplicationContext;
diff --git a/components/camel-test/src/test/java/org/apache/camel/test/patterns/DebugSpringCamelContextTest.java b/components/camel-test/src/test/java/org/apache/camel/test/patterns/DebugSpringCamelContextTest.java
index 65a2739..0a13b66 100644
--- a/components/camel-test/src/test/java/org/apache/camel/test/patterns/DebugSpringCamelContextTest.java
+++ b/components/camel-test/src/test/java/org/apache/camel/test/patterns/DebugSpringCamelContextTest.java
@@ -17,7 +17,6 @@
 package org.apache.camel.test.patterns;
 
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.spring.SpringCamelContext;
 import org.springframework.context.support.AbstractApplicationContext;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 
diff --git a/components/camel-testng/src/main/java/org/apache/camel/testng/CamelSpringTestSupport.java b/components/camel-testng/src/main/java/org/apache/camel/testng/CamelSpringTestSupport.java
index ba9b324..d535d01 100644
--- a/components/camel-testng/src/main/java/org/apache/camel/testng/CamelSpringTestSupport.java
+++ b/components/camel-testng/src/main/java/org/apache/camel/testng/CamelSpringTestSupport.java
@@ -29,7 +29,6 @@
 import org.apache.camel.impl.scan.InvertingPackageScanFilter;
 import org.apache.camel.spring.SpringCamelContext;
 import org.apache.camel.util.CastUtils;
-import org.apache.camel.util.ObjectHelper;
 import org.springframework.beans.factory.support.RootBeanDefinition;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.support.AbstractApplicationContext;
diff --git a/components/camel-testng/src/main/java/org/apache/camel/testng/CamelTestSupport.java b/components/camel-testng/src/main/java/org/apache/camel/testng/CamelTestSupport.java
index 644a5e2..0bd49be 100644
--- a/components/camel-testng/src/main/java/org/apache/camel/testng/CamelTestSupport.java
+++ b/components/camel-testng/src/main/java/org/apache/camel/testng/CamelTestSupport.java
@@ -21,7 +21,6 @@
 import java.util.Map;
 import java.util.Properties;
 import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicBoolean;
 import javax.naming.Context;
 import javax.naming.InitialContext;
 
diff --git a/components/camel-web/src/main/java/org/apache/camel/web/util/CamelOSGIResourceConfig.java b/components/camel-web/src/main/java/org/apache/camel/web/util/CamelOSGIResourceConfig.java
index 9417819..cabf252 100644
--- a/components/camel-web/src/main/java/org/apache/camel/web/util/CamelOSGIResourceConfig.java
+++ b/components/camel-web/src/main/java/org/apache/camel/web/util/CamelOSGIResourceConfig.java
@@ -21,7 +21,6 @@
 import javax.ws.rs.core.MediaType;
 
 import com.sun.jersey.api.core.ClassNamesResourceConfig;
-import com.sun.jersey.api.core.PackagesResourceConfig;
 import org.apache.camel.web.resources.CamelContextResource;
 import org.apache.camel.web.resources.ComponentResource;
 import org.apache.camel.web.resources.ComponentsResource;
diff --git a/components/camel-web/src/main/java/org/apache/camel/web/util/CamelResourceConfig.java b/components/camel-web/src/main/java/org/apache/camel/web/util/CamelResourceConfig.java
index 4c34122..82d374c 100644
--- a/components/camel-web/src/main/java/org/apache/camel/web/util/CamelResourceConfig.java
+++ b/components/camel-web/src/main/java/org/apache/camel/web/util/CamelResourceConfig.java
@@ -21,11 +21,6 @@
 import javax.ws.rs.core.MediaType;
 
 import com.sun.jersey.api.core.PackagesResourceConfig;
-import com.sun.jersey.api.core.ResourceConfig;
-import com.sun.jersey.api.wadl.config.WadlGeneratorConfig;
-import com.sun.jersey.server.wadl.generators.WadlGeneratorApplicationDoc;
-import com.sun.jersey.server.wadl.generators.WadlGeneratorGrammarsSupport;
-import com.sun.jersey.server.wadl.generators.resourcedoc.WadlGeneratorResourceDocSupport;
 import org.apache.camel.web.resources.Constants;
 
 /**
diff --git a/components/camel-web/src/test/java/org/apache/camel/web/spring/CamelRouteTest.java b/components/camel-web/src/test/java/org/apache/camel/web/spring/CamelRouteTest.java
index dc6a94a..e9d0375 100644
--- a/components/camel-web/src/test/java/org/apache/camel/web/spring/CamelRouteTest.java
+++ b/components/camel-web/src/test/java/org/apache/camel/web/spring/CamelRouteTest.java
@@ -25,7 +25,6 @@
 import org.apache.camel.CamelContext;
 import org.apache.camel.model.RouteDefinition;
 import org.apache.camel.model.RoutesDefinition;
-import org.apache.camel.util.CastUtils;
 import org.apache.camel.web.resources.CamelContextResource;
 import org.junit.After;
 import org.junit.Assert;
diff --git a/components/camel-web/src/test/java/org/apache/camel/web/util/JMXRouteStatisticsTest.java b/components/camel-web/src/test/java/org/apache/camel/web/util/JMXRouteStatisticsTest.java
index 0245e73..8dee1dd 100644
--- a/components/camel-web/src/test/java/org/apache/camel/web/util/JMXRouteStatisticsTest.java
+++ b/components/camel-web/src/test/java/org/apache/camel/web/util/JMXRouteStatisticsTest.java
@@ -24,7 +24,6 @@
 import org.apache.camel.builder.NotifyBuilder;
 import org.apache.camel.model.RouteDefinition;
 import org.apache.camel.model.RoutesDefinition;
-import org.apache.camel.util.CastUtils;
 import org.apache.camel.web.resources.CamelContextResource;
 import org.junit.After;
 import org.junit.Assert;
diff --git a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java
index 44377fbd..f50ee37 100644
--- a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java
+++ b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java
@@ -69,6 +69,7 @@
         super(uri, component);
     }
 
+    @Deprecated
     public XmppEndpoint(String endpointUri) {
         super(endpointUri);
     }
diff --git a/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/XStreamDataFormat.java b/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/XStreamDataFormat.java
index 2b8cc2e..1ae7c34 100644
--- a/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/XStreamDataFormat.java
+++ b/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/XStreamDataFormat.java
@@ -31,7 +31,6 @@
 import com.thoughtworks.xstream.io.xml.StaxWriter;
 
 import org.apache.camel.Exchange;
-import org.apache.camel.converter.IOConverter;
 import org.apache.camel.spi.ClassResolver;
 import org.apache.camel.spi.DataFormat;
 import org.apache.camel.util.IOHelper;
diff --git a/components/camel-xstream/src/test/java/org/apache/camel/dataformat/xstream/SpringMarshalOmitFieldsTest.java b/components/camel-xstream/src/test/java/org/apache/camel/dataformat/xstream/SpringMarshalOmitFieldsTest.java
index 36baa96..a9be81a 100644
--- a/components/camel-xstream/src/test/java/org/apache/camel/dataformat/xstream/SpringMarshalOmitFieldsTest.java
+++ b/components/camel-xstream/src/test/java/org/apache/camel/dataformat/xstream/SpringMarshalOmitFieldsTest.java
@@ -18,10 +18,7 @@
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Service;
-import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.spring.SpringCamelContext;
-import org.apache.camel.test.junit4.CamelSpringTestSupport;
-import org.junit.Test;
 import org.springframework.context.support.AbstractXmlApplicationContext;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 
diff --git a/components/camel-xstream/src/test/java/org/apache/camel/dataformat/xstream/XStreamDataFormatOmitFieldsTest.java b/components/camel-xstream/src/test/java/org/apache/camel/dataformat/xstream/XStreamDataFormatOmitFieldsTest.java
index 7d1794b..f8e28dd 100644
--- a/components/camel-xstream/src/test/java/org/apache/camel/dataformat/xstream/XStreamDataFormatOmitFieldsTest.java
+++ b/components/camel-xstream/src/test/java/org/apache/camel/dataformat/xstream/XStreamDataFormatOmitFieldsTest.java
@@ -19,12 +19,8 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import com.thoughtworks.xstream.XStream;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.DefaultClassResolver;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.Test;
 
diff --git a/examples/camel-example-aggregate/src/main/resources/features.xml b/examples/camel-example-aggregate/src/main/resources/features.xml
index b0334e4..d4d810f 100644
--- a/examples/camel-example-aggregate/src/main/resources/features.xml
+++ b/examples/camel-example-aggregate/src/main/resources/features.xml
@@ -16,13 +16,13 @@
     limitations under the License.
 -->
 <features>
-    <repository>mvn:org.apache.camel.karaf/apache-camel/${pom.version}/xml/features</repository>
+    <repository>mvn:org.apache.camel.karaf/apache-camel/${project.version}/xml/features</repository>
 
-    <feature name='camel-example-aggregate' version='${pom.version}'>
-        <feature version="${pom.version}">camel</feature>
-        <feature version="${pom.version}">camel-stream</feature>
-        <feature version="${pom.version}">camel-hawtdb</feature>
-        <bundle>mvn:org.apache.camel/camel-example-aggregate/${pom.version}</bundle>
+    <feature name='camel-example-aggregate' version='${project.version}'>
+        <feature version="${project.version}">camel</feature>
+        <feature version="${project.version}">camel-stream</feature>
+        <feature version="${project.version}">camel-hawtdb</feature>
+        <bundle>mvn:org.apache.camel/camel-example-aggregate/${project.version}</bundle>
     </feature>
 
 </features>
\ No newline at end of file
diff --git a/examples/camel-example-cafe/src/main/resources/features.xml b/examples/camel-example-cafe/src/main/resources/features.xml
index e0b353d..4eef4f5 100644
--- a/examples/camel-example-cafe/src/main/resources/features.xml
+++ b/examples/camel-example-cafe/src/main/resources/features.xml
@@ -16,11 +16,11 @@
     limitations under the License.
 -->
 <features>
-    <repository>mvn:org.apache.camel.karaf/apache-camel/${pom.version}/xml/features</repository>
+    <repository>mvn:org.apache.camel.karaf/apache-camel/${project.version}/xml/features</repository>
 
-    <feature name='camel-example-cafe' version='${pom.version}'>
-        <feature version="${pom.version}">camel</feature>
-        <bundle>mvn:org.apache.camel/camel-example-cafe/${pom.version}</bundle>
+    <feature name='camel-example-cafe' version='${project.version}'>
+        <feature version="${project.version}">camel</feature>
+        <bundle>mvn:org.apache.camel/camel-example-cafe/${project.version}</bundle>
     </feature>
 
 </features>
\ No newline at end of file
diff --git a/examples/camel-example-cafe/src/test/java/org/apache/camel/example/cafe/CafeRouteSpringIntegrationTest.java b/examples/camel-example-cafe/src/test/java/org/apache/camel/example/cafe/CafeRouteSpringIntegrationTest.java
index 9da5a76..cc03fa4 100644
--- a/examples/camel-example-cafe/src/test/java/org/apache/camel/example/cafe/CafeRouteSpringIntegrationTest.java
+++ b/examples/camel-example-cafe/src/test/java/org/apache/camel/example/cafe/CafeRouteSpringIntegrationTest.java
@@ -18,7 +18,6 @@
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.ProducerTemplate;
-import org.apache.camel.impl.DefaultCamelContext;
 import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
diff --git a/examples/camel-example-cxf-blueprint/src/main/java/org/apache/camel/example/reportincident/ReportIncidentRoutes.java b/examples/camel-example-cxf-blueprint/src/main/java/org/apache/camel/example/reportincident/ReportIncidentRoutes.java
index 7ce5c8f..033621b 100644
--- a/examples/camel-example-cxf-blueprint/src/main/java/org/apache/camel/example/reportincident/ReportIncidentRoutes.java
+++ b/examples/camel-example-cxf-blueprint/src/main/java/org/apache/camel/example/reportincident/ReportIncidentRoutes.java
@@ -27,9 +27,10 @@
 public class ReportIncidentRoutes extends RouteBuilder {
     
     public void configure() throws Exception {
-        // webservice response for OK
+        // webservice responses
         OutputReportIncident ok = new OutputReportIncident();
         ok.setCode("OK");
+
         OutputReportIncident accepted = new OutputReportIncident();
         accepted.setCode("Accepted");
 
@@ -37,7 +38,9 @@
             .convertBodyTo(InputReportIncident.class)
             .setHeader(Exchange.FILE_NAME, constant("request-${date:now:yyyy-MM-dd-HHmmssSSS}"))
             .wireTap("file://target/inbox/")
-            .choice().when(simple("${body.givenName} == 'Claus'")).transform(constant(ok))
-            .otherwise().transform(constant(accepted));
+            .choice().when(simple("${body.givenName} == 'Claus'"))
+                .transform(constant(ok))
+            .otherwise()
+                .transform(constant(accepted));
     }
 }
\ No newline at end of file
diff --git a/examples/camel-example-cxf-blueprint/src/test/java/org/apache/camel/example/reportincident/ReportIncidentRoutesClientTest.java b/examples/camel-example-cxf-blueprint/src/test/java/org/apache/camel/example/reportincident/ReportIncidentRoutesClientTest.java
index aa8dd65..0700245 100755
--- a/examples/camel-example-cxf-blueprint/src/test/java/org/apache/camel/example/reportincident/ReportIncidentRoutesClientTest.java
+++ b/examples/camel-example-cxf-blueprint/src/test/java/org/apache/camel/example/reportincident/ReportIncidentRoutesClientTest.java
@@ -16,8 +16,13 @@
  */
 package org.apache.camel.example.reportincident;
 
+import java.io.File;
+import java.io.FileOutputStream;
+
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit4.CamelSpringTestSupport;
 import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
+import org.junit.BeforeClass;
 import org.junit.Test;
 import org.springframework.context.support.AbstractApplicationContext;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -28,22 +33,30 @@
 public class ReportIncidentRoutesClientTest extends CamelSpringTestSupport {
 
     // should be the same address as we have in our route
-    private static final String URL = "http://localhost:8181/cxf/camel-example-cxf-blueprint/webservices/incident";
-   
-    protected static ReportIncidentEndpoint createCXFClient() {
+    private static final String URL = "http://localhost:{{port}}/cxf/camel-example-cxf-blueprint/webservices/incident";
+
+    @BeforeClass
+    public static void setupFreePort() throws Exception {
+        // find a free port number from 9100 onwards, and write that in the custom.properties file
+        // which we will use for the unit tests, to avoid port number in use problems
+        int port = AvailablePortFinder.getNextAvailable(9100);
+        String s = "port=" + port;
+        File custom = new File("target/custom.properties");
+        FileOutputStream fos = new FileOutputStream(custom);
+        fos.write(s.getBytes());
+        fos.close();
+    }
+
+    protected static ReportIncidentEndpoint createCXFClient(String url) {
         // we use CXF to create a client for us as its easier than JAXWS and works
         JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
         factory.setServiceClass(ReportIncidentEndpoint.class);
-        factory.setAddress(URL);
+        factory.setAddress(url);
         return (ReportIncidentEndpoint) factory.create();
     }
 
     @Test
-    public void testRendportIncident() throws Exception {
-        runTest();
-    }
-    
-    protected void runTest() throws Exception {
+    public void testReportIncident() throws Exception {
         // create input parameter
         InputReportIncident input = new InputReportIncident();
         input.setIncidentId("123");
@@ -56,7 +69,8 @@
         input.setPhone("0045 2962 7576");
 
         // create the webservice client and send the request
-        ReportIncidentEndpoint client = createCXFClient();
+        String url = context.resolvePropertyPlaceholders(URL);
+        ReportIncidentEndpoint client = createCXFClient(url);
         OutputReportIncident out = client.reportIncident(input);
 
         // assert we got a OK back
@@ -68,7 +82,6 @@
         
         // assert we got a Accept back
         assertEquals("Accepted", out.getCode());
-
     }
 
     @Override
diff --git a/examples/camel-example-cxf-blueprint/src/test/resources/camel-context.xml b/examples/camel-example-cxf-blueprint/src/test/resources/camel-context.xml
index d22ffc3..25f4a5c 100644
--- a/examples/camel-example-cxf-blueprint/src/test/resources/camel-context.xml
+++ b/examples/camel-example-cxf-blueprint/src/test/resources/camel-context.xml
@@ -26,7 +26,7 @@
            http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf.xsd">
     
     <cxf:cxfEndpoint id="reportIncident"
-                     address="http://localhost:8181/cxf/camel-example-cxf-blueprint/webservices/incident"
+                     address="http://localhost:{{port}}/cxf/camel-example-cxf-blueprint/webservices/incident"
                      wsdlURL="META-INF/wsdl/report_incident.wsdl"
                      serviceClass="org.apache.camel.example.reportincident.ReportIncidentEndpoint">
     </cxf:cxfEndpoint>
@@ -34,6 +34,10 @@
     <bean id="reportIncidentRoutes" class="org.apache.camel.example.reportincident.ReportIncidentRoutes" />
 
     <camel:camelContext id="camel">
+
+      <!-- property which contains port number -->
+      <camel:propertyPlaceholder id="properties" location="file:target/custom.properties"/>
+
     	<camel:routeBuilder ref="reportIncidentRoutes"/>
     </camel:camelContext>
 </beans>
diff --git a/examples/camel-example-cxf-osgi/pom.xml b/examples/camel-example-cxf-osgi/pom.xml
index ec26f61..10517b3 100644
--- a/examples/camel-example-cxf-osgi/pom.xml
+++ b/examples/camel-example-cxf-osgi/pom.xml
@@ -22,8 +22,8 @@
 	<parent>
 		<groupId>org.apache.camel</groupId>
 		<artifactId>examples</artifactId>
-        <version>2.9.0</version>
-        <relativePath>..</relativePath>
+    <version>2.9.0</version>
+    <relativePath>..</relativePath>
 	</parent>
 
 	<artifactId>camel-example-cxf-osgi</artifactId>
diff --git a/examples/camel-example-cxf-osgi/src/main/java/org/apache/camel/example/reportincident/ReportIncidentRoutes.java b/examples/camel-example-cxf-osgi/src/main/java/org/apache/camel/example/reportincident/ReportIncidentRoutes.java
index 1ed8f8d..0d4b0ab 100644
--- a/examples/camel-example-cxf-osgi/src/main/java/org/apache/camel/example/reportincident/ReportIncidentRoutes.java
+++ b/examples/camel-example-cxf-osgi/src/main/java/org/apache/camel/example/reportincident/ReportIncidentRoutes.java
@@ -27,9 +27,10 @@
 public class ReportIncidentRoutes extends RouteBuilder {
     
     public void configure() throws Exception {
-        // webservice response for OK
+        // webservice responses
         OutputReportIncident ok = new OutputReportIncident();
         ok.setCode("OK");
+
         OutputReportIncident accepted = new OutputReportIncident();
         accepted.setCode("Accepted");
 
@@ -37,8 +38,10 @@
             .convertBodyTo(InputReportIncident.class)
             .setHeader(Exchange.FILE_NAME, constant("request-${date:now:yyyy-MM-dd-HHmmssSSS}"))
             .wireTap("file://target/inbox/")
-            .choice().when(simple("${body.givenName} == 'Claus'")).transform(constant(ok))
-            .otherwise().transform(constant(accepted));
+            .choice().when(simple("${body.givenName} == 'Claus'"))
+                .transform(constant(ok))
+            .otherwise()
+                .transform(constant(accepted));
             
     }
 }
\ No newline at end of file
diff --git a/examples/camel-example-cxf-osgi/src/test/java/org/apache/camel/example/reportincident/ReportIncidentRoutesClientTest.java b/examples/camel-example-cxf-osgi/src/test/java/org/apache/camel/example/reportincident/ReportIncidentRoutesClientTest.java
index 07ff5e8..d073390 100755
--- a/examples/camel-example-cxf-osgi/src/test/java/org/apache/camel/example/reportincident/ReportIncidentRoutesClientTest.java
+++ b/examples/camel-example-cxf-osgi/src/test/java/org/apache/camel/example/reportincident/ReportIncidentRoutesClientTest.java
@@ -16,8 +16,13 @@
  */
 package org.apache.camel.example.reportincident;
 
+import java.io.File;
+import java.io.FileOutputStream;
+
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit4.CamelSpringTestSupport;
 import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
+import org.junit.BeforeClass;
 import org.junit.Test;
 import org.springframework.context.support.AbstractApplicationContext;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -28,22 +33,30 @@
 public class ReportIncidentRoutesClientTest extends CamelSpringTestSupport {
 
     // should be the same address as we have in our route
-    private static final String URL = "http://localhost:8181/cxf/camel-example-cxf-osgi/webservices/incident";
-   
-    protected static ReportIncidentEndpoint createCXFClient() {
+    private static final String URL = "http://localhost:{{port}}/cxf/camel-example-cxf-osgi/webservices/incident";
+
+    @BeforeClass
+    public static void setupFreePort() throws Exception {
+        // find a free port number from 9100 onwards, and write that in the custom.properties file
+        // which we will use for the unit tests, to avoid port number in use problems
+        int port = AvailablePortFinder.getNextAvailable(9100);
+        String s = "port=" + port;
+        File custom = new File("target/custom.properties");
+        FileOutputStream fos = new FileOutputStream(custom);
+        fos.write(s.getBytes());
+        fos.close();
+    }
+
+    protected static ReportIncidentEndpoint createCXFClient(String url) {
         // we use CXF to create a client for us as its easier than JAXWS and works
         JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
         factory.setServiceClass(ReportIncidentEndpoint.class);
-        factory.setAddress(URL);
+        factory.setAddress(url);
         return (ReportIncidentEndpoint) factory.create();
     }
 
     @Test
-    public void testRendportIncident() throws Exception {
-        runTest();
-    }
-    
-    protected void runTest() throws Exception {
+    public void testReportIncident() throws Exception {
         // create input parameter
         InputReportIncident input = new InputReportIncident();
         input.setIncidentId("123");
@@ -56,7 +69,8 @@
         input.setPhone("0045 2962 7576");
 
         // create the webservice client and send the request
-        ReportIncidentEndpoint client = createCXFClient();
+        String url = context.resolvePropertyPlaceholders(URL);
+        ReportIncidentEndpoint client = createCXFClient(url);
         OutputReportIncident out = client.reportIncident(input);
 
         // assert we got a OK back
@@ -68,11 +82,11 @@
         
         // assert we got a Accept back
         assertEquals("Accepted", out.getCode());
-
     }
 
     @Override
     protected AbstractApplicationContext createApplicationContext() {
         return new ClassPathXmlApplicationContext(new String[] {"camel-context.xml"});
     }
+
 }
diff --git a/examples/camel-example-cxf-osgi/src/test/resources/camel-context.xml b/examples/camel-example-cxf-osgi/src/test/resources/camel-context.xml
index 7075ea1..5fe8481 100644
--- a/examples/camel-example-cxf-osgi/src/test/resources/camel-context.xml
+++ b/examples/camel-example-cxf-osgi/src/test/resources/camel-context.xml
@@ -26,7 +26,7 @@
            http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf.xsd">
     
     <cxf:cxfEndpoint id="reportIncident"
-                     address="http://localhost:8181/cxf/camel-example-cxf-osgi/webservices/incident"
+                     address="http://localhost:{{port}}/cxf/camel-example-cxf-osgi/webservices/incident"
                      wsdlURL="META-INF/wsdl/report_incident.wsdl"
                      serviceClass="org.apache.camel.example.reportincident.ReportIncidentEndpoint">
     </cxf:cxfEndpoint>
@@ -34,6 +34,8 @@
     <bean id="reportIncidentRoutes" class="org.apache.camel.example.reportincident.ReportIncidentRoutes" />
 
     <camel:camelContext id="camel">
+      <!-- property which contains port number -->
+      <camel:propertyPlaceholder id="properties" location="file:target/custom.properties"/>
     	<camel:routeBuilder ref="reportIncidentRoutes"/>
     </camel:camelContext>
 </beans>
diff --git a/examples/camel-example-cxf-proxy/pom.xml b/examples/camel-example-cxf-proxy/pom.xml
index cb3eb28..e4709f1 100755
--- a/examples/camel-example-cxf-proxy/pom.xml
+++ b/examples/camel-example-cxf-proxy/pom.xml
@@ -17,126 +17,132 @@
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 
-    <modelVersion>4.0.0</modelVersion>
+  <modelVersion>4.0.0</modelVersion>
 
-    <parent>
+  <parent>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>examples</artifactId>
+    <version>2.9.0</version>
+    <relativePath>..</relativePath>
+  </parent>
+
+  <artifactId>camel-example-cxf-proxy</artifactId>
+  <name>Camel :: Example :: CXF :: Proxy</name>
+  <description>An example which uses Camel to proxy a web service</description>
+  <packaging>bundle</packaging>
+
+  <properties>
+    <camel.osgi.export.pkg>
+      org.apache.camel.example.*
+    </camel.osgi.export.pkg>
+    <camel.osgi.import.additional>
+      META-INF.cxf
+    </camel.osgi.import.additional>
+    <camel.osgi.private.pkg>
+      org.apache.camel.example.reportincident
+    </camel.osgi.private.pkg>
+    <!-- to avoid us import bunch of cxf package -->
+    <camel.osgi.dynamic>*</camel.osgi.dynamic>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-core</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-spring</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-http</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-cxf</artifactId>
+    </dependency>
+
+    <!-- cxf -->
+    <!-- used by the real web service -->
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-frontend-jaxws</artifactId>
+      <version>${cxf-version}</version>
+    </dependency>
+    <!-- regular http transport -->
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-transports-http</artifactId>
+      <version>${cxf-version}</version>
+    </dependency>
+
+    <!-- logging -->
+    <dependency>
+      <groupId>log4j</groupId>
+      <artifactId>log4j</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-log4j12</artifactId>
+    </dependency>
+
+    <!-- cxf web container for unit testing -->
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-transports-http-jetty</artifactId>
+      <version>${cxf-version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+
+  </dependencies>
+
+  <build>
+    <plugins>
+      <!-- CXF wsdl2java generator, will plugin to the compile goal -->
+      <plugin>
+        <groupId>org.apache.cxf</groupId>
+        <artifactId>cxf-codegen-plugin</artifactId>
+        <version>${cxf-version}</version>
+        <executions>
+          <execution>
+            <id>generate-sources</id>
+            <phase>generate-sources</phase>
+            <configuration>
+              <sourceRoot>${basedir}/target/generated/src/main/java</sourceRoot>
+              <wsdlOptions>
+                <wsdlOption>
+                  <wsdl>${basedir}/src/main/resources/etc/report_incident.wsdl</wsdl>
+                </wsdlOption>
+              </wsdlOptions>
+            </configuration>
+            <goals>
+              <goal>wsdl2java</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+
+      <plugin>
         <groupId>org.apache.camel</groupId>
-        <artifactId>examples</artifactId>
-        <version>2.9.0</version>
-        <relativePath>..</relativePath>
-    </parent>
+        <artifactId>camel-maven-plugin</artifactId>
+        <version>${project.version}</version>
+      </plugin>
 
-    <artifactId>camel-example-cxf-proxy</artifactId>
-    <name>Camel :: Example :: CXF :: Proxy</name>
-    <description>An example which uses Camel to proxy a web service</description>
-    <packaging>bundle</packaging>
-    
-    <properties>
-		<camel.osgi.export.pkg>
-			org.apache.camel.example.*
-     </camel.osgi.export.pkg>
-		<camel.osgi.import.additional>
-			META-INF.cxf
-     </camel.osgi.import.additional>
-	 <camel.osgi.private.pkg>
-			org.apache.camel.example.reportincident
-     </camel.osgi.private.pkg>
-		<!-- to avoid us import bunch of cxf package -->
-		<camel.osgi.dynamic>*</camel.osgi.dynamic>
-	</properties>
+    </plugins>
+  </build>
 
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-core</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-spring</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-http</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-cxf</artifactId>
-        </dependency>
-
-        <!-- cxf -->
-        <!-- used by the real web service -->
-        <dependency>
-            <groupId>org.apache.cxf</groupId>
-            <artifactId>cxf-rt-frontend-jaxws</artifactId>
-            <version>${cxf-version}</version>
-        </dependency>
-        <!-- regular http transport -->
-        <dependency>
-            <groupId>org.apache.cxf</groupId>
-            <artifactId>cxf-rt-transports-http</artifactId>
-            <version>${cxf-version}</version>
-        </dependency>
-
-        <!-- logging -->
-        <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-log4j12</artifactId>
-        </dependency>
-
-        <!-- cxf web container for unit testing -->
-        <dependency>
-            <groupId>org.apache.cxf</groupId>
-            <artifactId>cxf-rt-transports-http-jetty</artifactId>
-            <version>${cxf-version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-    </dependencies>
-
-    <build>
-        <plugins>
-            <!-- CXF wsdl2java generator, will plugin to the compile goal -->
-            <plugin>
-                <groupId>org.apache.cxf</groupId>
-                <artifactId>cxf-codegen-plugin</artifactId>
-                <version>${cxf-version}</version>
-                <executions>
-                    <execution>
-                        <id>generate-sources</id>
-                        <phase>generate-sources</phase>
-                        <configuration>
-                            <sourceRoot>${basedir}/target/generated/src/main/java</sourceRoot>
-                            <wsdlOptions>
-                                <wsdlOption>
-                                    <wsdl>${basedir}/src/main/resources/etc/report_incident.wsdl</wsdl>
-                                </wsdlOption>
-                            </wsdlOptions>
-                        </configuration>
-                        <goals>
-                            <goal>wsdl2java</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-
-            <plugin>
-				<groupId>org.apache.camel</groupId>
-				<artifactId>camel-maven-plugin</artifactId>
-				<version>${project.version}</version>
-			</plugin>
-			
-        </plugins>
-    </build>
 </project>
diff --git a/examples/camel-example-cxf-proxy/src/main/java/org/apache/camel/example/cxf/proxy/RealWebServiceBean.java b/examples/camel-example-cxf-proxy/src/main/java/org/apache/camel/example/cxf/proxy/RealWebServiceBean.java
index 299ce9b..0fbd27c 100644
--- a/examples/camel-example-cxf-proxy/src/main/java/org/apache/camel/example/cxf/proxy/RealWebServiceBean.java
+++ b/examples/camel-example-cxf-proxy/src/main/java/org/apache/camel/example/cxf/proxy/RealWebServiceBean.java
@@ -28,7 +28,7 @@
 public class RealWebServiceBean {
 
     // should be the same address as we have in our route
-    private String url = "http://localhost:9081/real-webservice";
+    private String url;
 
     private ReportIncidentEndpointService service = new ReportIncidentEndpointService();
     private Endpoint endpoint;
diff --git a/examples/camel-example-cxf-proxy/src/main/resources/META-INF/spring/camel-config.xml b/examples/camel-example-cxf-proxy/src/main/resources/META-INF/spring/camel-config.xml
index d331df1..475f104 100755
--- a/examples/camel-example-cxf-proxy/src/main/resources/META-INF/spring/camel-config.xml
+++ b/examples/camel-example-cxf-proxy/src/main/resources/META-INF/spring/camel-config.xml
@@ -21,20 +21,26 @@
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:camel="http://camel.apache.org/schema/spring"
        xmlns:cxf="http://camel.apache.org/schema/cxf"
+       xmlns:context="http://www.springframework.org/schema/context"
        xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
        http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
        http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf.xsd">
 
   <import resource="classpath:META-INF/cxf/cxf.xml"/>
-  
+
+  <!-- spring property placeholder, ignore resource not found as the file resource is for unit testing -->
+  <context:property-placeholder location="classpath:incident.properties,file:target/custom.properties"
+                                ignore-resource-not-found="true"/>
+
   <!-- Use a bean to start and stop the real web service (is not Camel specific) -->
   <!-- In a real use-case the real web service would be probably located on another server
        but we simulate this in the same JVM -->
   <bean id="realWebService" class="org.apache.camel.example.cxf.proxy.RealWebServiceBean"
         init-method="start" destroy-method="stop">
     <!-- url of the real web service we have proxied -->
-    <property name="url" value="http://localhost:9081/real-webservice"/>
+    <property name="url" value="http://localhost:${real.port}/real-webservice"/>
   </bean>
 
   <!-- bean that enriches the SOAP request -->
@@ -42,7 +48,7 @@
 
   <!-- this is the CXF web service we use as the front end -->
   <cxf:cxfEndpoint id="reportIncident"
-                   address="http://localhost:9080/camel-example-cxf-proxy/webservices/incident"
+                   address="http://localhost:${proxy.port}/camel-example-cxf-proxy/webservices/incident"
                    endpointName="s:ReportIncidentEndpoint"
                    serviceName="s:ReportIncidentEndpointService"
                    wsdlURL="etc/report_incident.wsdl"
@@ -51,6 +57,11 @@
   <!-- this is the Camel route which proxies the real web service and forwards SOAP requests to it -->
   <camelContext xmlns="http://camel.apache.org/schema/spring">
 
+    <!-- property which contains port number -->
+    <propertyPlaceholder id="properties" location="classpath:incident.properties,file:target/custom.properties"/>
+
+    <endpoint id="callRealWebService" uri="http://localhost:${real.port}/real-webservice?throwExceptionOnFailure=false"/>
+
     <route>
       <!-- CXF consumer using MESSAGE format -->
       <from uri="cxf:bean:reportIncident?dataFormat=MESSAGE"/>
@@ -59,7 +70,7 @@
       <!-- enrich the input by ensure the incidentId parameter is set -->
       <to uri="bean:enrichBean"/>
       <!-- send proxied request to real web service -->
-      <to uri="http://localhost:9081/real-webservice?throwExceptionOnFailure=false"/>
+      <to ref="callRealWebService"/>
       <!-- log answer from real web service -->
       <to uri="log:output"/>
     </route>
diff --git a/examples/camel-example-cxf-proxy/src/main/resources/incident.properties b/examples/camel-example-cxf-proxy/src/main/resources/incident.properties
new file mode 100644
index 0000000..872bfb5
--- /dev/null
+++ b/examples/camel-example-cxf-proxy/src/main/resources/incident.properties
@@ -0,0 +1,20 @@
+## ------------------------------------------------------------------------
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements.  See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You under the Apache License, Version 2.0
+## (the "License"); you may not use this file except in compliance with
+## the License.  You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## ------------------------------------------------------------------------
+
+# properties for the application
+proxy.port=9080
+real.port=9081
\ No newline at end of file
diff --git a/examples/camel-example-cxf-proxy/src/test/java/org/apache/camel/example/reportincident/ReportIncidentRoutesTest.java b/examples/camel-example-cxf-proxy/src/test/java/org/apache/camel/example/reportincident/ReportIncidentRoutesTest.java
index b401e71..cd9783f 100755
--- a/examples/camel-example-cxf-proxy/src/test/java/org/apache/camel/example/reportincident/ReportIncidentRoutesTest.java
+++ b/examples/camel-example-cxf-proxy/src/test/java/org/apache/camel/example/reportincident/ReportIncidentRoutesTest.java
@@ -16,12 +16,17 @@
  */
 package org.apache.camel.example.reportincident;
 
+import java.io.File;
+import java.io.FileOutputStream;
+
+import junit.framework.Assert;
 
 import org.apache.camel.spring.Main;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
+import org.junit.BeforeClass;
 import org.junit.Test;
 
-import static org.junit.Assert.assertEquals;
 
 /**
  * Unit test of our routes
@@ -29,10 +34,29 @@
 public class ReportIncidentRoutesTest {
 
     // should be the same address as we have in our route
-    private static final String URL = "http://localhost:9080/camel-example-cxf-proxy/webservices/incident";
+    private static String url;
 
     protected Main main;
 
+    @BeforeClass
+    public static void setupFreePort() throws Exception {
+        // find a free port number from 9100 onwards, and write that in the custom.properties file
+        // which we will use for the unit tests, to avoid port number in use problems
+        int port = AvailablePortFinder.getNextAvailable(9100);
+        String s = "proxy.port=" + port;
+        int port2 = AvailablePortFinder.getNextAvailable(port + 1);
+        String s2 = "real.port=" + port2;
+
+        File custom = new File("target/custom.properties");
+        FileOutputStream fos = new FileOutputStream(custom);
+        fos.write(s.getBytes());
+        fos.write("\n".getBytes());
+        fos.write(s2.getBytes());
+        fos.close();
+
+        url = "http://localhost:" + port + "/camel-example-cxf-proxy/webservices/incident";
+    }
+
     protected void startCamel() throws Exception {
         if (!"true".equalsIgnoreCase(System.getProperty("skipStartingCamelContext"))) {
             main = new Main();
@@ -53,12 +77,12 @@
         // we use CXF to create a client for us as its easier than JAXWS and works
         JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
         factory.setServiceClass(ReportIncidentEndpoint.class);
-        factory.setAddress(URL);
+        factory.setAddress(url);
         return (ReportIncidentEndpoint) factory.create();
     }
 
     @Test
-    public void testRendportIncident() throws Exception {
+    public void testReportIncident() throws Exception {
         // start camel
         startCamel();
 
@@ -82,13 +106,11 @@
         input.setPhone("0045 2962 7576");
 
         // create the webservice client and send the request
+        
         ReportIncidentEndpoint client = createCXFClient();
         OutputReportIncident out = client.reportIncident(input);
 
         // assert we got a OK back
-        assertEquals("OK;456", out.getCode());
-
-        // let some time pass to allow Camel to pickup the file and send it as an email
-        Thread.sleep(3000);
+        Assert.assertEquals("OK;456", out.getCode());
     }
 }
diff --git a/examples/camel-example-cxf/src/main/resources/features.xml b/examples/camel-example-cxf/src/main/resources/features.xml
index 66d8b7c..f35ca8c 100644
--- a/examples/camel-example-cxf/src/main/resources/features.xml
+++ b/examples/camel-example-cxf/src/main/resources/features.xml
@@ -16,8 +16,8 @@
     limitations under the License.
 -->
 <features>
-    <repository>mvn:org.apache.camel.karaf/apache-camel/${pom.version}/xml/features</repository>
-    <feature name='activemq-feature' version='${pom.version}'>
+    <repository>mvn:org.apache.camel.karaf/apache-camel/${project.version}/xml/features</repository>
+    <feature name='activemq-feature' version='${project.version}'>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1</bundle>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/1.1.1</bundle>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-j2ee-management_1.1_spec/1.0.1</bundle>
@@ -31,12 +31,12 @@
        <bundle>mvn:org.apache.activemq/activemq-camel/${activemq-version}</bundle>
     </feature>
 
-    <feature name='camel-example-cxf' version='${pom.version}'>
-        <feature version="${pom.version}">camel</feature>
-        <feature version="${pom.version}">camel-cxf</feature>
-        <feature version="${pom.version}">camel-jetty</feature>
+    <feature name='camel-example-cxf' version='${project.version}'>
+        <feature version="${project.version}">camel</feature>
+        <feature version="${project.version}">camel-cxf</feature>
+        <feature version="${project.version}">camel-jetty</feature>
         <!-- don't need to install the activemq-feature if we have  -->
-        <bundle>mvn:org.apache.camel/camel-example-cxf/${pom.version}</bundle>
+        <bundle>mvn:org.apache.camel/camel-example-cxf/${project.version}</bundle>
     </feature>
 
 </features>
\ No newline at end of file
diff --git a/examples/camel-example-docs/src/main/resources/features.xml b/examples/camel-example-docs/src/main/resources/features.xml
index 073073c..361aab3a 100644
--- a/examples/camel-example-docs/src/main/resources/features.xml
+++ b/examples/camel-example-docs/src/main/resources/features.xml
@@ -16,11 +16,11 @@
     limitations under the License.
 -->
 <features>
-    <repository>mvn:org.apache.camel.karaf/apache-camel/${pom.version}/xml/features</repository>
+    <repository>mvn:org.apache.camel.karaf/apache-camel/${project.version}/xml/features</repository>
     
-    <feature name='camel-example-docs' version='${pom.version}'>
-        <feature version="${pom.version}">camel</feature>
-        <bundle>mvn:org.apache.camel/camel-example-docs/${pom.version}</bundle>
+    <feature name='camel-example-docs' version='${project.version}'>
+        <feature version="${project.version}">camel</feature>
+        <bundle>mvn:org.apache.camel/camel-example-docs/${project.version}</bundle>
     </feature>
 
 </features>
\ No newline at end of file
diff --git a/examples/camel-example-etl/src/main/resources/features.xml b/examples/camel-example-etl/src/main/resources/features.xml
index 707c9bf..7466741 100644
--- a/examples/camel-example-etl/src/main/resources/features.xml
+++ b/examples/camel-example-etl/src/main/resources/features.xml
@@ -17,9 +17,9 @@
 -->
 <features>
 
-    <repository>mvn:org.apache.camel.karaf/apache-camel/${pom.version}/xml/features</repository>
+    <repository>mvn:org.apache.camel.karaf/apache-camel/${project.version}/xml/features</repository>
 
-    <feature name='openjpa-feature' version='${pom.version}'>
+    <feature name='openjpa-feature' version='${project.version}'>
        <bundle>wrap:mvn:hsqldb/hsqldb/1.8.0.7</bundle> 
        <bundle>mvn:org.eclipse.persistence/javax.persistence/1.2.0</bundle>
        <bundle>mvn:org.eclipse.persistence/org.eclipse.persistence.antlr/1.2.0</bundle>
@@ -28,7 +28,7 @@
        <bundle>mvn:org.eclipse.persistence/org.eclipse.persistence.jpa/1.2.0</bundle>
     </feature>
     
-    <feature name='hibernate-feauture' version='${pom.version}'>
+    <feature name='hibernate-feauture' version='${project.version}'>
        <bundle>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.java-persistence-api-1.1.1/1.4.0</bundle>
        <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-dbcp/1.2.2_5</bundle>
        <bundle>mvn:org.springframework/spring-jdbc/${spring-version}</bundle>
@@ -44,12 +44,12 @@
        <bundle>mvn:org.springframework/spring-orm/${spring-version}</bundle>
     </feature>
     
-    <feature name='camel-example-etl' version='${pom.version}'>
-        <feature version="${pom.version}">camel</feature>
-        <feature version="${pom.version}">camel-jaxb</feature>
-        <feature version="${pom.version}">camel-jpa</feature>
-        <feature version="${pom.version}">camel-juel</feature>
-        <bundle>mvn:org.apache.camel/camel-example-etl/${pom.version}</bundle>
+    <feature name='camel-example-etl' version='${project.version}'>
+        <feature version="${project.version}">camel</feature>
+        <feature version="${project.version}">camel-jaxb</feature>
+        <feature version="${project.version}">camel-jpa</feature>
+        <feature version="${project.version}">camel-juel</feature>
+        <bundle>mvn:org.apache.camel/camel-example-etl/${project.version}</bundle>
     </feature>
 
 </features>
\ No newline at end of file
diff --git a/examples/camel-example-guice-jms/src/main/java/org/apache/camel/example/guice/jms/MyModule.java b/examples/camel-example-guice-jms/src/main/java/org/apache/camel/example/guice/jms/MyModule.java
index 4f09400..0d4ccfc 100644
--- a/examples/camel-example-guice-jms/src/main/java/org/apache/camel/example/guice/jms/MyModule.java
+++ b/examples/camel-example-guice-jms/src/main/java/org/apache/camel/example/guice/jms/MyModule.java
@@ -36,13 +36,13 @@
     protected void configure() {
         super.configure();
 
-        // lets add in any RouteBuilder instances we want to use
+        // let's add in any RouteBuilder instances we want to use
         bind(MyRouteBuilder.class);
         bind(Printer.class);
     }
 
     /**
-     * Lets configure the JMS component, parameterizing some properties from the
+     * Let's configure the JMS component, parameterizing some properties from the
      * jndi.properties file
      */
     @Provides
diff --git a/examples/camel-example-guice-jms/src/main/resources/features.xml b/examples/camel-example-guice-jms/src/main/resources/features.xml
index c44b7b76..28e87bb 100644
--- a/examples/camel-example-guice-jms/src/main/resources/features.xml
+++ b/examples/camel-example-guice-jms/src/main/resources/features.xml
@@ -16,9 +16,9 @@
     limitations under the License.
 -->
 <features>
-    <repository>mvn:org.apache.camel.karaf/apache-camel/${pom.version}/xml/features</repository>
+    <repository>mvn:org.apache.camel.karaf/apache-camel/${project.version}/xml/features</repository>
     
-   <feature name='activemq-feature' version='${pom.version}'>
+   <feature name='activemq-feature' version='${project.version}'>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1</bundle>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/1.1.1</bundle>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-j2ee-management_1.1_spec/1.0.1</bundle>
@@ -32,11 +32,11 @@
        <bundle>mvn:org.apache.activemq/activemq-camel/${activemq-version}</bundle>
     </feature>
     
-    <feature name='camel-example-guice-jms' version='${pom.version}'>
-        <feature version="${pom.version}">camel</feature>
-        <feature version="${pom.version}">camel-guice</feature>
-        <feature version="${pom.version}">camel-jms</feature>
-        <bundle>mvn:org.apache.camel/camel-example-guice-jms/${pom.version}</bundle>
+    <feature name='camel-example-guice-jms' version='${project.version}'>
+        <feature version="${project.version}">camel</feature>
+        <feature version="${project.version}">camel-guice</feature>
+        <feature version="${project.version}">camel-jms</feature>
+        <bundle>mvn:org.apache.camel/camel-example-guice-jms/${project.version}</bundle>
     </feature>
 
 </features>
\ No newline at end of file
diff --git a/examples/camel-example-jms-file/src/main/resources/features.xml b/examples/camel-example-jms-file/src/main/resources/features.xml
index 49ce374..7673b9c 100644
--- a/examples/camel-example-jms-file/src/main/resources/features.xml
+++ b/examples/camel-example-jms-file/src/main/resources/features.xml
@@ -16,9 +16,9 @@
     limitations under the License.
 -->
 <features>
-    <repository>mvn:org.apache.camel.karaf/apache-camel/${pom.version}/xml/features</repository>
+    <repository>mvn:org.apache.camel.karaf/apache-camel/${project.version}/xml/features</repository>
     
-    <feature name='activemq-feature' version='${pom.version}'>
+    <feature name='activemq-feature' version='${project.version}'>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1</bundle>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/1.1.1</bundle>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-j2ee-management_1.1_spec/1.0.1</bundle>
@@ -32,10 +32,10 @@
        <bundle>mvn:org.apache.activemq/activemq-camel/${activemq-version}</bundle>
     </feature>
     
-    <feature name='camel-example-jms-file' version='${pom.version}'>
-        <feature version="${pom.version}">camel</feature>
-        <feature version="${pom.version}">camel-jms</feature>
-        <bundle>mvn:org.apache.camel/camel-example-jms-file/${pom.version}</bundle>
+    <feature name='camel-example-jms-file' version='${project.version}'>
+        <feature version="${project.version}">camel</feature>
+        <feature version="${project.version}">camel-jms</feature>
+        <bundle>mvn:org.apache.camel/camel-example-jms-file/${project.version}</bundle>
     </feature>
 
 </features>
\ No newline at end of file
diff --git a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/queue/version/BankResponseAggregationStrategy.java b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/queue/version/BankResponseAggregationStrategy.java
index cc66941..529557f 100644
--- a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/queue/version/BankResponseAggregationStrategy.java
+++ b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/queue/version/BankResponseAggregationStrategy.java
@@ -28,7 +28,7 @@
     
     // Here we put the bank response together
     public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
-        LOG.debug("Get the exchange to aggregate, older: " + oldExchange + " newer:" + newExchange);
+        LOG.debug("oldExchange: {}, newExchange: {}", oldExchange, newExchange);
 
         // the first time we only have the new exchange
         if (oldExchange == null) {
@@ -51,7 +51,7 @@
             result = newExchange;
         }
 
-        LOG.debug("Get the lower rate exchange " + result);
+        LOG.debug("Lowest rate exchange: {}", result);
         return result;
     }
 
diff --git a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/queue/version/Client.java b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/queue/version/Client.java
index 2a76ece..d9d4844 100644
--- a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/queue/version/Client.java
+++ b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/queue/version/Client.java
@@ -27,6 +27,7 @@
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.jms.JmsComponent;
 import org.apache.camel.impl.DefaultCamelContext;
+
 //START SNIPPET: client
 public class Client extends RouteBuilder {
 
@@ -46,7 +47,7 @@
         // send out the request message
         for (int i = 0; i < 2; i++) {
             template.sendBodyAndHeader("jms:queue:loanRequestQueue",
-                                       "Quote for the lowerst rate of loaning bank",
+                                       "Quote for the lowest rate of loaning bank",
                                        Constants.PROPERTY_SSN, "Client-A" + i);
             Thread.sleep(100);
         }
@@ -57,7 +58,7 @@
         Exchange exchange = template.send("jms:queue2:parallelLoanRequestQueue", new Processor() {
             public void process(Exchange exchange) throws Exception {
                 exchange.setPattern(ExchangePattern.InOut);
-                exchange.getIn().setBody("Quote for the lowerst rate of loaning bank");
+                exchange.getIn().setBody("Quote for the lowst rate of loaning bank");
                 exchange.getIn().setHeader(Constants.PROPERTY_SSN, "Client-B");
             }
         });
@@ -65,30 +66,24 @@
         String bank = (String)exchange.getOut().getHeader(Constants.PROPERTY_BANK);
         Double rate = (Double)exchange.getOut().getHeader(Constants.PROPERTY_RATE);
         String ssn = (String)exchange.getOut().getHeader(Constants.PROPERTY_SSN);
-        System.out.println("Loan quotion for Client " + ssn + "."
-                           + " The lowest rate bank is " + bank + ", the rate is " + rate);
+        System.out.println("Loan quote for Client " + ssn + "."
+                           + " The lowest rate bank is " + bank + ", with rate " + rate);
         
         // Wait a while before stop the context
         Thread.sleep(1000 * 5);
         context.stop();
-
     }
 
     /**
      * Lets configure the Camel routing rules using Java code to pull the response message
      */
     public void configure() {
-
         from("jms:queue:loanReplyQueue").process(new Processor() {
-
             public void process(Exchange exchange) throws Exception {
                 // Print out the response message
                 System.out.println(exchange.getIn().getBody());
-
             }
-
         });
-
     }
 
 }
diff --git a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/queue/version/JmsBroker.java b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/queue/version/JmsBroker.java
index d9793a5..d5f022f 100644
--- a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/queue/version/JmsBroker.java
+++ b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/queue/version/JmsBroker.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.camel.loanbroker.queue.version;
 
 import java.io.File;
@@ -25,7 +24,7 @@
 public final class JmsBroker {
     JMSEmbeddedBroker jmsBrokerThread;
     String jmsBrokerUrl = "tcp://localhost:51616";
-    String activeMQStorageDir;
+
     public JmsBroker() {
     }
 
@@ -42,10 +41,7 @@
         synchronized (this) {
             jmsBrokerThread.shutdownBroker = true;
         }
-        if (jmsBrokerThread != null) {
-            jmsBrokerThread.join();
-        }
-        
+        jmsBrokerThread.join();
         jmsBrokerThread = null;
     }
     
@@ -53,8 +49,7 @@
         boolean shutdownBroker;
         final String brokerUrl;
         Exception exception;
-        
-        
+
         public JMSEmbeddedBroker(String url) {
             brokerUrl = url;
         }
@@ -75,7 +70,6 @@
         
         public void run() {
             try {  
-                //ContainerWapper container;
                 BrokerService broker = new BrokerService();
                 synchronized (this) {                                     
                     broker.setPersistenceAdapter(new MemoryPersistenceAdapter());                    
@@ -91,7 +85,6 @@
                     }
                 }                
                 broker.stop();              
-                broker = null;                
             } catch (Exception e) {
                 exception = e;
                 e.printStackTrace();
diff --git a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/queue/version/LoanBroker.java b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/queue/version/LoanBroker.java
index 3bd0762..a83492e 100644
--- a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/queue/version/LoanBroker.java
+++ b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/queue/version/LoanBroker.java
@@ -81,13 +81,11 @@
 
         // Now we aggregate the response message by using the Constants.PROPERTY_SSN header.
         // The aggregation will be complete when all the three bank responses are received
-        // In Camel 2.0 the we use AGGERATED_SIZE instead of AGGERATED_COUNT as the header 
-        // name of the aggregated message size.
         from("jms:queue:bankReplyQueue")
             .aggregate(header(Constants.PROPERTY_SSN), new BankResponseAggregationStrategy())
             .completionPredicate(header(Exchange.AGGREGATED_SIZE).isEqualTo(3))
 
-        // Here we do some translation and put the message back to loanReplyQueue
+            // Here we do some translation and put the message back to loanReplyQueue
             .process(new Translator()).to("jms:queue:loanReplyQueue");
 
     // END SNIPPET: dsl
diff --git a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/queue/version/Translator.java b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/queue/version/Translator.java
index 7096230..5217361 100644
--- a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/queue/version/Translator.java
+++ b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/queue/version/Translator.java
@@ -26,8 +26,8 @@
         String bank = (String)exchange.getIn().getHeader(Constants.PROPERTY_BANK);
         Double rate = (Double)exchange.getIn().getHeader(Constants.PROPERTY_RATE);
         String ssn = (String)exchange.getIn().getHeader(Constants.PROPERTY_SSN);
-        exchange.getOut().setBody("Loan quotion for Client " + ssn + "."
-                                  + " The lowest rate bank is " + bank + ", the rate is " + rate);
+        exchange.getOut().setBody("Loan quote for Client " + ssn + "."
+                                  + " The lowest rate bank is " + bank + ", with rate " + rate);
     }
 
 }
diff --git a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/Client.java b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/Client.java
index cf13945..b03b471 100644
--- a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/Client.java
+++ b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/Client.java
@@ -14,10 +14,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.camel.loanbroker.webservice.version;
 
-
 import org.apache.cxf.BusFactory;
 import org.apache.cxf.frontend.ClientFactoryBean;
 import org.apache.cxf.frontend.ClientProxyFactoryBean;
@@ -25,7 +23,6 @@
 /**
  * The client that will invoke the loan broker service
  */
-
 //START SNIPPET: client
 public class Client {
 
@@ -41,18 +38,21 @@
 
     public static void main(String[] args) {
         Client client = new Client();
-        String result = null;
         LoanBrokerWS loanBroker = client.getProxy(Constants.LOANBROKER_ADDRESS);
+
         long startTime = System.currentTimeMillis();
-        result = loanBroker.getLoanQuote("Sequential SSN", 1000.54, 10);
+        String result = loanBroker.getLoanQuote("Sequential SSN", 1000.54, 10);
         long endTime = System.currentTimeMillis();
+
         System.out.println("It takes " + (endTime - startTime) + " milliseconds to call the sequential loan broker service");
         System.out.println(result);
 
-        LoanBrokerWS paralleLoanBroker = client.getProxy(Constants.PARALLEL_LOANBROKER_ADDRESS);
+        LoanBrokerWS parallelLoanBroker = client.getProxy(Constants.PARALLEL_LOANBROKER_ADDRESS);
+
         startTime = System.currentTimeMillis();
-        result = paralleLoanBroker.getLoanQuote("Parallel SSN", 1000.54, 10);
+        result = parallelLoanBroker.getLoanQuote("Parallel SSN", 1000.54, 10);
         endTime = System.currentTimeMillis();
+
         System.out.println("It takes " + (endTime - startTime) + " milliseconds to call the parallel loan broker service");
         System.out.println(result);
     }
diff --git a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/LoanBroker.java b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/LoanBroker.java
index 1f3190f..ca5ac47 100644
--- a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/LoanBroker.java
+++ b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/LoanBroker.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.loanbroker.webservice.version;
 
-
 import java.util.ArrayList;
 import java.util.List;
 
@@ -34,12 +33,8 @@
 import org.apache.cxf.frontend.ClientFactoryBean;
 import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
 
-
-
 /**
  * The LoanBroker is a RouteBuilder which builds the whole loan message routing rules
- *
- *
  */
 public class LoanBroker extends RouteBuilder {
 
@@ -66,6 +61,7 @@
         creditAgencyServer.stop();
     }
     //END SNIPPET: server
+
     /**
      * Lets configure the Camel routing rules using Java code...
      */
@@ -121,7 +117,7 @@
 
             String ssn = (String)request.get(0);
             Double amount = (Double) request.get(1);
-            Integer loanDuriation = (Integer)request.get(2);
+            Integer loanDuration = (Integer)request.get(2);
             int historyLength = proxy.getCreditHistoryLength(ssn);
             int score = proxy.getCreditScore(ssn);
 
@@ -129,7 +125,7 @@
             List<Object> bankRequest = new ArrayList<Object>();
             bankRequest.add(ssn);
             bankRequest.add(amount);
-            bankRequest.add(loanDuriation);
+            bankRequest.add(loanDuration);
             bankRequest.add(historyLength);
             bankRequest.add(score);
             exchange.getOut().setBody(bankRequest);
diff --git a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/LoanBrokerWS.java b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/LoanBrokerWS.java
index 37a621c..7a1bcec 100644
--- a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/LoanBrokerWS.java
+++ b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/LoanBrokerWS.java
@@ -21,7 +21,7 @@
 // This SEI has no @WebService annotation, we use the simple frontend API to create client and server
 public interface LoanBrokerWS {
 
-    String getLoanQuote(String ssn, Double loanAmount, Integer loanDuriation);
+    String getLoanQuote(String ssn, Double loanAmount, Integer loanDuration);
 
 }
 //END SNIPPET: loanBroker
diff --git a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/bank/Bank.java b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/bank/Bank.java
index 1015ab9..270a570 100644
--- a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/bank/Bank.java
+++ b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/bank/Bank.java
@@ -15,6 +15,7 @@
  * limitations under the License.
  */
 package org.apache.camel.loanbroker.webservice.version.bank;
+
 //START SNIPPET: bankImpl
 public class Bank implements BankWS {
     private String bankName;
@@ -30,7 +31,7 @@
     }
 
     public BankQuote getQuote(String ssn, double loanAmount, int loanDuration, int creditHistory, int creditScore) {
-        Double rate = primeRate + (double)(loanDuration / 12) / 10 + (double)(Math.random() * 10) / 10;
+        Double rate = primeRate + (double)(loanDuration / 12) / 10 + Math.random() * 10 / 10;
         // Wait for a while
         try {
             Thread.sleep(1000);
diff --git a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/bank/BankQuote.java b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/bank/BankQuote.java
index 1996dbc..c47cfa5 100644
--- a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/bank/BankQuote.java
+++ b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/bank/BankQuote.java
@@ -22,7 +22,6 @@
     private Double rate;
 
     public BankQuote() {
-
     }
 
     public BankQuote(String name, String s, Double r) {
diff --git a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/bank/BankServer.java b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/bank/BankServer.java
index ca10efa..8f15d9a 100644
--- a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/bank/BankServer.java
+++ b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/bank/BankServer.java
@@ -14,20 +14,17 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.camel.loanbroker.webservice.version.bank;
 
 import javax.xml.ws.Endpoint;
 
 import org.apache.camel.loanbroker.webservice.version.Constants;
 
-
-
 public class BankServer {
 
-    Endpoint endpoint1;
-    Endpoint endpoint2;
-    Endpoint endpoint3;
+    private Endpoint endpoint1;
+    private Endpoint endpoint2;
+    private Endpoint endpoint3;
 
     public void start() throws Exception {
         System.out.println("Starting Bank Server");
@@ -38,8 +35,6 @@
         endpoint1 = Endpoint.publish(Constants.BANK1_ADDRESS, bank1);
         endpoint2 = Endpoint.publish(Constants.BANK2_ADDRESS, bank2);
         endpoint3 = Endpoint.publish(Constants.BANK3_ADDRESS, bank3);
-
-
     }
 
     public void stop() {
@@ -54,7 +49,6 @@
         }
     }
 
-
     public static void main(String args[]) throws Exception {
         BankServer server = new BankServer();
         System.out.println("Server ready...");
diff --git a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/bank/BankWS.java b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/bank/BankWS.java
index 73a76a6..e1057ce 100644
--- a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/bank/BankWS.java
+++ b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/bank/BankWS.java
@@ -25,7 +25,6 @@
 
     String getBankName();
 
-
     BankQuote getQuote(String ssn, double loanAmount, int loanDuration, int creditHistory, int creditScore);
 
 }
diff --git a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/credit/CreditAgency.java b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/credit/CreditAgency.java
index d71b78f..01ab72c 100644
--- a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/credit/CreditAgency.java
+++ b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/credit/CreditAgency.java
@@ -15,6 +15,7 @@
  * limitations under the License.
  */
 package org.apache.camel.loanbroker.webservice.version.credit;
+
 //START SNIPPET: creditAgencyImpl
 public class CreditAgency implements CreditAgencyWS {
 
diff --git a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/credit/CreditAgencyServer.java b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/credit/CreditAgencyServer.java
index be02c48..ce51945 100644
--- a/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/credit/CreditAgencyServer.java
+++ b/examples/camel-example-loan-broker/src/main/java/org/apache/camel/loanbroker/webservice/version/credit/CreditAgencyServer.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.camel.loanbroker.webservice.version.credit;
 
 import javax.xml.ws.Endpoint;
diff --git a/examples/camel-example-loan-broker/src/main/resources/features.xml b/examples/camel-example-loan-broker/src/main/resources/features.xml
index 260350e..37f9d23 100644
--- a/examples/camel-example-loan-broker/src/main/resources/features.xml
+++ b/examples/camel-example-loan-broker/src/main/resources/features.xml
@@ -16,9 +16,9 @@
     limitations under the License.
 -->
 <features>
-    <repository>mvn:org.apache.camel.karaf/apache-camel/${pom.version}/xml/features</repository>
+    <repository>mvn:org.apache.camel.karaf/apache-camel/${project.version}/xml/features</repository>
     
-    <feature name='activemq-feature' version='${pom.version}'>
+    <feature name='activemq-feature' version='${project.version}'>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1</bundle>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/1.1.1</bundle>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-j2ee-management_1.1_spec/1.0.1</bundle>
@@ -32,11 +32,11 @@
        <bundle>mvn:org.apache.activemq/activemq-camel/${activemq-version}</bundle>
     </feature>
     
-    <feature name='camel-example-loan-broker' version='${pom.version}'>
-        <feature version="${pom.version}">camel</feature>
-        <feature version="${pom.version}">camel-jms</feature>
-        <feature version="${pom.version}">camel-cxf</feature>
-        <bundle>mvn:org.apache.camel/camel-example-loan-broker/${pom.version}</bundle>
+    <feature name='camel-example-loan-broker' version='${project.version}'>
+        <feature version="${project.version}">camel</feature>
+        <feature version="${project.version}">camel-jms</feature>
+        <feature version="${project.version}">camel-cxf</feature>
+        <bundle>mvn:org.apache.camel/camel-example-loan-broker/${project.version}</bundle>
     </feature>
 
 </features>
\ No newline at end of file
diff --git a/examples/camel-example-loan-broker/src/test/java/org/apache/camel/loanbroker/queue/version/LoanBrokerQueueTest.java b/examples/camel-example-loan-broker/src/test/java/org/apache/camel/loanbroker/queue/version/LoanBrokerQueueTest.java
index 43ac348..b65ce84 100644
--- a/examples/camel-example-loan-broker/src/test/java/org/apache/camel/loanbroker/queue/version/LoanBrokerQueueTest.java
+++ b/examples/camel-example-loan-broker/src/test/java/org/apache/camel/loanbroker/queue/version/LoanBrokerQueueTest.java
@@ -97,7 +97,7 @@
             String ssn = "Client-A" + index;
             String result = exchange.getIn().getBody(String.class);
             assertNotNull("The result should not be null", result);
-            assertTrue("The result is wrong", result.startsWith("Loan quotion for Client " + ssn));
+            assertTrue("The result is wrong", result.startsWith("Loan quote for Client " + ssn));
             index++;
         }
         
@@ -105,7 +105,7 @@
         Exchange exchange = template.send("jms:queue2:parallelLoanRequestQueue", new Processor() {
             public void process(Exchange exchange) throws Exception {
                 exchange.setPattern(ExchangePattern.InOut);
-                exchange.getIn().setBody("Quote for the lowerst rate of loaning bank");
+                exchange.getIn().setBody("Quote for the lowest rate of loaning bank");
                 exchange.getIn().setHeader(Constants.PROPERTY_SSN, "Client-B");
             }
         });
diff --git a/examples/camel-example-management/src/main/resources/features.xml b/examples/camel-example-management/src/main/resources/features.xml
index 27e0bac..7a4e0e0 100644
--- a/examples/camel-example-management/src/main/resources/features.xml
+++ b/examples/camel-example-management/src/main/resources/features.xml
@@ -16,9 +16,9 @@
     limitations under the License.
 -->
 <features>
-    <repository>mvn:org.apache.camel.karaf/apache-camel/${pom.version}/xml/features</repository>
+    <repository>mvn:org.apache.camel.karaf/apache-camel/${project.version}/xml/features</repository>
     
-    <feature name='activemq-feature' version='${pom.version}'>
+    <feature name='activemq-feature' version='${project.version}'>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1</bundle>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/1.1.1</bundle>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-j2ee-management_1.1_spec/1.0.1</bundle>
@@ -32,10 +32,10 @@
        <bundle>mvn:org.apache.activemq/activemq-camel/${activemq-version}</bundle>
     </feature>
     
-    <feature name='camel-example-management' version='${pom.version}'>
-        <feature version="${pom.version}">camel</feature>
-        <feature version="${pom.version}">camel-jms</feature>
-        <bundle>mvn:org.apache.camel/camel-example-management/${pom.version}</bundle>
+    <feature name='camel-example-management' version='${project.version}'>
+        <feature version="${project.version}">camel</feature>
+        <feature version="${project.version}">camel-jms</feature>
+        <bundle>mvn:org.apache.camel/camel-example-management/${project.version}</bundle>
     </feature>
 
 </features>
\ No newline at end of file
diff --git a/examples/camel-example-osgi-rmi/pom.xml b/examples/camel-example-osgi-rmi/pom.xml
index bb1cddd..cf947f4f 100644
--- a/examples/camel-example-osgi-rmi/pom.xml
+++ b/examples/camel-example-osgi-rmi/pom.xml
@@ -60,9 +60,13 @@
         <!-- used for mvn camel:run -->
         <dependency>
             <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
+            <artifactId>slf4j-log4j12</artifactId>
             <version>${slf4j-version}</version>
         </dependency>
+        <dependency>
+            <groupId>log4j</groupId>
+            <artifactId>log4j</artifactId>
+        </dependency>
 
     </dependencies>
 
diff --git a/examples/camel-example-osgi-rmi/src/main/resources/META-INF/spring/camelContext.xml b/examples/camel-example-osgi-rmi/src/main/resources/META-INF/spring/camelContext.xml
index 15af058..0924c8b 100644
--- a/examples/camel-example-osgi-rmi/src/main/resources/META-INF/spring/camelContext.xml
+++ b/examples/camel-example-osgi-rmi/src/main/resources/META-INF/spring/camelContext.xml
@@ -19,23 +19,31 @@
 <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:camel="http://camel.apache.org/schema/spring"
+       xmlns:context="http://www.springframework.org/schema/context"
        xsi:schemaLocation="
          http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
          http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
 
+  <!-- spring property placeholder, ignore resource not found as the file resource is for unit testing -->
+  <context:property-placeholder location="classpath:myapp.properties,file:target/custom.properties"
+                                ignore-resource-not-found="true"/>
+
   <!-- bean implementing logic -->
   <bean id="helloServiceBean" class="org.apache.camel.example.osgi.HelloServiceImpl"/>
 
-  <!-- setup RMI server on port 37541 -->
+  <!-- setup RMI server -->
   <bean id="rmiServer" class="java.rmi.registry.LocateRegistry" factory-method="createRegistry">
-    <constructor-arg index="0" value="37541"/>
+    <constructor-arg index="0" value="${port}"/>
   </bean>
 
   <camelContext xmlns="http://camel.apache.org/schema/spring" depends-on="rmiServer">
 
+    <endpoint id="rmiService" uri="rmi://localhost:${port}/helloServiceBean?remoteInterfaces=org.apache.camel.example.osgi.HelloService"/>
+
     <!-- expose a RMI service as a Camel route -->
     <camel:route>
-      <from uri="rmi://localhost:37541/helloServiceBean?remoteInterfaces=org.apache.camel.example.osgi.HelloService"/>
+      <from ref="rmiService"/>
       <to uri="log:Incoming request on RMI"/>
       <to uri="bean:helloServiceBean"/>
     </camel:route>
diff --git a/examples/camel-example-osgi-rmi/src/main/resources/features.xml b/examples/camel-example-osgi-rmi/src/main/resources/features.xml
index cfd6529..07ef0d3 100644
--- a/examples/camel-example-osgi-rmi/src/main/resources/features.xml
+++ b/examples/camel-example-osgi-rmi/src/main/resources/features.xml
@@ -16,13 +16,13 @@
     limitations under the License.
 -->
 <features>
-    <repository>mvn:org.apache.camel.karaf/apache-camel/${pom.version}/xml/features</repository>
+    <repository>mvn:org.apache.camel.karaf/apache-camel/${project.version}/xml/features</repository>
     
-    <feature name='camel-example-osgi-rmi' version='${pom.version}'>
-        <feature version="${pom.version}">camel</feature>
-        <feature version="${pom.version}">camel-spring</feature>
-        <feature version="${pom.version}">camel-rmi</feature>
-        <bundle>mvn:org.apache.camel/camel-example-osgi-rmi/${pom.version}</bundle>
+    <feature name='camel-example-osgi-rmi' version='${project.version}'>
+        <feature version="${project.version}">camel</feature>
+        <feature version="${project.version}">camel-spring</feature>
+        <feature version="${project.version}">camel-rmi</feature>
+        <bundle>mvn:org.apache.camel/camel-example-osgi-rmi/${project.version}</bundle>
     </feature>
 
 </features>
\ No newline at end of file
diff --git a/examples/camel-example-osgi-rmi/src/main/resources/log4j.properties b/examples/camel-example-osgi-rmi/src/main/resources/log4j.properties
new file mode 100644
index 0000000..dbfc335
--- /dev/null
+++ b/examples/camel-example-osgi-rmi/src/main/resources/log4j.properties
@@ -0,0 +1,29 @@
+## ------------------------------------------------------------------------
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements.  See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You under the Apache License, Version 2.0
+## (the "License"); you may not use this file except in compliance with
+## the License.  You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## ------------------------------------------------------------------------
+
+# default properties to initialise log4j
+log4j.rootLogger=INFO, console
+
+# Camel logging
+#log4j.logger.org.apache.camel=DEBUG
+
+# Console appender
+log4j.appender.console=org.apache.log4j.ConsoleAppender
+log4j.appender.console.layout=org.apache.log4j.PatternLayout
+log4j.appender.console.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n
+log4j.throwableRenderer=org.apache.log4j.EnhancedThrowableRenderer
+
diff --git a/examples/camel-example-osgi-rmi/src/main/resources/myapp.properties b/examples/camel-example-osgi-rmi/src/main/resources/myapp.properties
new file mode 100644
index 0000000..2a99092
--- /dev/null
+++ b/examples/camel-example-osgi-rmi/src/main/resources/myapp.properties
@@ -0,0 +1,19 @@
+## ------------------------------------------------------------------------
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements.  See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You under the Apache License, Version 2.0
+## (the "License"); you may not use this file except in compliance with
+## the License.  You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## ------------------------------------------------------------------------
+
+# properties for the application
+port=37541
\ No newline at end of file
diff --git a/examples/camel-example-osgi-rmi/src/test/java/org/apache/camel/example/osgi/RmiTest.java b/examples/camel-example-osgi-rmi/src/test/java/org/apache/camel/example/osgi/RmiTest.java
index dd0fe23..137b012 100644
--- a/examples/camel-example-osgi-rmi/src/test/java/org/apache/camel/example/osgi/RmiTest.java
+++ b/examples/camel-example-osgi-rmi/src/test/java/org/apache/camel/example/osgi/RmiTest.java
@@ -16,10 +16,15 @@
  */
 package org.apache.camel.example.osgi;
 
+import java.io.File;
+import java.io.FileOutputStream;
+
 import org.apache.camel.CamelContext;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit4.CamelSpringTestSupport;
+import org.junit.BeforeClass;
 import org.junit.Test;
 import org.springframework.context.support.AbstractApplicationContext;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -30,6 +35,21 @@
  * @version 
  */
 public class RmiTest extends CamelSpringTestSupport {
+    
+    private static int port;
+
+    @BeforeClass
+    public static void setupFreePort() throws Exception {
+        // find a free port number from 9100 onwards, and write that in the custom.properties file
+        // which we will use for the unit tests, to avoid port number in use problems
+        port = AvailablePortFinder.getNextAvailable(9100);
+        String s = "port=" + port;
+
+        File custom = new File("target/custom.properties");
+        FileOutputStream fos = new FileOutputStream(custom);
+        fos.write(s.getBytes());
+        fos.close();
+    }
 
     @Override
     protected AbstractApplicationContext createApplicationContext() {
@@ -39,19 +59,17 @@
     @Test
     public void testRmi() throws Exception {
         // Create a new camel context to send the request so we can test the service which is deployed into a container
-        CamelContext camelContext = new DefaultCamelContext();
-        ProducerTemplate myTemplate = camelContext.createProducerTemplate();
+        CamelContext myContext = new DefaultCamelContext();
+        ProducerTemplate myTemplate = myContext.createProducerTemplate();
         myTemplate.start();
         try {
-            String out = myTemplate.requestBody("rmi://localhost:37541/helloServiceBean", "Camel", String.class);
+            System.out.println("Calling on port " + port);
+            String out = myTemplate.requestBody("rmi://localhost:" + port + "/helloServiceBean", "Camel", String.class);
             assertEquals("Hello Camel", out);
         } finally {
-            if (myTemplate != null) {
-                template.stop();
-            }
-            camelContext.stop();
+            myTemplate.stop();
+            myContext.stop();
         }
-        
     }
 
 }
diff --git a/examples/camel-example-osgi/src/main/resources/features.xml b/examples/camel-example-osgi/src/main/resources/features.xml
index 825e852..8e87233 100644
--- a/examples/camel-example-osgi/src/main/resources/features.xml
+++ b/examples/camel-example-osgi/src/main/resources/features.xml
@@ -16,11 +16,11 @@
     limitations under the License.
 -->
 <features>
-    <repository>mvn:org.apache.camel.karaf/apache-camel/${pom.version}/xml/features</repository>
+    <repository>mvn:org.apache.camel.karaf/apache-camel/${project.version}/xml/features</repository>
     
-    <feature name='camel-example-osgi' version='${pom.version}'>
-        <feature version="${pom.version}">camel</feature>
-        <bundle>mvn:org.apache.camel/camel-example-osgi/${pom.version}</bundle>
+    <feature name='camel-example-osgi' version='${project.version}'>
+        <feature version="${project.version}">camel</feature>
+        <bundle>mvn:org.apache.camel/camel-example-osgi/${project.version}</bundle>
     </feature>
 
 </features>
\ No newline at end of file
diff --git a/examples/camel-example-pojo-messaging/src/main/resources/features.xml b/examples/camel-example-pojo-messaging/src/main/resources/features.xml
index 978d7fb..67f50df 100644
--- a/examples/camel-example-pojo-messaging/src/main/resources/features.xml
+++ b/examples/camel-example-pojo-messaging/src/main/resources/features.xml
@@ -16,9 +16,9 @@
     limitations under the License.
 -->
 <features>
-    <repository>mvn:org.apache.camel.karaf/apache-camel/${pom.version}/xml/features</repository>
+    <repository>mvn:org.apache.camel.karaf/apache-camel/${project.version}/xml/features</repository>
     
-    <feature name='activemq-feature' version='${pom.version}'>
+    <feature name='activemq-feature' version='${project.version}'>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1</bundle>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/1.1.1</bundle>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-j2ee-management_1.1_spec/1.0.1</bundle>
@@ -32,10 +32,10 @@
        <bundle>mvn:org.apache.activemq/activemq-camel/${activemq-version}</bundle>
     </feature>
     
-    <feature name='camel-example-pojo-messaging' version='${pom.version}'>
-        <feature version="${pom.version}">camel</feature>
-        <feature version="${pom.version}">camel-jms</feature>
-        <bundle>mvn:org.apache.camel/camel-example-pojo-messaging/${pom.version}</bundle>
+    <feature name='camel-example-pojo-messaging' version='${project.version}'>
+        <feature version="${project.version}">camel</feature>
+        <feature version="${project.version}">camel-jms</feature>
+        <bundle>mvn:org.apache.camel/camel-example-pojo-messaging/${project.version}</bundle>
     </feature>
 
 </features>
\ No newline at end of file
diff --git a/examples/camel-example-pojo-messaging/src/test/java/org/apache/camel/example/pojo_messaging/CamelContextTest.java b/examples/camel-example-pojo-messaging/src/test/java/org/apache/camel/example/pojo_messaging/CamelContextTest.java
index bfdbd6f..2781356 100644
--- a/examples/camel-example-pojo-messaging/src/test/java/org/apache/camel/example/pojo_messaging/CamelContextTest.java
+++ b/examples/camel-example-pojo-messaging/src/test/java/org/apache/camel/example/pojo_messaging/CamelContextTest.java
@@ -16,11 +16,9 @@
  */
 package org.apache.camel.example.pojo_messaging;
 
-
 import java.io.File;
 
 import org.apache.camel.test.junit4.CamelSpringTestSupport;
-import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.springframework.context.support.AbstractXmlApplicationContext;
@@ -31,34 +29,18 @@
     protected int getExpectedRouteCount() {
         return 0;
     }
-    
-    protected void deleteLockFile() {
-        File file = new File("src/data/message1.xml.camelLock");
-        file.delete();
-        file = new File("src/data/message2.xml.camelLock");
-        file.delete();
-        file = new File("src/data/message3.xml.camelLock");
-        file.delete();
-    }
-    
+        
     @Before
     public void setUp() throws Exception {
         deleteDirectory("target/messages");
-        // delete the lock file
-        deleteLockFile();
         super.setUp();
     }
-    
-    @After
-    public void tearDown() throws Exception {
-        super.tearDown();
-        deleteLockFile();
-    }
-    
+       
     @Test
     public void testCheckFiles() throws Exception {
-        Thread.sleep(5000);
-       
+        // wait a little for the files to be picked up and processed
+        Thread.sleep(3000);
+
         File file = new File("target/messages/emea/hr_pickup");
         file = file.getAbsoluteFile();
         assertTrue("The pickup folder should exists", file.exists());
@@ -66,13 +48,11 @@
         file = new File("target/messages/amer/hr_pickup");
         file = file.getAbsoluteFile();
         assertTrue("The pickup folder should exists", file.exists());
-        assertEquals("There should be 2 dumped files", 2, file.list().length);
-        
+        assertEquals("There should be 2 dumped files", 2, file.list().length);    
     }
 
     @Override
-    protected AbstractXmlApplicationContext createApplicationContext() {
-        
+    protected AbstractXmlApplicationContext createApplicationContext() {        
         return new ClassPathXmlApplicationContext(new String[] {"/META-INF/spring/camel-context.xml"});
     }
 
diff --git a/examples/camel-example-reportincident-wssecurity/src/main/resources/META-INF/spring/camel-context.xml b/examples/camel-example-reportincident-wssecurity/src/main/resources/META-INF/spring/camel-context.xml
index 9b6946f..64ad99d 100644
--- a/examples/camel-example-reportincident-wssecurity/src/main/resources/META-INF/spring/camel-context.xml
+++ b/examples/camel-example-reportincident-wssecurity/src/main/resources/META-INF/spring/camel-context.xml
@@ -56,7 +56,7 @@
   -->
 
   <cxf:cxfEndpoint id="reportIncident"
-                   address="http://localhost:9080/camel-example-reportincident/webservices/incident"
+                   address="http://localhost:{{port}}/camel-example-reportincident/webservices/incident"
                    wsdlURL="etc/report_incident.wsdl"
                    serviceClass="org.apache.camel.example.reportincident.ReportIncidentEndpoint">
 
@@ -76,6 +76,8 @@
   <bean id="filenameGenerator" class="org.apache.camel.example.reportincident.FilenameGenerator"/>
 
   <camel:camelContext id="camel">
+    <!-- property which contains port number -->
+    <camel:propertyPlaceholder id="properties" location="classpath:incident.properties,file:target/custom.properties"/>
 
     <camel:route>
       <camel:from uri="cxf:bean:reportIncident"/>
diff --git a/examples/camel-example-reportincident-wssecurity/src/main/resources/incident.properties b/examples/camel-example-reportincident-wssecurity/src/main/resources/incident.properties
new file mode 100644
index 0000000..1a5cb79
--- /dev/null
+++ b/examples/camel-example-reportincident-wssecurity/src/main/resources/incident.properties
@@ -0,0 +1,19 @@
+## ------------------------------------------------------------------------
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements.  See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You under the Apache License, Version 2.0
+## (the "License"); you may not use this file except in compliance with
+## the License.  You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## ------------------------------------------------------------------------
+
+# properties for the application
+port=9081
\ No newline at end of file
diff --git a/examples/camel-example-reportincident-wssecurity/src/test/java/org/apache/camel/example/reportincident/ReportIncidentRoutesTest.java b/examples/camel-example-reportincident-wssecurity/src/test/java/org/apache/camel/example/reportincident/ReportIncidentRoutesTest.java
index a46a58a..253077b 100644
--- a/examples/camel-example-reportincident-wssecurity/src/test/java/org/apache/camel/example/reportincident/ReportIncidentRoutesTest.java
+++ b/examples/camel-example-reportincident-wssecurity/src/test/java/org/apache/camel/example/reportincident/ReportIncidentRoutesTest.java
@@ -16,18 +16,22 @@
  */
 package org.apache.camel.example.reportincident;
 
+import java.io.File;
+import java.io.FileOutputStream;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 import org.apache.camel.CamelContext;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit4.CamelSpringTestSupport;
 import org.apache.cxf.interceptor.Interceptor;
 import org.apache.cxf.interceptor.LoggingOutInterceptor;
 import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
 import org.apache.cxf.message.Message;
 import org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor;
+import org.junit.BeforeClass;
 import org.junit.Test;
 import org.jvnet.mock_javamail.Mailbox;
 import org.springframework.context.support.AbstractXmlApplicationContext;
@@ -39,16 +43,28 @@
 public class ReportIncidentRoutesTest extends CamelSpringTestSupport {
 
     // should be the same address as we have in our route
-    private static final String URL = "http://localhost:9080/camel-example-reportincident/webservices/incident";
+    private static final String URL = "http://localhost:{{port}}/camel-example-reportincident/webservices/incident";
 
     protected CamelContext camel;
+    
+    @BeforeClass
+    public static void setupFreePort() throws Exception {
+        // find a free port number from 9100 onwards, and write that in the custom.properties file
+        // which we will use for the unit tests, to avoid port number in use problems
+        int port = AvailablePortFinder.getNextAvailable(9100);
+        String s = "port=" + port;
+        File custom = new File("target/custom.properties");
+        FileOutputStream fos = new FileOutputStream(custom);
+        fos.write(s.getBytes());
+        fos.close();
+    }
 
     @Override
     protected AbstractXmlApplicationContext createApplicationContext() {
         return new ClassPathXmlApplicationContext("/META-INF/spring/camel-context.xml");
     }
 
-    protected static ReportIncidentEndpoint createCXFClient() {
+    protected static ReportIncidentEndpoint createCXFClient(String url) {
         List<Interceptor<? extends Message>> outInterceptors = new ArrayList<Interceptor<? extends Message>>();
 
         // Define WSS4j properties for flow outgoing
@@ -71,7 +87,7 @@
         JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
         factory.setOutInterceptors(outInterceptors);
         factory.setServiceClass(ReportIncidentEndpoint.class);
-        factory.setAddress(URL);
+        factory.setAddress(url);
         return (ReportIncidentEndpoint) factory.create();
     }
 
@@ -94,7 +110,8 @@
         input.setPhone("0011 22 33 44");
 
         // create the webservice client and send the request
-        ReportIncidentEndpoint client = createCXFClient();
+        String url = context.resolvePropertyPlaceholders(URL);
+        ReportIncidentEndpoint client = createCXFClient(url);
         OutputReportIncident out = client.reportIncident(input);
 
         // assert we got a OK back
diff --git a/examples/camel-example-reportincident/pom.xml b/examples/camel-example-reportincident/pom.xml
index 86dccf2..9b6748d 100755
--- a/examples/camel-example-reportincident/pom.xml
+++ b/examples/camel-example-reportincident/pom.xml
@@ -104,6 +104,12 @@
 			<version>${cxf-version}</version>
 		</dependency>
 
+    <dependency>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+
 		<dependency>
 			<groupId>junit</groupId>
 			<artifactId>junit</artifactId>
diff --git a/examples/camel-example-reportincident/src/main/java/org/apache/camel/example/reportincident/ReportIncidentRoutes.java b/examples/camel-example-reportincident/src/main/java/org/apache/camel/example/reportincident/ReportIncidentRoutes.java
index fb71891..b2b8453 100755
--- a/examples/camel-example-reportincident/src/main/java/org/apache/camel/example/reportincident/ReportIncidentRoutes.java
+++ b/examples/camel-example-reportincident/src/main/java/org/apache/camel/example/reportincident/ReportIncidentRoutes.java
@@ -41,11 +41,11 @@
 
         // endpoint to our CXF webservice  
         // We should use the related path to publish the service, when using the ServletTransport
-        // so we need to configure set the bus which is configured to use the ServletTranspot
+        // so we need to configure set the bus which is configured to use the ServletTransport
         String cxfEndpointAddress = "cxf:/incident?bus=#cxf&";
         // Using the full http address for stand alone running
         if (!usingServletTransport) {
-            cxfEndpointAddress = "cxf://http://localhost:9080/camel-example-reportincident/webservices/incident?";
+            cxfEndpointAddress = "cxf://http://localhost:{{port}}/camel-example-reportincident/webservices/incident?";
         }
         String cxfEndpoint = cxfEndpointAddress
                 + "serviceClass=org.apache.camel.example.reportincident.ReportIncidentEndpoint"
diff --git a/examples/camel-example-reportincident/src/main/resources/META-INF/spring/camel-context.xml b/examples/camel-example-reportincident/src/main/resources/META-INF/spring/camel-context.xml
index 49ccd2e..ae875c7 100644
--- a/examples/camel-example-reportincident/src/main/resources/META-INF/spring/camel-context.xml
+++ b/examples/camel-example-reportincident/src/main/resources/META-INF/spring/camel-context.xml
@@ -25,21 +25,28 @@
          http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
          http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf.xsd">
 
+  <!-- this is Spring XML example of the Camel route in the ReportIncidentRoutes class -->
+  <!-- this is for demonstration purpose, to show how you can use Camel with XML DSL -->
+
   <!-- Needed Apache CXF imports -->
   <import resource="classpath:META-INF/cxf/cxf.xml"/>
   
   <cxf:cxfEndpoint id="reportIncident"
-                   address="http://localhost:9080/camel-example-reportincident/webservices/incident"
+                   address="http://localhost:{{port}}/camel-example-reportincident/webservices/incident"
                    wsdlURL="etc/report_incident.wsdl"
                    serviceClass="org.apache.camel.example.reportincident.ReportIncidentEndpoint"/>
 
   <bean id="myBean" class="org.apache.camel.example.reportincident.MyBean"/>
+
   <bean id="filenameGenerator" class="org.apache.camel.example.reportincident.FilenameGenerator"/>
 
   <!-- this CamelContext contains the equivalent route from the Java DSL, but in XML
        so end users can see how to implement the route in both Java and XML -->
   <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
 
+    <!-- property which contains port number -->
+    <camel:propertyPlaceholder id="properties" location="classpath:incident.properties,file:target/custom.properties"/>
+
     <route>
       <from uri="cxf:bean:reportIncident"/>
       <convertBodyTo type="org.apache.camel.example.reportincident.InputReportIncident"/>
diff --git a/examples/camel-example-reportincident/src/main/resources/incident.properties b/examples/camel-example-reportincident/src/main/resources/incident.properties
new file mode 100644
index 0000000..61075d5
--- /dev/null
+++ b/examples/camel-example-reportincident/src/main/resources/incident.properties
@@ -0,0 +1,19 @@
+## ------------------------------------------------------------------------
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements.  See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You under the Apache License, Version 2.0
+## (the "License"); you may not use this file except in compliance with
+## the License.  You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## ------------------------------------------------------------------------
+
+# properties for the application
+port=9080
\ No newline at end of file
diff --git a/examples/camel-example-reportincident/src/test/java/org/apache/camel/example/reportincident/ReportIncidentRoutesTest.java b/examples/camel-example-reportincident/src/test/java/org/apache/camel/example/reportincident/ReportIncidentRoutesTest.java
index c1be161..b08b16e 100755
--- a/examples/camel-example-reportincident/src/test/java/org/apache/camel/example/reportincident/ReportIncidentRoutesTest.java
+++ b/examples/camel-example-reportincident/src/test/java/org/apache/camel/example/reportincident/ReportIncidentRoutesTest.java
@@ -16,9 +16,15 @@
  */
 package org.apache.camel.example.reportincident;
 
+import java.io.File;
+import java.io.FileOutputStream;
+
 import org.apache.camel.CamelContext;
+import org.apache.camel.component.properties.PropertiesComponent;
 import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
+import org.junit.BeforeClass;
 import org.junit.Test;
 import org.jvnet.mock_javamail.Mailbox;
 
@@ -30,12 +36,28 @@
 public class ReportIncidentRoutesTest {
 
     // should be the same address as we have in our route
-    private static final String URL = "http://localhost:9080/camel-example-reportincident/webservices/incident";
+    private static final String URL = "http://localhost:{{port}}/camel-example-reportincident/webservices/incident";
 
     protected CamelContext camel;
 
+    @BeforeClass
+    public static void setupFreePort() throws Exception {
+        // find a free port number from 9100 onwards, and write that in the custom.properties file
+        // which we will use for the unit tests, to avoid port number in use problems
+        int port = AvailablePortFinder.getNextAvailable(9100);
+        String s = "port=" + port;
+        File custom = new File("target/custom.properties");
+        FileOutputStream fos = new FileOutputStream(custom);
+        fos.write(s.getBytes());
+        fos.close();
+    }
+
     protected void startCamel() throws Exception {
         camel = new DefaultCamelContext();
+
+        // add properties component
+        camel.addComponent("properties", new PropertiesComponent("classpath:incident.properties,file:target/custom.properties"));
+
         ReportIncidentRoutes routes = new ReportIncidentRoutes();
         routes.setUsingServletTransport(false);
         camel.addRoutes(routes);
@@ -46,16 +68,16 @@
         camel.stop();
     }
 
-    protected static ReportIncidentEndpoint createCXFClient() {
+    protected static ReportIncidentEndpoint createCXFClient(String url) {
         // we use CXF to create a client for us as its easier than JAXWS and works
         JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
         factory.setServiceClass(ReportIncidentEndpoint.class);
-        factory.setAddress(URL);
+        factory.setAddress(url);
         return (ReportIncidentEndpoint) factory.create();
     }
 
     @Test
-    public void testRendportIncident() throws Exception {
+    public void testReportIncident() throws Exception {
         // start camel
         startCamel();
 
@@ -83,7 +105,8 @@
         input.setPhone("0045 2962 7576");
 
         // create the webservice client and send the request
-        ReportIncidentEndpoint client = createCXFClient();
+        String url = camel.resolvePropertyPlaceholders(URL);
+        ReportIncidentEndpoint client = createCXFClient(url);
         OutputReportIncident out = client.reportIncident(input);
 
         // assert we got a OK back
diff --git a/examples/camel-example-route-throttling/src/main/resources/features.xml b/examples/camel-example-route-throttling/src/main/resources/features.xml
index f303531..72eb97a 100644
--- a/examples/camel-example-route-throttling/src/main/resources/features.xml
+++ b/examples/camel-example-route-throttling/src/main/resources/features.xml
@@ -16,9 +16,9 @@
     limitations under the License.
 -->
 <features>
-    <repository>mvn:org.apache.camel.karaf/apache-camel/${pom.version}/xml/features</repository>
+    <repository>mvn:org.apache.camel.karaf/apache-camel/${project.version}/xml/features</repository>
     
-    <feature name='activemq-feature' version='${pom.version}'>
+    <feature name='activemq-feature' version='${project.version}'>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1</bundle>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/1.1.1</bundle>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-j2ee-management_1.1_spec/1.0.1</bundle>
@@ -32,10 +32,10 @@
        <bundle>mvn:org.apache.activemq/activemq-camel/${activemq-version}</bundle>
     </feature>
     
-    <feature name='camel-example-route-throttling' version='${pom.version}'>
-        <feature version="${pom.version}">camel</feature>
-        <feature version="${pom.version}">camel-jms</feature>
-        <bundle>mvn:org.apache.camel/camel-example-route-throttling/${pom.version}</bundle>
+    <feature name='camel-example-route-throttling' version='${project.version}'>
+        <feature version="${project.version}">camel</feature>
+        <feature version="${project.version}">camel-jms</feature>
+        <bundle>mvn:org.apache.camel/camel-example-route-throttling/${project.version}</bundle>
     </feature>
 
 </features>
\ No newline at end of file
diff --git a/examples/camel-example-spring-javaconfig/src/main/resources/features.xml b/examples/camel-example-spring-javaconfig/src/main/resources/features.xml
index 577e1f5..59affd8 100644
--- a/examples/camel-example-spring-javaconfig/src/main/resources/features.xml
+++ b/examples/camel-example-spring-javaconfig/src/main/resources/features.xml
@@ -16,10 +16,10 @@
     limitations under the License.
 -->
 <features>
-    <repository>mvn:org.apache.camel.karaf/apache-camel/${pom.version}/xml/features</repository>
+    <repository>mvn:org.apache.camel.karaf/apache-camel/${project.version}/xml/features</repository>
     <!-- NOTE the camel-example-spring-javaconfig feature need to install the spring 3.0.0 -->
     
-    <feature name='activemq-feature' version='${pom.version}'>
+    <feature name='activemq-feature' version='${project.version}'>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1</bundle>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/1.1.1</bundle>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-j2ee-management_1.1_spec/1.0.1</bundle>
@@ -33,10 +33,10 @@
        <bundle>mvn:org.apache.activemq/activemq-camel/${activemq.version}</bundle>
     </feature>
     
-    <feature name='camel-example-spring-javaconfig' version='${pom.version}'>
-        <feature version="${pom.version}">camel</feature>
-        <feature version="${pom.version}">camel-jms</feature>
-        <bundle>mvn:org.apache.camel/camel-example-spring-javaconfig/${pom.version}</bundle>
+    <feature name='camel-example-spring-javaconfig' version='${project.version}'>
+        <feature version="${project.version}">camel</feature>
+        <feature version="${project.version}">camel-jms</feature>
+        <bundle>mvn:org.apache.camel/camel-example-spring-javaconfig/${project.version}</bundle>
     </feature>
 
 </features>
\ No newline at end of file
diff --git a/examples/camel-example-spring-jms/src/main/resources/features.xml b/examples/camel-example-spring-jms/src/main/resources/features.xml
index 5773e9e..a5fd2e5 100644
--- a/examples/camel-example-spring-jms/src/main/resources/features.xml
+++ b/examples/camel-example-spring-jms/src/main/resources/features.xml
@@ -16,9 +16,9 @@
     limitations under the License.
 -->
 <features>
-    <repository>mvn:org.apache.camel.karaf/apache-camel/${pom.version}/xml/features</repository>
+    <repository>mvn:org.apache.camel.karaf/apache-camel/${project.version}/xml/features</repository>
     
-    <feature name='activemq-feature' version='${pom.version}'>
+    <feature name='activemq-feature' version='${project.version}'>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1</bundle>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/1.1.1</bundle>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-j2ee-management_1.1_spec/1.0.1</bundle>
@@ -32,10 +32,10 @@
        <bundle>mvn:org.apache.activemq/activemq-camel/${activemq-version}</bundle>
     </feature>
     
-    <feature name='camel-example-spring-jms' version='${pom.version}'>
-        <feature version="${pom.version}">camel</feature>
-        <feature version="${pom.version}">camel-jms</feature>
-        <bundle>mvn:org.apache.camel/camel-example-spring-jms/${pom.version}</bundle>
+    <feature name='camel-example-spring-jms' version='${project.version}'>
+        <feature version="${project.version}">camel</feature>
+        <feature version="${project.version}">camel-jms</feature>
+        <bundle>mvn:org.apache.camel/camel-example-spring-jms/${project.version}</bundle>
     </feature>
 
 </features>
\ No newline at end of file
diff --git a/examples/camel-example-spring-xquery/src/main/resources/features.xml b/examples/camel-example-spring-xquery/src/main/resources/features.xml
index 14bf4f8..0dc45b3 100644
--- a/examples/camel-example-spring-xquery/src/main/resources/features.xml
+++ b/examples/camel-example-spring-xquery/src/main/resources/features.xml
@@ -16,9 +16,9 @@
     limitations under the License.
 -->
 <features>
-    <repository>mvn:org.apache.camel.karaf/apache-camel/${pom.version}/xml/features</repository>
+    <repository>mvn:org.apache.camel.karaf/apache-camel/${project.version}/xml/features</repository>
     
-    <feature name='activemq-feature' version='${pom.version}'>
+    <feature name='activemq-feature' version='${project.version}'>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1</bundle>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/1.1.1</bundle>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-j2ee-management_1.1_spec/1.0.1</bundle>
@@ -32,11 +32,11 @@
        <bundle>mvn:org.apache.activemq/activemq-camel/${activemq-version}</bundle>
     </feature>
     
-    <feature name='camel-example-spring-xquery' version='${pom.version}'>
-        <feature version="${pom.version}">camel</feature>
-        <feature version="${pom.version}">camel-jms</feature>
-        <feature version="${pom.version}">camel-saxon</feature>
-        <bundle>mvn:org.apache.camel/camel-example-spring-xquery/${pom.version}</bundle>
+    <feature name='camel-example-spring-xquery' version='${project.version}'>
+        <feature version="${project.version}">camel</feature>
+        <feature version="${project.version}">camel-jms</feature>
+        <feature version="${project.version}">camel-saxon</feature>
+        <bundle>mvn:org.apache.camel/camel-example-spring-xquery/${project.version}</bundle>
     </feature>
 
 </features>
\ No newline at end of file
diff --git a/examples/camel-example-spring/src/main/resources/META-INF/spring/camel-context.xml b/examples/camel-example-spring/src/main/resources/META-INF/spring/camel-context.xml
index ab00b08..78406f9e 100644
--- a/examples/camel-example-spring/src/main/resources/META-INF/spring/camel-context.xml
+++ b/examples/camel-example-spring/src/main/resources/META-INF/spring/camel-context.xml
@@ -24,9 +24,6 @@
 
   <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
     <package>org.apache.camel.example.spring</package>
-
-    <!-- Default JMX connector url: "service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel" -->
-    <jmxAgent id="agent" createConnector="true"/>
   </camelContext>
 
   <!-- lets configure the default ActiveMQ broker URL -->
diff --git a/examples/camel-example-spring/src/main/resources/features.xml b/examples/camel-example-spring/src/main/resources/features.xml
index c7d33df..5ad51f9 100644
--- a/examples/camel-example-spring/src/main/resources/features.xml
+++ b/examples/camel-example-spring/src/main/resources/features.xml
@@ -16,9 +16,9 @@
     limitations under the License.
 -->
 <features>
-    <repository>mvn:org.apache.camel.karaf/apache-camel/${pom.version}/xml/features</repository>
+    <repository>mvn:org.apache.camel.karaf/apache-camel/${project.version}/xml/features</repository>
     
-    <feature name='activemq-feature' version='${pom.version}'>
+    <feature name='activemq-feature' version='${project.version}'>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1</bundle>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/1.1.1</bundle>
        <bundle>mvn:org.apache.geronimo.specs/geronimo-j2ee-management_1.1_spec/1.0.1</bundle>
@@ -32,10 +32,10 @@
        <bundle>mvn:org.apache.activemq/activemq-camel/${activemq-version}</bundle>
     </feature>
     
-    <feature name='camel-example-spring' version='${pom.version}'>
-        <feature version="${pom.version}">camel</feature>
-        <feature version="${pom.version}">camel-jms</feature>
-        <bundle>mvn:org.apache.camel/camel-example-spring/${pom.version}</bundle>
+    <feature name='camel-example-spring' version='${project.version}'>
+        <feature version="${project.version}">camel</feature>
+        <feature version="${project.version}">camel-jms</feature>
+        <bundle>mvn:org.apache.camel/camel-example-spring/${project.version}</bundle>
     </feature>
 
 </features>
\ No newline at end of file
diff --git a/examples/camel-example-tracer/src/main/resources/features.xml b/examples/camel-example-tracer/src/main/resources/features.xml
index 2cefbfa..e06f2be 100644
--- a/examples/camel-example-tracer/src/main/resources/features.xml
+++ b/examples/camel-example-tracer/src/main/resources/features.xml
@@ -16,9 +16,9 @@
     limitations under the License.
 -->
 <features>
-    <repository>mvn:org.apache.camel.karaf/apache-camel/${pom.version}/xml/features</repository>
+    <repository>mvn:org.apache.camel.karaf/apache-camel/${project.version}/xml/features</repository>
     
-    <feature name="jpa-hibernate" version="${pom.version}">
+    <feature name="jpa-hibernate" version="${project.version}">
         <bundle>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.java-persistence-api-1.1.1/1.4.0</bundle>
         <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-dbcp/1.2.2_5</bundle>
         <bundle>mvn:org.springframework/spring-jdbc/${spring-version}</bundle>
@@ -35,11 +35,11 @@
     </feature>
    
     
-    <feature name="camel-example-tracer" version="${pom.version}">
-        <feature version="${pom.version}">camel</feature>
-        <feature version="${pom.version}">camel-jpa</feature>
-        <feature version="${pom.version}">camel-stream</feature>
-        <bundle>mvn:org.apache.camel/camel-example-tracer/${pom.version}</bundle>
+    <feature name="camel-example-tracer" version="${project.version}">
+        <feature version="${project.version}">camel</feature>
+        <feature version="${project.version}">camel-jpa</feature>
+        <feature version="${project.version}">camel-stream</feature>
+        <bundle>mvn:org.apache.camel/camel-example-tracer/${project.version}</bundle>
     </feature>
 
 </features>
\ No newline at end of file
diff --git a/parent/pom.xml b/parent/pom.xml
index f2674cb..c51f87c 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -76,7 +76,7 @@
     <geronimo-jpa2-spec-version>1.1</geronimo-jpa2-spec-version>
     <geronimo-jta-spec-version>1.1.1</geronimo-jta-spec-version>
     <geronimo-servlet-spec-version>1.1.2</geronimo-servlet-spec-version>
-    <groovy-version>1.8.4</groovy-version>
+    <groovy-version>1.8.5</groovy-version>
     <guiceyfruit-version>2.0</guiceyfruit-version>
     <h2-version>1.3.161</h2-version>
     <hadoop-version>0.20.203.0</hadoop-version>
@@ -98,11 +98,11 @@
     <jain-sip-ri-bundle-version>1.2.154_2</jain-sip-ri-bundle-version>
     <jasypt-version>1.7</jasypt-version>
     <java-apns-version>0.1.6</java-apns-version>
-    <javassist-bundle-version>3.9.0.GA_1</javassist-bundle-version>
+    <javassist-bundle-version>3.12.1.GA_2</javassist-bundle-version>
     <javax-mail-version>1.4.4</javax-mail-version>
     <jaxen-version>1.1.1</jaxen-version>
     <jclouds-version>1.2.1</jclouds-version>
-    <jclouds-feature-version>1.2.1_3</jclouds-feature-version>
+    <jclouds-feature-version>1.2.2</jclouds-feature-version>
     <jdom-version>1.1</jdom-version>
     <jetty-version>7.5.3.v20111011</jetty-version>
     <jettison-version>1.3</jettison-version>
diff --git a/platforms/karaf/features/src/main/resources/config.properties b/platforms/karaf/features/src/main/resources/config.properties
index 8e10da9..29b4ae9 100755
--- a/platforms/karaf/features/src/main/resources/config.properties
+++ b/platforms/karaf/features/src/main/resources/config.properties
@@ -178,7 +178,7 @@
  com.sun.org.apache.xerces.internal.xni, \
  com.sun.jndi.ldap, \
  javax.accessibility, \
- javax.activation, \
+# javax.activation, \
  javax.activity, \
  javax.annotation, \
  javax.annotation.processing, \
@@ -258,12 +258,12 @@
  javax.tools, \
  javax.transaction, javax.transaction.xa, \
  javax.xml, \
- javax.xml.bind, \
- javax.xml.bind.annotation, \
- javax.xml.bind.annotation.adapters, \
- javax.xml.bind.attachment, \
- javax.xml.bind.helpers, \
- javax.xml.bind.util, \
+# javax.xml.bind, \
+# javax.xml.bind.annotation, \
+# javax.xml.bind.annotation.adapters, \
+# javax.xml.bind.attachment, \
+# javax.xml.bind.helpers, \
+# javax.xml.bind.util, \
  javax.xml.crypto, \
  javax.xml.crypto.dom, \
  javax.xml.crypto.dsig, \
@@ -273,10 +273,10 @@
  javax.xml.datatype, \
  javax.xml.namespace, \
  javax.xml.parsers, \
- javax.xml.soap, \
- javax.xml.stream, \
- javax.xml.stream.events, \
- javax.xml.stream.util, \
+# javax.xml.soap, \
+# javax.xml.stream, \
+# javax.xml.stream.events, \
+# javax.xml.stream.util, \
  javax.xml.transform, \
  javax.xml.transform.dom, \
  javax.xml.transform.sax, \
diff --git a/platforms/karaf/features/src/main/resources/features.xml b/platforms/karaf/features/src/main/resources/features.xml
index 1e5485d..c56ba18 100644
--- a/platforms/karaf/features/src/main/resources/features.xml
+++ b/platforms/karaf/features/src/main/resources/features.xml
@@ -1,723 +1,730 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version='1.0' encoding='UTF-8'?>
 <!--
  
       Licensed to the Apache Software Foundation (ASF) under one or more
       contributor license agreements.  See the NOTICE file distributed with
       this work for additional information regarding copyright ownership.
       The ASF licenses this file to You under the Apache License, Version 2.0
-      (the "License"); you may not use this file except in compliance with
+      (the 'License'); you may not use this file except in compliance with
       the License.  You may obtain a copy of the License at
  
          http://www.apache.org/licenses/LICENSE-2.0
  
       Unless required by applicable law or agreed to in writing, software
-      distributed under the License is distributed on an "AS IS" BASIS,
+      distributed under the License is distributed on an 'AS IS' BASIS,
       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
       See the License for the specific language governing permissions and
       limitations under the License.
 -->
-<features name='camel-${pom.version}'>
+<features name='camel-${project.version}'>
+
   <repository>mvn:org.apache.cxf.karaf/apache-cxf/${cxf-version}/xml/features</repository>
   <repository>mvn:org.jclouds.karaf/jclouds-karaf/${jclouds-feature-version}/xml/features</repository>
-  <feature name="xml-specs-api" version='${servicemix-specs-version}' resolver='(obr)' start-level='10'>
-    <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.activation-api-1.1/${servicemix-specs-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxb-api-2.2/${servicemix-specs-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.stax-api-1.0/${servicemix-specs-version}</bundle>
+
+  <feature name='xml-specs-api' version='${servicemix-specs-version}' resolver='(obr)' start-level='10'>
+    <bundle dependency='true'>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.activation-api-1.1/${servicemix-specs-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.stax-api-1.0/${servicemix-specs-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxb-api-2.2/${servicemix-specs-version}</bundle>
+    <bundle dependency='true'>mvn:org.codehaus.woodstox/stax2-api/${stax2-api-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.codehaus.woodstox/woodstox-core-asl/${woodstox-core-bundle-version}</bundle> 
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-impl/${jaxb-bundle-version}</bundle>
   </feature>
-  <feature name='camel' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <feature version='${pom.version}'>camel-spring</feature>
+  <feature name='camel' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <feature version='${project.version}'>camel-spring</feature>
   </feature>
-  <feature name='camel-core' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version="[3,4)">spring</feature>
-    <bundle>mvn:org.apache.camel/camel-core/${pom.version}</bundle>
-    <bundle>mvn:org.apache.camel.karaf/camel-karaf-commands/${pom.version}</bundle>
+  <feature name='camel-core' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='[3,4)'>spring</feature>
+    <feature version='${servicemix-specs-version}'>xml-specs-api</feature>
+    <bundle>mvn:org.apache.camel/camel-core/${project.version}</bundle>
+    <bundle>mvn:org.apache.camel.karaf/camel-karaf-commands/${project.version}</bundle>
   </feature>
-  <feature name='camel-spring' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo-jta-spec-version}</bundle>
-    <feature version="[3,4)">spring</feature>
-    <feature version="[1.2,2)">spring-dm</feature>
-    <feature version="[3,4)">spring-tx</feature>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-spring/${pom.version}</bundle>
+  <feature name='camel-spring' version='${project.version}' resolver='(obr)' start-level='50'>
+    <bundle dependency='true'>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo-jta-spec-version}</bundle>
+    <feature version='[3,4)'>spring</feature>
+    <feature version='[1.2,2)'>spring-dm</feature>
+    <feature version='[3,4)'>spring-tx</feature>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-spring/${project.version}</bundle>
   </feature>
-  <feature name='camel-blueprint' version='${pom.version}' resolver='(obr)' start-level='50'>
-     <feature version='${pom.version}'>camel-core</feature>
-     <bundle>mvn:org.apache.camel/camel-blueprint/${pom.version}</bundle>
+  <feature name='camel-blueprint' version='${project.version}' resolver='(obr)' start-level='50'>
+     <feature version='${project.version}'>camel-core</feature>
+     <bundle>mvn:org.apache.camel/camel-blueprint/${project.version}</bundle>
   </feature>
-  <feature name='camel-test' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-spring</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.junit/${junit-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-test/${pom.version}</bundle>
+  <feature name='camel-test' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-spring</feature>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.junit/${junit-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-test/${project.version}</bundle>
   </feature>
-  <feature name='camel-cxf' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-spring</feature>
+  <feature name='camel-cxf' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-spring</feature>
     <feature>jetty</feature>
     <feature version='[2.4,2.6)'>cxf</feature>
     <!-- Added cxf-specs feature to workaround the karaf feature validate issue -->
     <feature version='[2.4,2.6)'>cxf-specs</feature>
-    <bundle>mvn:org.apache.camel/camel-cxf-transport/${pom.version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-cxf/${pom.version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-cxf-transport/${project.version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-cxf/${project.version}</bundle>
   </feature>
-  <feature name='camel-cache' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ehcache/${ehcache-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jdom/${jdom-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-cache/${pom.version}</bundle> 
+  <feature name='camel-cache' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ehcache/${ehcache-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jdom/${jdom-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-cache/${project.version}</bundle> 
   </feature>
-  <feature name='camel-castor' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.oro/${oro-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.regexp/${regexp-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.castor/${castor-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-castor/${pom.version}</bundle>
+  <feature name='camel-castor' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.oro/${oro-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.regexp/${regexp-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.castor/${castor-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-castor/${project.version}</bundle>
   </feature>
-  <feature name='camel-crypto' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:commons-codec/commons-codec/${commons-codec}</bundle>
-    <bundle dependency="true">mvn:commons-io/commons-io/${commons-io-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.bcpg-jdk16/${bcpg-jdk16-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-crypto/${pom.version}</bundle>
+  <feature name='camel-crypto' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:commons-codec/commons-codec/${commons-codec}</bundle>
+    <bundle dependency='true'>mvn:commons-io/commons-io/${commons-io-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.bcpg-jdk16/${bcpg-jdk16-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-crypto/${project.version}</bundle>
   </feature>
-  <feature name='camel-http' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-httpclient/${commons-httpclient-bundle-version}</bundle>
-    <bundle dependency="true">mvn:commons-codec/commons-codec/${commons-codec}</bundle>
+  <feature name='camel-http' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-httpclient/${commons-httpclient-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:commons-codec/commons-codec/${commons-codec}</bundle>
     <!-- the jetty feature provides the geronimo-servlet_2.5_spec -->
     <!-- TODO replace the jetty feature by a Karaf spec feature -->
     <feature>jetty</feature>
-    <bundle>mvn:org.apache.camel/camel-http/${pom.version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-http/${project.version}</bundle>
   </feature>
-  <feature name='camel-http4' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.httpcomponents/httpcore-osgi/${httpcore4-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.httpcomponents/httpclient-osgi/${httpclient4-version}</bundle>
+  <feature name='camel-http4' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.httpcomponents/httpcore-osgi/${httpcore4-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.httpcomponents/httpclient-osgi/${httpclient4-version}</bundle>
     <!-- the jetty feature provides the geronimo-servlet_2.5_spec -->
     <!-- TODO replace the jetty feature by a Karaf spec feature -->
     <feature>jetty</feature>
-    <bundle>mvn:org.apache.camel/camel-http4/${pom.version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-http4/${project.version}</bundle>
   </feature>
-  <feature name='camel-mina' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.mina/${mina-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-mina/${pom.version}</bundle>
+  <feature name='camel-mina' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.mina/${mina-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-mina/${project.version}</bundle>
   </feature>
-  <feature name='camel-jetty' version='${pom.version}' resolver='(obr)' start-level='50'>
+  <feature name='camel-jetty' version='${project.version}' resolver='(obr)' start-level='50'>
     <feature>jetty</feature>
-    <feature version='${pom.version}'>camel-core</feature>
-    <feature version='${pom.version}'>camel-http</feature>
-    <bundle>mvn:org.apache.camel/camel-jetty/${pom.version}</bundle>
+    <feature version='${project.version}'>camel-core</feature>
+    <feature version='${project.version}'>camel-http</feature>
+    <bundle>mvn:org.apache.camel/camel-jetty/${project.version}</bundle>
   </feature>
-  <feature name='camel-servlet' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-http</feature>
-    <bundle>mvn:org.apache.camel/camel-servlet/${pom.version}</bundle>
+  <feature name='camel-servlet' version='${project.version}' resolver='(obr)' start-level='50'>
+    <!-- camel-servlet need to access the http OSGi services -->
+    <feature>http</feature>
+    <feature version='${project.version}'>camel-http</feature>
+    <bundle>mvn:org.apache.camel/camel-servlet/${project.version}</bundle>
   </feature>
-  <feature name='camel-jms' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version="[3,4)">spring</feature>
-    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo-jta-spec-version}</bundle>
-    <bundle dependency="true">mvn:commons-pool/commons-pool/${commons-pool-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/${geronimo-jms-spec-version}</bundle>
-    <feature version="[3,4)">spring-jms</feature>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-jms/${pom.version}</bundle>
+  <feature name='camel-jms' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='[3,4)'>spring</feature>
+    <bundle dependency='true'>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo-jta-spec-version}</bundle>
+    <bundle dependency='true'>mvn:commons-pool/commons-pool/${commons-pool-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/${geronimo-jms-spec-version}</bundle>
+    <feature version='[3,4)'>spring-jms</feature>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-jms/${project.version}</bundle>
   </feature>
-  <feature name='camel-jmx' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-jmx/${pom.version}</bundle>
+  <feature name='camel-jmx' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-jmx/${project.version}</bundle>
   </feature>
-  <feature name='camel-ahc' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:com.ning/async-http-client/${ahc-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-ahc/${pom.version}</bundle>
+  <feature name='camel-ahc' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:com.ning/async-http-client/${ahc-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-ahc/${project.version}</bundle>
   </feature>
-  <feature name='camel-amqp' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <bundle dependency="true">mvn:commons-lang/commons-lang/${commons-lang-version}</bundle>
-    <bundle dependency="true">mvn:commons-collections/commons-collections/${commons-collections-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.mina/${mina-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.qpid/${qpid-bundle-version}</bundle>
-    <feature version='${pom.version}'>camel-jms</feature>
-    <bundle>mvn:org.apache.camel/camel-amqp/${pom.version}</bundle>
+  <feature name='camel-amqp' version='${project.version}' resolver='(obr)' start-level='50'>
+    <bundle dependency='true'>mvn:commons-lang/commons-lang/${commons-lang-version}</bundle>
+    <bundle dependency='true'>mvn:commons-collections/commons-collections/${commons-collections-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.mina/${mina-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.qpid/${qpid-bundle-version}</bundle>
+    <feature version='${project.version}'>camel-jms</feature>
+    <bundle>mvn:org.apache.camel/camel-amqp/${project.version}</bundle>
   </feature>
   <!-- TODO: apns bundle does not work - SMX4-857
        apn has the depenency of mina 2.0, we need to provide that bundle in servicemix
-  <feature name='camel-apns' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.mina/${mina-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.codehaus.jackson/jackson-core-asl/${jackson-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.java-apns/${java-apns-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-apns/${pom.version}</bundle>
+  <feature name='camel-apns' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.mina/${mina-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.codehaus.jackson/jackson-core-asl/${jackson-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.java-apns/${java-apns-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-apns/${project.version}</bundle>
   </feature--> 
-  <feature name='camel-atom' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:javax.mail/mail/${javax-mail-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.ws.commons.axiom/axiom-impl/${axiom-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.ws.commons.axiom/axiom-api/${axiom-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.abdera/abdera-core/${abdera-version}</bundle>
-    <!--bundle dependency="true">mvn:org.apache.abdera/abdera-extensions-json/${abdera-version}</bundle-->
-    <bundle dependency="true">mvn:org.apache.abdera/abdera-extensions-main/${abdera-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.abdera/abdera-i18n/${abdera-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.abdera/abdera-parser/${abdera-version}</bundle>
-    <bundle dependency="true">mvn:commons-codec/commons-codec/${commons-codec}</bundle>
-    <bundle>mvn:org.apache.camel/camel-atom/${pom.version}</bundle>
+  <feature name='camel-atom' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:javax.mail/mail/${javax-mail-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.ws.commons.axiom/axiom-impl/${axiom-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.ws.commons.axiom/axiom-api/${axiom-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.abdera/abdera-core/${abdera-version}</bundle>
+    <!--bundle dependency='true'>mvn:org.apache.abdera/abdera-extensions-json/${abdera-version}</bundle-->
+    <bundle dependency='true'>mvn:org.apache.abdera/abdera-extensions-main/${abdera-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.abdera/abdera-i18n/${abdera-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.abdera/abdera-parser/${abdera-version}</bundle>
+    <bundle dependency='true'>mvn:commons-codec/commons-codec/${commons-codec}</bundle>
+    <bundle>mvn:org.apache.camel/camel-atom/${project.version}</bundle>
   </feature>
-  <feature name='camel-aws' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <bundle dependency="true">mvn:org.apache.httpcomponents/httpcore-osgi/${httpcore4-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.httpcomponents/httpclient-osgi/${httpclient4-version}</bundle>
-    <bundle dependency="true">mvn:commons-codec/commons-codec/${commons-codec}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.stax-api-1.0/${servicemix-specs-version}</bundle>
-    <bundle dependency="true">mvn:org.codehaus.jackson/jackson-core-asl/${jackson-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aws-java-sdk/${aws-java-sdk-bundle-version}</bundle>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-aws/${pom.version}</bundle>
+  <feature name='camel-aws' version='${project.version}' resolver='(obr)' start-level='50'>
+    <bundle dependency='true'>mvn:org.apache.httpcomponents/httpcore-osgi/${httpcore4-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.httpcomponents/httpclient-osgi/${httpclient4-version}</bundle>
+    <bundle dependency='true'>mvn:commons-codec/commons-codec/${commons-codec}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.stax-api-1.0/${servicemix-specs-version}</bundle>
+    <bundle dependency='true'>mvn:org.codehaus.jackson/jackson-core-asl/${jackson-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aws-java-sdk/${aws-java-sdk-bundle-version}</bundle>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-aws/${project.version}</bundle>
   </feature>
-  <feature name='camel-bam' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version="[3,4)">spring-tx</feature>
-    <feature version="[3,4)">spring-web</feature>
-    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo-jta-spec-version}</bundle>
-    <feature version="[3,4)">spring-jdbc</feature>
-    <bundle dependency="true">mvn:commons-pool/commons-pool/${commons-pool-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-dbcp/${commons-dbcp-bundle-version}</bundle>
-    <bundle dependency="true">mvn:commons-lang/commons-lang/${commons-lang-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/${geronimo-jms-spec-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.cglib/${cglib-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.java-persistence-api-1.1.1/${servicemix-specs-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.oscache/${oscache-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ibatis-sqlmap/${ibatis-bundle-version}</bundle>
-    <feature version="[3,4)">spring-orm</feature>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-bam/${pom.version}</bundle>
+  <feature name='camel-bam' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='[3,4)'>spring-tx</feature>
+    <feature version='[3,4)'>spring-web</feature>
+    <bundle dependency='true'>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo-jta-spec-version}</bundle>
+    <feature version='[3,4)'>spring-jdbc</feature>
+    <bundle dependency='true'>mvn:commons-pool/commons-pool/${commons-pool-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-dbcp/${commons-dbcp-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:commons-lang/commons-lang/${commons-lang-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/${geronimo-jms-spec-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.cglib/${cglib-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.java-persistence-api-1.1.1/${servicemix-specs-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.oscache/${oscache-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ibatis-sqlmap/${ibatis-bundle-version}</bundle>
+    <feature version='[3,4)'>spring-orm</feature>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-bam/${project.version}</bundle>
   </feature>
-  <feature name='camel-bean-validator' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jsr303-api-1.0.0/${servicemix-specs-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.scripting-api-1.0/${servicemix-specs-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.hibernate-validator/${hibernate-validator-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-bean-validator/${pom.version}</bundle>
+  <feature name='camel-bean-validator' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jsr303-api-1.0.0/${servicemix-specs-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.scripting-api-1.0/${servicemix-specs-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.hibernate-validator/${hibernate-validator-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-bean-validator/${project.version}</bundle>
   </feature>
-  <feature name='camel-bindy' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-bindy/${pom.version}</bundle>
+  <feature name='camel-bindy' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-bindy/${project.version}</bundle>
   </feature>
-  <feature name='camel-cometd' version='${pom.version}' resolver='(obr)' start-level='50'>
+  <feature name='camel-cometd' version='${project.version}' resolver='(obr)' start-level='50'>
     <feature>jetty</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.cometd-java-server/${cometd-java-server-bundle-version}</bundle>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-cometd/${pom.version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.cometd-java-server/${cometd-java-server-bundle-version}</bundle>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-cometd/${project.version}</bundle>
   </feature>
-  <feature name='camel-csv' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-csv/${commons-csv-version}</bundle>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-csv/${pom.version}</bundle>
+  <feature name='camel-csv' version='${project.version}' resolver='(obr)' start-level='50'>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-csv/${commons-csv-version}</bundle>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-csv/${project.version}</bundle>
   </feature>
   <!-- dnsjava dependens on the sun.net.spi.nameservice and junit.framework, we need to find a way to support it -->
-  <!--feature name='camel-dns' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <bundle dependency="true">mvn:dnsjava/dnsjava/${dnsjava-version}</bundle>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-dns/${pom.version}</bundle>
+  <!--feature name='camel-dns' version='${project.version}' resolver='(obr)' start-level='50'>
+    <bundle dependency='true'>mvn:dnsjava/dnsjava/${dnsjava-version}</bundle>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-dns/${project.version}</bundle>
   </feature-->
-  <feature name='camel-dozer' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
+  <feature name='camel-dozer' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
     <feature>war</feature>
-    <bundle dependency="true">mvn:net.sf.dozer/dozer-osgi/${dozer-version}</bundle>
-    <bundle dependency="true">mvn:commons-lang/commons-lang/${commons-lang-version}</bundle>
-    <bundle dependency="true">mvn:commons-collections/commons-collections/${commons-collections-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlbeans/${xmlbeans-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-beanutils/${commons-beanutils-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-dozer/${pom.version}</bundle>
+    <bundle dependency='true'>mvn:net.sf.dozer/dozer-osgi/${dozer-version}</bundle>
+    <bundle dependency='true'>mvn:commons-lang/commons-lang/${commons-lang-version}</bundle>
+    <bundle dependency='true'>mvn:commons-collections/commons-collections/${commons-collections-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlbeans/${xmlbeans-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-beanutils/${commons-beanutils-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-dozer/${project.version}</bundle>
   </feature>
-  <feature name='camel-eventadmin' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-eventadmin/${pom.version}</bundle>
+  <feature name='camel-eventadmin' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature>eventadmin</feature>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-eventadmin/${project.version}</bundle>
   </feature>
-  <feature name='camel-exec' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.commons/commons-exec/${commons-exec-version}</bundle>
-    <bundle dependency="true">mvn:commons-io/commons-io/${commons-io-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-exec/${pom.version}</bundle>
+  <feature name='camel-exec' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.commons/commons-exec/${commons-exec-version}</bundle>
+    <bundle dependency='true'>mvn:commons-io/commons-io/${commons-io-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-exec/${project.version}</bundle>
   </feature>
-  <feature name='camel-flatpack' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jdom/${jdom-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jexcelapi/${jexcelapi-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.flatpack/${flatpack-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-flatpack/${pom.version}</bundle>
+  <feature name='camel-flatpack' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jdom/${jdom-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jexcelapi/${jexcelapi-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.flatpack/${flatpack-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-flatpack/${project.version}</bundle>
   </feature>
-  <feature name='camel-freemarker' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.freemarker/${freemarker-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-freemarker/${pom.version}</bundle>
+  <feature name='camel-freemarker' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.freemarker/${freemarker-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-freemarker/${project.version}</bundle>
   </feature>
-  <feature name='camel-ftp' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <bundle dependency="true">mvn:commons-net/commons-net/${commons-net-version}</bundle>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsch/${jsch-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-ftp/${pom.version}</bundle>
+  <feature name='camel-ftp' version='${project.version}' resolver='(obr)' start-level='50'>
+    <bundle dependency='true'>mvn:commons-net/commons-net/${commons-net-version}</bundle>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsch/${jsch-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-ftp/${project.version}</bundle>
   </feature>
-  <feature name='camel-guice' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.guice/${guice-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-annotation_1.0_spec/${gernimo-annotation-spec-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aopalliance/${aopalliance-bundle-version}</bundle>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-guice/${pom.version}</bundle>
+  <feature name='camel-guice' version='${project.version}' resolver='(obr)' start-level='50'>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.guice/${guice-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.geronimo.specs/geronimo-annotation_1.0_spec/${gernimo-annotation-spec-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aopalliance/${aopalliance-bundle-version}</bundle>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-guice/${project.version}</bundle>
   </feature>
-  <feature name='camel-groovy' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ant/${ant-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.scripting-api-1.0/${servicemix-specs-version}</bundle>
-    <bundle dependency="true">mvn:org.codehaus.groovy/groovy-all/${groovy-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-groovy/${pom.version}</bundle>
+  <feature name='camel-groovy' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ant/${ant-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.scripting-api-1.0/${servicemix-specs-version}</bundle>
+    <bundle dependency='true'>mvn:org.codehaus.groovy/groovy-all/${groovy-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-groovy/${project.version}</bundle>
   </feature>
-  <feature name='camel-hazelcast' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:com.hazelcast/hazelcast/${hazelcast-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-hazelcast/${pom.version}</bundle>
+  <feature name='camel-hazelcast' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:com.hazelcast/hazelcast/${hazelcast-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-hazelcast/${project.version}</bundle>
   </feature> 
-  <feature name='camel-hawtdb' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.fusesource.hawtdb/hawtdb/${hawtdb-version}</bundle>
-    <bundle dependency="true">mvn:org.fusesource.hawtbuf/hawtbuf/${hawtbuf-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-hawtdb/${pom.version}</bundle>
+  <feature name='camel-hawtdb' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.fusesource.hawtdb/hawtdb/${hawtdb-version}</bundle>
+    <bundle dependency='true'>mvn:org.fusesource.hawtbuf/hawtbuf/${hawtbuf-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-hawtdb/${project.version}</bundle>
   </feature>
-  <feature name='camel-hdfs' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
+  <feature name='camel-hdfs' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
     <feature>war</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxws-api-2.2/${servicemix-specs-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.saaj-api-1.3/${servicemix-specs-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo-jta-spec-version}</bundle>
-    <bundle dependency="true">mvn:javax.mail/mail/${javax-mail-version}</bundle>
-    <bundle dependency="true">mvn:commons-codec/commons-codec/${commons-codec}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-beanutils/${commons-beanutils-bundle-version}</bundle>
-    <bundle dependency="true">mvn:commons-collections/commons-collections/${commons-collections-version}</bundle>
-    <bundle dependency="true">mvn:commons-digester/commons-digester/${commons-digester-version}</bundle>
-    <bundle dependency="true">mvn:commons-jxpath/commons-jxpath/${commons-jxpath-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jdom/${jdom-bundle-version}</bundle>
-    <bundle dependency="true">mvn:commons-lang/commons-lang/${commons-lang-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ant/${ant-bundle-version}</bundle>
-    <bundle dependency="true">mvn:commons-configuration/commons-configuration/${commons-configuration-version}</bundle>
-    <bundle dependency="true">mvn:commons-daemon/commons-daemon/${commons-daemon-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-httpclient/${commons-httpclient-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.commons/commons-math/${commons-math-version}</bundle>
-    <bundle dependency="true">mvn:commons-net/commons-net/${commons-net-version}</bundle>
-    <bundle dependency="true">mvn:org.codehaus.jackson/jackson-core-asl/${jackson-version}</bundle>
-    <bundle dependency="true">mvn:org.codehaus.jackson/jackson-mapper-asl/${jackson-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxws-api-2.2/${servicemix-specs-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.saaj-api-1.3/${servicemix-specs-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo-jta-spec-version}</bundle>
+    <bundle dependency='true'>mvn:javax.mail/mail/${javax-mail-version}</bundle>
+    <bundle dependency='true'>mvn:commons-codec/commons-codec/${commons-codec}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-beanutils/${commons-beanutils-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:commons-collections/commons-collections/${commons-collections-version}</bundle>
+    <bundle dependency='true'>mvn:commons-digester/commons-digester/${commons-digester-version}</bundle>
+    <bundle dependency='true'>mvn:commons-jxpath/commons-jxpath/${commons-jxpath-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jdom/${jdom-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:commons-lang/commons-lang/${commons-lang-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ant/${ant-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:commons-configuration/commons-configuration/${commons-configuration-version}</bundle>
+    <bundle dependency='true'>mvn:commons-daemon/commons-daemon/${commons-daemon-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-httpclient/${commons-httpclient-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.commons/commons-math/${commons-math-version}</bundle>
+    <bundle dependency='true'>mvn:commons-net/commons-net/${commons-net-version}</bundle>
+    <bundle dependency='true'>mvn:org.codehaus.jackson/jackson-core-asl/${jackson-version}</bundle>
+    <bundle dependency='true'>mvn:org.codehaus.jackson/jackson-mapper-asl/${jackson-version}</bundle>
     <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jetty/${jetty-bundle-version}</bundle>
     <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.hadoop-core/${hadoop-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-hdfs/${pom.version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-hdfs/${project.version}</bundle>
   </feature>
-  <feature name='camel-hl7' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlresolver/${xmlresolver-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo-jta-spec-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/${geronimo-jms-spec-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.bcel/${bcel-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xerces/${xerces-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jdom/${jdom-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xalan/${xalan-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.mina/${mina-bundle-version}</bundle>
-    <bundle dependency="true">mvn:ca.uhn.hapi/hapi-osgi-base/${hapi-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-hl7/${pom.version}</bundle>
+  <feature name='camel-hl7' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlresolver/${xmlresolver-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo-jta-spec-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/${geronimo-jms-spec-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.bcel/${bcel-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xerces/${xerces-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jdom/${jdom-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xalan/${xalan-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.mina/${mina-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:ca.uhn.hapi/hapi-osgi-base/${hapi-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-hl7/${project.version}</bundle>
   </feature>
-  <feature name='camel-ibatis' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:commons-pool/commons-pool/${commons-pool-version}</bundle>
+  <feature name='camel-ibatis' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:commons-pool/commons-pool/${commons-pool-version}</bundle>
     <!-- the jetty feature provides the geronimo-servlet_2.5_spec -->
     <!-- TODO replace the jetty feature by a Karaf spec feature -->
     <feature>jetty</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-dbcp/${commons-dbcp-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.oscache/${oscache-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.cglib/${cglib-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ibatis-sqlmap/${ibatis-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-ibatis/${pom.version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-dbcp/${commons-dbcp-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.oscache/${oscache-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.cglib/${cglib-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ibatis-sqlmap/${ibatis-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-ibatis/${project.version}</bundle>
   </feature>
-  <feature name='camel-irc' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.irclib/${irclib-bundle-version}</bundle>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-irc/${pom.version}</bundle>
+  <feature name='camel-irc' version='${project.version}' resolver='(obr)' start-level='50'>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.irclib/${irclib-bundle-version}</bundle>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-irc/${project.version}</bundle>
   </feature>
-  <feature name='camel-jackson' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <bundle dependency="true">mvn:org.codehaus.jackson/jackson-core-asl/${jackson-version}</bundle>
-    <bundle dependency="true">mvn:org.codehaus.jackson/jackson-mapper-asl/${jackson-version}</bundle>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-jackson/${pom.version}</bundle>
+  <feature name='camel-jackson' version='${project.version}' resolver='(obr)' start-level='50'>
+    <bundle dependency='true'>mvn:org.codehaus.jackson/jackson-core-asl/${jackson-version}</bundle>
+    <bundle dependency='true'>mvn:org.codehaus.jackson/jackson-mapper-asl/${jackson-version}</bundle>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-jackson/${project.version}</bundle>
   </feature>    
-  <feature name='camel-jasypt' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-jasypt/${pom.version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jasypt/${jasypt-bundle-version}</bundle>
+  <feature name='camel-jasypt' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-jasypt/${project.version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jasypt/${jasypt-bundle-version}</bundle>
   </feature>
-  <feature name='camel-jaxb' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-jaxb/${pom.version}</bundle>
+  <feature name='camel-jaxb' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-jaxb/${project.version}</bundle>
   </feature>
-  <feature name='camel-jclouds' version='${pom.version}' resolver='(obr)' start-level='50'>
+  <feature name='camel-jclouds' version='${project.version}' resolver='(obr)' start-level='50'>
     <!-- Added jclouds feature to workaround the karaf feature validate issue -->
-    <feature version="${jclouds-feature-version}">jclouds</feature>
-    <feature version="${jclouds-feature-version}">jclouds-compute</feature>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-jclouds/${pom.version}</bundle>
+    <feature version='${jclouds-feature-version}'>jclouds</feature>
+    <feature version='${jclouds-feature-version}'>jclouds-compute</feature>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-jclouds/${project.version}</bundle>
   </feature>
-  <feature name='camel-jcr' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jcr-api-2.0/1.9.0</bundle>
-    <bundle dependency="true">mvn:org.apache.jackrabbit/jackrabbit-jcr-commons/${jackrabbit-version}</bundle>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-jcr/${pom.version}</bundle>
+  <feature name='camel-jcr' version='${project.version}' resolver='(obr)' start-level='50'>
+    <bundle dependency='true'>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jcr-api-2.0/1.9.0</bundle>
+    <bundle dependency='true'>mvn:org.apache.jackrabbit/jackrabbit-jcr-commons/${jackrabbit-version}</bundle>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-jcr/${project.version}</bundle>
   </feature>
-  <feature name='camel-jing' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ant/${ant-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.isorelax/${isorelax-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jing/${jing-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-jing/${pom.version}</bundle>
+  <feature name='camel-jing' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ant/${ant-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.isorelax/${isorelax-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jing/${jing-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-jing/${project.version}</bundle>
   </feature>
-  <feature name='camel-jibx' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-jibx/${pom.version}</bundle>
-    <bundle dependency="true">mvn:org.jibx/jibx-run/${jibx-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.bcel/${bcel-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xpp3/${xpp3-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.joda-time/${jodatime-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jdom/${jdom-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.dom4j/${dom4j-bundle-version}</bundle>
+  <feature name='camel-jibx' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-jibx/${project.version}</bundle>
+    <bundle dependency='true'>mvn:org.jibx/jibx-run/${jibx-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.bcel/${bcel-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xpp3/${xpp3-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.joda-time/${jodatime-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jdom/${jdom-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.dom4j/${dom4j-bundle-version}</bundle>
   </feature>
-  <feature name='camel-jdbc' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-jdbc/${pom.version}</bundle>
+  <feature name='camel-jdbc' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-jdbc/${project.version}</bundle>
   </feature>
-  <feature name='camel-josql' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.josql/${josql-bundle-version}</bundle>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-josql/${pom.version}</bundle>
+  <feature name='camel-josql' version='${project.version}' resolver='(obr)' start-level='50'>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.josql/${josql-bundle-version}</bundle>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-josql/${project.version}</bundle>
   </feature>
-  <feature name='camel-jpa' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-annotation_1.0_spec/${gernimo-annotation-spec-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jpa_2.0_spec/${geronimo-jpa2-spec-version}</bundle>
-    <feature version="[3,4)">spring-tx</feature>
-    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-el_1.0_spec/${geronimo-el-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo-jta-spec-version}</bundle>
-    <feature version="[3,4)">spring-jdbc</feature>
-    <bundle dependency="true">mvn:commons-lang/commons-lang/${commons-lang-version}</bundle>
-    <bundle dependency="true">mvn:commons-collections/commons-collections/${commons-collections-version}</bundle>
-    <bundle dependency="true">mvn:commons-pool/commons-pool/${commons-pool-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-dbcp/${commons-dbcp-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ant/${ant-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.serp/${serp-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/${geronimo-jms-spec-version}</bundle>
+  <feature name='camel-jpa' version='${project.version}' resolver='(obr)' start-level='50'>
+    <bundle dependency='true'>mvn:org.apache.geronimo.specs/geronimo-annotation_1.0_spec/${gernimo-annotation-spec-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.geronimo.specs/geronimo-jpa_2.0_spec/${geronimo-jpa2-spec-version}</bundle>
+    <feature version='[3,4)'>spring-tx</feature>
+    <bundle dependency='true'>mvn:org.apache.geronimo.specs/geronimo-el_1.0_spec/${geronimo-el-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo-jta-spec-version}</bundle>
+    <feature version='[3,4)'>spring-jdbc</feature>
+    <bundle dependency='true'>mvn:commons-lang/commons-lang/${commons-lang-version}</bundle>
+    <bundle dependency='true'>mvn:commons-collections/commons-collections/${commons-collections-version}</bundle>
+    <bundle dependency='true'>mvn:commons-pool/commons-pool/${commons-pool-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-dbcp/${commons-dbcp-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ant/${ant-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.serp/${serp-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/${geronimo-jms-spec-version}</bundle>
     <bundle>mvn:org.apache.openjpa/openjpa/${openjpa-version}</bundle>	
-    <feature version="[3,4)">spring-orm</feature>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-jpa/${pom.version}</bundle>
+    <feature version='[3,4)'>spring-orm</feature>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-jpa/${project.version}</bundle>
   </feature>
-  <feature name='camel-jxpath' version='${pom.version}' resolver='(obr)' start-level='50'>
+  <feature name='camel-jxpath' version='${project.version}' resolver='(obr)' start-level='50'>
     <!-- All those bundles should be optional I think, but the commons-jxpath osgi metadata is not really good -->
     <feature>war</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-beanutils/${commons-beanutils-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jdom/${jdom-bundle-version}</bundle>
-    <bundle dependency="true">mvn:commons-jxpath/commons-jxpath/${commons-jxpath-version}</bundle>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-jxpath/${pom.version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-beanutils/${commons-beanutils-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jdom/${jdom-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:commons-jxpath/commons-jxpath/${commons-jxpath-version}</bundle>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-jxpath/${project.version}</bundle>
   </feature>
-  <feature name='camel-juel' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
+  <feature name='camel-juel' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
     <feature>war</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.juel/${juel-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-juel/${pom.version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.juel/${juel-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-juel/${project.version}</bundle>
   </feature>
-  <feature name='camel-kestrel' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spymemcached/${spymemcached-bundle-version}</bundle>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-kestrel/${pom.version}</bundle>
+  <feature name='camel-kestrel' version='${project.version}' resolver='(obr)' start-level='50'>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spymemcached/${spymemcached-bundle-version}</bundle>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-kestrel/${project.version}</bundle>
   </feature>
-    <feature name='camel-krati' version='${pom.version}' resolver='(obr)' start-level='50'>
-        <bundle dependency="true">mvn:com.sna-projects.krati/krati/${krati-version}</bundle>
-        <bundle>mvn:org.apache.camel/camel-krati/${pom.version}</bundle>
-        <feature version='${pom.version}'>camel-core</feature>
+    <feature name='camel-krati' version='${project.version}' resolver='(obr)' start-level='50'>
+        <bundle dependency='true'>mvn:com.sna-projects.krati/krati/${krati-version}</bundle>
+        <bundle>mvn:org.apache.camel/camel-krati/${project.version}</bundle>
+        <feature version='${project.version}'>camel-core</feature>
     </feature>
-  <feature name='camel-ldap' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-ldap/${pom.version}</bundle>
+  <feature name='camel-ldap' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-ldap/${project.version}</bundle>
   </feature>
-  <feature name='camel-lucene' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.lucene/${lucene-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-lucene/${pom.version}</bundle>
+  <feature name='camel-lucene' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.lucene/${lucene-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-lucene/${project.version}</bundle>
   </feature>
-  <feature name='camel-mail' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <bundle dependency="true">mvn:javax.mail/mail/${javax-mail-version}</bundle>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-mail/${pom.version}</bundle>
+  <feature name='camel-mail' version='${project.version}' resolver='(obr)' start-level='50'>
+    <bundle dependency='true'>mvn:javax.mail/mail/${javax-mail-version}</bundle>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-mail/${project.version}</bundle>
   </feature>
-  <feature name='camel-msv' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlresolver/${xmlresolver-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xerces/${xerces-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ant/${ant-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.isorelax/${isorelax-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-msv/${pom.version}</bundle>
-    <feature version='${pom.version}'>camel-core</feature>
+  <feature name='camel-msv' version='${project.version}' resolver='(obr)' start-level='50'>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlresolver/${xmlresolver-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xerces/${xerces-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ant/${ant-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.isorelax/${isorelax-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-msv/${project.version}</bundle>
+    <feature version='${project.version}'>camel-core</feature>
   </feature>
-  <feature name='camel-mvel' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.mvel/${mvel-bundle-version}</bundle>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-mvel/${pom.version}</bundle>
+  <feature name='camel-mvel' version='${project.version}' resolver='(obr)' start-level='50'>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.mvel/${mvel-bundle-version}</bundle>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-mvel/${project.version}</bundle>
   </feature>
-  <feature name='camel-mybatis' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:commons-pool/commons-pool/${commons-pool-version}</bundle>
+  <feature name='camel-mybatis' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:commons-pool/commons-pool/${commons-pool-version}</bundle>
     <!-- the jetty feature provides the geronimo-servlet_2.5_spec -->
     <!-- TODO replace the jetty feature by a Karaf spec feature -->
     <feature>jetty</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-dbcp/${commons-dbcp-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.cglib/${cglib-version}</bundle>
-    <bundle dependency="true">mvn:org.mybatis/mybatis/${mybatis-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-mybatis/${pom.version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-dbcp/${commons-dbcp-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.cglib/${cglib-version}</bundle>
+    <bundle dependency='true'>mvn:org.mybatis/mybatis/${mybatis-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-mybatis/${project.version}</bundle>
   </feature>
-  <feature name='camel-nagios' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>    
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsendnsca-core/${jsendnsca-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-nagios/${pom.version}</bundle>
+  <feature name='camel-nagios' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>    
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsendnsca-core/${jsendnsca-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-nagios/${project.version}</bundle>
   </feature>
-  <feature name='camel-netty' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.netty/${netty-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-netty/${pom.version}</bundle>
+  <feature name='camel-netty' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.netty/${netty-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-netty/${project.version}</bundle>
   </feature>      
-  <feature name='camel-ognl' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ognl/${ognl-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.javassist/${javassist-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-ognl/${pom.version}</bundle>
+  <feature name='camel-ognl' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ognl/${ognl-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.javassist/${javassist-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-ognl/${project.version}</bundle>
   </feature>
-  <feature name='camel-paxlogging' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>    
-    <bundle>mvn:org.apache.camel/camel-paxlogging/${pom.version}</bundle>
+  <feature name='camel-paxlogging' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>    
+    <bundle>mvn:org.apache.camel/camel-paxlogging/${project.version}</bundle>
   </feature>
-  <feature name='camel-printer' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-printer/${pom.version}</bundle>
+  <feature name='camel-printer' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-printer/${project.version}</bundle>
   </feature>
-  <feature name='camel-protobuf' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.protobuf-java/${protobuf-java-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-protobuf/${pom.version}</bundle>
+  <feature name='camel-protobuf' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.protobuf-java/${protobuf-java-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-protobuf/${project.version}</bundle>
   </feature>
-  <feature name='camel-quartz' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <bundle dependency="true">mvn:commons-collections/commons-collections/${commons-collections-version}</bundle>
-    <bundle dependency="true">mvn:commons-pool/commons-pool/${commons-pool-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-dbcp/${commons-dbcp-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo-jta-spec-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-beanutils/${commons-beanutils-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.quartz/${quartz-bundle-version}</bundle>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-quartz/${pom.version}</bundle>
+  <feature name='camel-quartz' version='${project.version}' resolver='(obr)' start-level='50'>
+    <bundle dependency='true'>mvn:commons-collections/commons-collections/${commons-collections-version}</bundle>
+    <bundle dependency='true'>mvn:commons-pool/commons-pool/${commons-pool-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-dbcp/${commons-dbcp-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo-jta-spec-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-beanutils/${commons-beanutils-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.quartz/${quartz-bundle-version}</bundle>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-quartz/${project.version}</bundle>
   </feature>
-  <feature name='camel-quickfix' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
+  <feature name='camel-quickfix' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
     <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.quickfix/${quickfix-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-quickfix/${pom.version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-quickfix/${project.version}</bundle>
   </feature>
-  <feature name='camel-restlet' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:http://maven.restlet.org!org.restlet.jse/org.restlet/${restlet-version}</bundle>    
-    <bundle>mvn:org.apache.camel/camel-restlet/${pom.version}</bundle>
+  <feature name='camel-restlet' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:http://maven.restlet.org!org.restlet.jse/org.restlet/${restlet-version}</bundle>    
+    <bundle>mvn:org.apache.camel/camel-restlet/${project.version}</bundle>
   </feature>
-  <feature name='camel-rmi' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-rmi/${pom.version}</bundle>
+  <feature name='camel-rmi' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-rmi/${project.version}</bundle>
   </feature>
-  <feature name='camel-routebox' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-routebox/${pom.version}</bundle>
+  <feature name='camel-routebox' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-routebox/${project.version}</bundle>
   </feature>
-  <feature name='camel-ruby' version='${pom.version}' start-level='50'>
-    <feature version='${pom.version}'>camel-script</feature>
+  <feature name='camel-ruby' version='${project.version}' start-level='50'>
+    <feature version='${project.version}'>camel-script</feature>
     <bundle>mvn:org.jruby/jruby/${jruby-version}</bundle>
   </feature>
-  <feature name='camel-rss' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-atom</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jdom/${jdom-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.rome/${rome-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-rss/${pom.version}</bundle>
+  <feature name='camel-rss' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-atom</feature>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jdom/${jdom-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.rome/${rome-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-rss/${project.version}</bundle>
   </feature>
-  <feature name='camel-saxon' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.saxon/${saxon-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-saxon/${pom.version}</bundle>
+  <feature name='camel-saxon' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.saxon/${saxon-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-saxon/${project.version}</bundle>
   </feature>
-  <feature name='camel-scala' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.scala-library/${scala-bundle-version}</bundle>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-scala/${pom.version}</bundle>
+  <feature name='camel-scala' version='${project.version}' resolver='(obr)' start-level='50'>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.scala-library/${scala-bundle-version}</bundle>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-scala/${project.version}</bundle>
   </feature>
-  <feature name='camel-script-jruby' version='${pom.version}' resolver='(obr)' start-level='50'>
+  <feature name='camel-script-jruby' version='${project.version}' resolver='(obr)' start-level='50'>
     <bundle>mvn:http://scriptengines.googlecode.com/svn/m2-repo/!com.google.code.scriptengines/scriptengines-jruby/${scriptengines-version}</bundle>
-    <bundle dependency="true">mvn:org.jruby/jruby/${jruby-version}</bundle>
+    <bundle dependency='true'>mvn:org.jruby/jruby/${jruby-version}</bundle>
   </feature>
-  <feature name='camel-script-javascript' version='${pom.version}' resolver='(obr)' start-level='50'>
+  <feature name='camel-script-javascript' version='${project.version}' resolver='(obr)' start-level='50'>
     <bundle>mvn:http://scriptengines.googlecode.com/svn/m2-repo/!com.google.code.scriptengines/scriptengines-javascript/${scriptengines-version}</bundle>
     <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.rhino/${rhino-bundle-version}</bundle>
   </feature>
-  <feature name='camel-script-groovy' version='${pom.version}' resolver='(obr)' start-level='50'>
+  <feature name='camel-script-groovy' version='${project.version}' resolver='(obr)' start-level='50'>
     <bundle>mvn:http://scriptengines.googlecode.com/svn/m2-repo/!com.google.code.scriptengines/scriptengines-groovy/${scriptengines-version}</bundle>
     <bundle>mvn:org.codehaus.groovy/groovy-all/${groovy-version}</bundle>
   </feature>
-  <feature name='camel-script' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.scripting-api-1.0/${servicemix-specs-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.asm/${asm2-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.antlr/${antlr-bundle-version}</bundle>
+  <feature name='camel-script' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.scripting-api-1.0/${servicemix-specs-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.asm/${asm2-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.antlr/${antlr-bundle-version}</bundle>
     <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.rhino/${rhino-bundle-version}</bundle>
     <bundle>mvn:org.codehaus.groovy/groovy-all/${groovy-version}</bundle>
-    <bundle dependency="true">mvn:org.jruby/jruby/${jruby-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-script/${pom.version}</bundle>
+    <bundle dependency='true'>mvn:org.jruby/jruby/${jruby-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-script/${project.version}</bundle>
   </feature>
-  <feature name='camel-sip' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jain-sip-api-1.2/${servicemix-specs-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jain-sip-ri/${jain-sip-ri-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-sip/${pom.version}</bundle>
+  <feature name='camel-sip' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jain-sip-api-1.2/${servicemix-specs-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jain-sip-ri/${jain-sip-ri-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-sip/${project.version}</bundle>
   </feature>
-  <feature name='camel-shiro' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-beanutils/${commons-beanutils-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.shiro/${shiro-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-shiro/${pom.version}</bundle>
+  <feature name='camel-shiro' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-beanutils/${commons-beanutils-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.shiro/${shiro-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-shiro/${project.version}</bundle>
   </feature>
-  <feature name='camel-smpp' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsmpp/${jsmpp-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-smpp/${pom.version}</bundle>
+  <feature name='camel-smpp' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsmpp/${jsmpp-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-smpp/${project.version}</bundle>
   </feature>
-  <feature name='camel-snmp' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.snmp4j/${snmp4j-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-snmp/${pom.version}</bundle>
+  <feature name='camel-snmp' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.snmp4j/${snmp4j-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-snmp/${project.version}</bundle>
   </feature>
-  <feature name='camel-soap' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-jaxb</feature>
-    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-ws-metadata_2.0_spec/${geronimo-ws-metadata-spec-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxws-api-2.2/${servicemix-specs-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.saaj-api-1.3/${servicemix-specs-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-soap/${pom.version}</bundle>
+  <feature name='camel-soap' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-jaxb</feature>
+    <bundle dependency='true'>mvn:org.apache.geronimo.specs/geronimo-ws-metadata_2.0_spec/${geronimo-ws-metadata-spec-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxws-api-2.2/${servicemix-specs-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.saaj-api-1.3/${servicemix-specs-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-soap/${project.version}</bundle>
   </feature>  
-  <feature name='camel-solr' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.solr-solrj/${solrj-bundle-version}</bundle>
-    <bundle dependency="true">mvn:commons-codec/commons-codec/${commons-codec}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-httpclient/${commons-httpclient-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-solr/${pom.version}</bundle>
+  <feature name='camel-solr' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.solr-solrj/${solrj-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:commons-codec/commons-codec/${commons-codec}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-httpclient/${commons-httpclient-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-solr/${project.version}</bundle>
   </feature>
-  <feature name='camel-spring-integration' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <bundle dependency="true">mvn:org.springframework.integration/spring-integration-core/${spring-integration-version}</bundle>
-    <feature version='${pom.version}'>camel-spring</feature>
-    <bundle>mvn:org.apache.camel/camel-spring-integration/${pom.version}</bundle>
+  <feature name='camel-spring-integration' version='${project.version}' resolver='(obr)' start-level='50'>
+    <bundle dependency='true'>mvn:org.springframework.integration/spring-integration-core/${spring-integration-version}</bundle>
+    <feature version='${project.version}'>camel-spring</feature>
+    <bundle>mvn:org.apache.camel/camel-spring-integration/${project.version}</bundle>
   </feature>
-  <feature name='camel-spring-javaconfig' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.cglib/${cglib-version}</bundle>
-    <feature version='${pom.version}'>camel-spring</feature>
-    <feature version="[3,4)">spring-test</feature>
-    <bundle>mvn:org.apache.camel/camel-spring-javaconfig/${pom.version}</bundle>
+  <feature name='camel-spring-javaconfig' version='${project.version}' resolver='(obr)' start-level='50'>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.cglib/${cglib-version}</bundle>
+    <feature version='${project.version}'>camel-spring</feature>
+    <feature version='[3,4)'>spring-test</feature>
+    <bundle>mvn:org.apache.camel/camel-spring-javaconfig/${project.version}</bundle>
   </feature>
-  <feature name='camel-spring-security' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-spring</feature>
-    <bundle dependency="true">mvn:org.springframework.security/spring-security-core/${spring-security-version}</bundle>
-    <bundle dependency="true">mvn:org.springframework.security/spring-security-config/${spring-security-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-spring-security/${pom.version}</bundle>
+  <feature name='camel-spring-security' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-spring</feature>
+    <bundle dependency='true'>mvn:org.springframework.security/spring-security-core/${spring-security-version}</bundle>
+    <bundle dependency='true'>mvn:org.springframework.security/spring-security-config/${spring-security-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-spring-security/${project.version}</bundle>
   </feature>
-  <feature name='camel-spring-ws' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-spring</feature>
-    <bundle dependency="true">mvn:javax.mail/mail/${javax-mail-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/${geronimo-jms-spec-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.smack/${smack-bundle-version}</bundle>
-    <feature version="[3,4)">spring-jms</feature>
-    <feature version="[3,4)">spring-web</feature>
-    <feature version="[3,4)">spring-oxm</feature>
-    <bundle dependency="true">mvn:org.springframework.ws/spring-xml/${spring-ws-version}</bundle>
-    <bundle dependency="true">mvn:org.springframework.ws/spring-ws-core/${spring-ws-version}</bundle>
-    <bundle dependency="true">mvn:org.springframework.ws/spring-ws-support/${spring-ws-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-spring-ws/${pom.version}</bundle>
+  <feature name='camel-spring-ws' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-spring</feature>
+    <bundle dependency='true'>mvn:javax.mail/mail/${javax-mail-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/${geronimo-jms-spec-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.smack/${smack-bundle-version}</bundle>
+    <feature version='[3,4)'>spring-jms</feature>
+    <feature version='[3,4)'>spring-web</feature>
+    <feature version='[3,4)'>spring-oxm</feature>
+    <bundle dependency='true'>mvn:org.springframework.ws/spring-xml/${spring-ws-version}</bundle>
+    <bundle dependency='true'>mvn:org.springframework.ws/spring-ws-core/${spring-ws-version}</bundle>
+    <bundle dependency='true'>mvn:org.springframework.ws/spring-ws-support/${spring-ws-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-spring-ws/${project.version}</bundle>
   </feature>
-  <feature name='camel-sql' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version="[3,4)">spring-tx</feature>
-    <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo-jta-spec-version}</bundle>
-    <feature version="[3,4)">spring-jdbc</feature>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-sql/${pom.version}</bundle>
+  <feature name='camel-sql' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='[3,4)'>spring-tx</feature>
+    <bundle dependency='true'>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo-jta-spec-version}</bundle>
+    <feature version='[3,4)'>spring-jdbc</feature>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-sql/${project.version}</bundle>
   </feature>
-  <feature name='camel-stax' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-stax/${pom.version}</bundle>
+  <feature name='camel-stax' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-stax/${project.version}</bundle>
   </feature>
-  <feature name='camel-stream' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-stream/${pom.version}</bundle>
+  <feature name='camel-stream' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-stream/${project.version}</bundle>
   </feature>
-  <feature name='camel-string-template' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.antlr/${antlr-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.stringtemplate/${stringtemplate-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-stringtemplate/${pom.version}</bundle>
+  <feature name='camel-string-template' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.antlr/${antlr-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.stringtemplate/${stringtemplate-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-stringtemplate/${project.version}</bundle>
   </feature>
-  <feature name='camel-syslog' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-syslog/${pom.version}</bundle>
+  <feature name='camel-syslog' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-syslog/${project.version}</bundle>
   </feature>
-  <feature name='camel-tagsoup' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.tagsoup/${tagsoup-bundle-version}</bundle>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-tagsoup/${pom.version}</bundle>
+  <feature name='camel-tagsoup' version='${project.version}' resolver='(obr)' start-level='50'>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.tagsoup/${tagsoup-bundle-version}</bundle>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-tagsoup/${project.version}</bundle>
   </feature>
-  <feature name='camel-velocity' version='${pom.version}' resolver='(obr)' start-level='50'>
+  <feature name='camel-velocity' version='${project.version}' resolver='(obr)' start-level='50'>
     <!-- the jetty feature provides the geronimo-servlet_2.5_spec -->
     <!-- TODO replace the jetty feature by a Karaf spec feature -->
     <feature>jetty</feature>
-    <bundle dependency="true">mvn:commons-lang/commons-lang/${commons-lang-version}</bundle>
-    <bundle dependency="true">mvn:commons-collections/commons-collections/${commons-collections-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jdom/${jdom-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ant/${ant-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.antlr/${antlr-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.werken-xpath/${werken-xpath-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.oro/${oro-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.velocity/${velocity-bundle-version}</bundle>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-velocity/${pom.version}</bundle>
+    <bundle dependency='true'>mvn:commons-lang/commons-lang/${commons-lang-version}</bundle>
+    <bundle dependency='true'>mvn:commons-collections/commons-collections/${commons-collections-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jdom/${jdom-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ant/${ant-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.antlr/${antlr-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.werken-xpath/${werken-xpath-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.oro/${oro-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.velocity/${velocity-bundle-version}</bundle>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-velocity/${project.version}</bundle>
   </feature>
-  <feature name='camel-xmlbeans' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ant/${ant-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlbeans/${xmlbeans-bundle-version}</bundle>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-xmlbeans/${pom.version}</bundle>
+  <feature name='camel-xmlbeans' version='${project.version}' resolver='(obr)' start-level='50'>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.ant/${ant-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlbeans/${xmlbeans-bundle-version}</bundle>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-xmlbeans/${project.version}</bundle>
   </feature>
-  <feature name='camel-xmlsecurity' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xalan/${xalan-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlsec/${xmlsec-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xerces/${xerces-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlresolver/${xmlresolver-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.bcel/${bcel-bundle-version}</bundle>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-xmlsecurity/${pom.version}</bundle>
+  <feature name='camel-xmlsecurity' version='${project.version}' resolver='(obr)' start-level='50'>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xalan/${xalan-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlsec/${xmlsec-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xerces/${xerces-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xmlresolver/${xmlresolver-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.bcel/${bcel-bundle-version}</bundle>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-xmlsecurity/${project.version}</bundle>
   </feature>
-  <feature name='camel-xmpp' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xpp3/${xpp3-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.smack/${smack-bundle-version}</bundle>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle>mvn:org.apache.camel/camel-xmpp/${pom.version}</bundle>
+  <feature name='camel-xmpp' version='${project.version}' resolver='(obr)' start-level='50'>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xpp3/${xpp3-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.smack/${smack-bundle-version}</bundle>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle>mvn:org.apache.camel/camel-xmpp/${project.version}</bundle>
   </feature>
-  <feature name='camel-xstream' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <bundle dependency="true">mvn:org.codehaus.jettison/jettison/${jettison-bundle-version}</bundle>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xpp3/${xpp3-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.joda-time/${jodatime-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jdom/${jdom-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.dom4j/${dom4j-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.kxml2/${kxml2-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.codehaus.woodstox/stax2-api/${stax2-api-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.codehaus.woodstox/woodstox-core-asl/${woodstox-core-bundle-version}</bundle>
-    <bundle dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xstream/${xstream-bundle-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-xstream/${pom.version}</bundle>
+  <feature name='camel-xstream' version='${project.version}' resolver='(obr)' start-level='50'>
+    <bundle dependency='true'>mvn:org.codehaus.jettison/jettison/${jettison-bundle-version}</bundle>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xpp3/${xpp3-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.joda-time/${jodatime-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jdom/${jdom-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.dom4j/${dom4j-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.kxml2/${kxml2-bundle-version}</bundle>
+    <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xstream/${xstream-bundle-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-xstream/${project.version}</bundle>
   </feature>
-  <feature name='camel-zookeeper' version='${pom.version}' resolver='(obr)' start-level='50'>
-    <feature version='${pom.version}'>camel-core</feature>
-    <bundle dependency="true">mvn:org.apache.zookeeper/zookeeper/${zookeeper-version}</bundle>
-    <bundle>mvn:org.apache.camel/camel-zookeeper/${pom.version}</bundle>
+  <feature name='camel-zookeeper' version='${project.version}' resolver='(obr)' start-level='50'>
+    <feature version='${project.version}'>camel-core</feature>
+    <bundle dependency='true'>mvn:org.apache.zookeeper/zookeeper/${zookeeper-version}</bundle>
+    <bundle>mvn:org.apache.camel/camel-zookeeper/${project.version}</bundle>
   </feature>
 
 </features>
diff --git a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/AbstractIntegrationTest.java b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/AbstractIntegrationTest.java
index 84357fe..8f2f8a2 100644
--- a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/AbstractIntegrationTest.java
+++ b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/AbstractIntegrationTest.java
@@ -23,7 +23,6 @@
 import java.util.Enumeration;
 
 import org.apache.camel.itest.osgi.OSGiIntegrationTestSupport;
-import org.junit.Before;
 import org.ops4j.pax.exam.CoreOptions;
 import org.ops4j.pax.exam.Inject;
 import org.ops4j.pax.exam.options.MavenArtifactProvisionOption;
diff --git a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/BlueprintExplicitPropertiesRouteTest.java b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/BlueprintExplicitPropertiesRouteTest.java
index f8456eb..25d6ce5 100644
--- a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/BlueprintExplicitPropertiesRouteTest.java
+++ b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/BlueprintExplicitPropertiesRouteTest.java
@@ -19,7 +19,6 @@
 import org.apache.camel.CamelContext;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
diff --git a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/BlueprintPropertiesRouteTest.java b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/BlueprintPropertiesRouteTest.java
index 8d97a59..0dc065d 100644
--- a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/BlueprintPropertiesRouteTest.java
+++ b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/BlueprintPropertiesRouteTest.java
@@ -19,7 +19,6 @@
 import org.apache.camel.CamelContext;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
diff --git a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/CamelBlueprint4Test.java b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/CamelBlueprint4Test.java
index cfb8546..f9f154e 100644
--- a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/CamelBlueprint4Test.java
+++ b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/CamelBlueprint4Test.java
@@ -19,7 +19,6 @@
 import org.apache.camel.CamelContext;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.karaf.testing.Helper;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
diff --git a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/CamelBlueprintTcclTest.java b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/CamelBlueprintTcclTest.java
index 4b8f520..024e6cf 100644
--- a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/CamelBlueprintTcclTest.java
+++ b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/CamelBlueprintTcclTest.java
@@ -23,7 +23,6 @@
 import org.apache.camel.Processor;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.karaf.testing.Helper;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
diff --git a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/OSGiBlueprintTestSupport.java b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/OSGiBlueprintTestSupport.java
index 072201e..0be90bf 100644
--- a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/OSGiBlueprintTestSupport.java
+++ b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/blueprint/OSGiBlueprintTestSupport.java
@@ -20,31 +20,9 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
-import java.lang.reflect.Method;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.component.seda.SedaComponent;
-import org.apache.camel.processor.interceptor.Tracer;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.ops4j.pax.exam.Option;
-import org.ops4j.pax.exam.junit.Configuration;
-import org.ops4j.pax.exam.junit.JUnit4TestRunner;
 import org.ops4j.pax.exam.options.UrlProvisionOption;
 import org.ops4j.store.Store;
 import org.ops4j.store.StoreFactory;
-import org.osgi.framework.Constants;
-import org.osgi.service.blueprint.container.BlueprintContainer;
-
-import static org.ops4j.pax.exam.CoreOptions.equinox;
-import static org.ops4j.pax.exam.CoreOptions.felix;
-import static org.ops4j.pax.exam.CoreOptions.options;
-import static org.ops4j.pax.exam.CoreOptions.wrappedBundle;
-import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.*;
-import static org.ops4j.pax.swissbox.tinybundles.core.TinyBundles.newBundle;
-import static org.ops4j.pax.swissbox.tinybundles.core.TinyBundles.withBnd;
 
 /**
  * Base class for OSGi blueprint tests.
diff --git a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cache/replication/CacheReplicationTest.java b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cache/replication/CacheReplicationTest.java
index ef3df9d..8684922 100644
--- a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cache/replication/CacheReplicationTest.java
+++ b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cache/replication/CacheReplicationTest.java
@@ -66,24 +66,14 @@
     @Configuration
     public static Option[] configure() throws Exception {
         Option[] options = combine(
-        // Default karaf environment
-                Helper.getDefaultOptions(
-                    // this is how you set the default log level when using pax
-                    // logging (logProfile)
-                    Helper.setLogLevel("WARN")),
-                    
-                    // install the spring, http features first
-                    scanFeatures(getKarafFeatureUrl(), "spring", "spring-dm", "jetty"),
+                // Default karaf environment
+                getDefaultCamelKarafOptions(),
+                // using the features to install the camel components
+                scanFeatures(getCamelKarafFeatureUrl(), "jetty", "camel-jms", "camel-cache"),
 
-                    // using the features to install AMQ
-                    scanFeatures("mvn:org.apache.activemq/activemq-karaf/5.5.0/xml/features",
-                            "activemq"),
-
-                    // using the features to install the camel components
-                    scanFeatures(getCamelKarafFeatureUrl(),
-                            "camel-core", "camel-spring", "camel-test", "camel-jms", "camel-cache"),
-
-                workingDirectory("target/paxrunner/"),
+                // using the features to install AMQ
+                scanFeatures("mvn:org.apache.activemq/activemq-karaf/5.5.0/xml/features",
+                        "activemq"),
 
                 felix());
 
diff --git a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cxf/CxfBeanSpringRouteTest.java b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cxf/CxfBeanSpringRouteTest.java
index 97f083d..bb1e70f 100644
--- a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cxf/CxfBeanSpringRouteTest.java
+++ b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cxf/CxfBeanSpringRouteTest.java
@@ -17,7 +17,6 @@
 package org.apache.camel.itest.osgi.cxf;
 
 import org.apache.camel.itest.osgi.OSGiIntegrationSpringTestSupport;
-import org.apache.camel.itest.osgi.cxf.blueprint.CxfRsBlueprintRouterTest;
 import org.apache.http.HttpResponse;
 import org.apache.http.client.HttpClient;
 import org.apache.http.client.methods.HttpGet;
@@ -28,13 +27,11 @@
 import org.ops4j.pax.exam.Option;
 import org.ops4j.pax.exam.junit.Configuration;
 import org.ops4j.pax.exam.junit.JUnit4TestRunner;
-import org.osgi.framework.Constants;
 import org.springframework.osgi.context.support.OsgiBundleXmlApplicationContext;
 
 import static org.ops4j.pax.exam.CoreOptions.provision;
 import static org.ops4j.pax.exam.OptionUtils.combine;
 import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.scanFeatures;
-import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.vmOption;
 import static org.ops4j.pax.swissbox.tinybundles.core.TinyBundles.newBundle;
 import static org.ops4j.pax.swissbox.tinybundles.core.TinyBundles.withBnd;
 
diff --git a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cxf/blueprint/CxfBeanBlueprintRouterTest.java b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cxf/blueprint/CxfBeanBlueprintRouterTest.java
index 6dd9662..36576d7 100644
--- a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cxf/blueprint/CxfBeanBlueprintRouterTest.java
+++ b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cxf/blueprint/CxfBeanBlueprintRouterTest.java
@@ -30,10 +30,8 @@
 import org.ops4j.pax.exam.junit.JUnit4TestRunner;
 import org.osgi.framework.Constants;
 
-import static org.ops4j.pax.exam.CoreOptions.equinox;
 import static org.ops4j.pax.exam.OptionUtils.combine;
 import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.scanFeatures;
-import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.vmOption;
 import static org.ops4j.pax.swissbox.tinybundles.core.TinyBundles.newBundle;
 
 @RunWith(JUnit4TestRunner.class)
diff --git a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cxf/blueprint/CxfBlueprintRouterTest.java b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cxf/blueprint/CxfBlueprintRouterTest.java
index 2a5efe3..a7b7603 100644
--- a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cxf/blueprint/CxfBlueprintRouterTest.java
+++ b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/cxf/blueprint/CxfBlueprintRouterTest.java
@@ -36,7 +36,6 @@
 
 import static org.ops4j.pax.exam.OptionUtils.combine;
 import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.scanFeatures;
-import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.vmOption;
 import static org.ops4j.pax.swissbox.tinybundles.core.TinyBundles.newBundle;
 import static org.ops4j.pax.swissbox.tinybundles.core.TinyBundles.withBnd;
 
diff --git a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/ftp/FtpTest.java b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/ftp/FtpTest.java
index 7a5a1b4..91e095e 100644
--- a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/ftp/FtpTest.java
+++ b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/ftp/FtpTest.java
@@ -18,7 +18,6 @@
 
 import org.apache.camel.Exchange;
 import org.apache.camel.itest.osgi.OSGiIntegrationSpringTestSupport;
-import org.apache.karaf.testing.Helper;
 import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -31,7 +30,6 @@
 import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
 import static org.ops4j.pax.exam.OptionUtils.combine;
 import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.scanFeatures;
-import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.workingDirectory;
 
 @RunWith(JUnit4TestRunner.class)
 @Ignore("Not fully implemented, see TODO")
@@ -53,26 +51,16 @@
     @Configuration
     public static Option[] configure() throws Exception {
         Option[] options = combine(
-            // Default karaf environment
-            Helper.getDefaultOptions(
-            // this is how you set the default log level when using pax logging (logProfile)
-                Helper.setLogLevel("WARN")),
-                
+
+            getDefaultCamelKarafOptions(),
+            // using the features to install the camel components
+            scanFeatures(getCamelKarafFeatureUrl(), "jetty", "camel-ftp"),
+
+            // ftp server bundles
             mavenBundle().groupId("org.apache.mina").artifactId("mina-core").version("2.0.0"),
             mavenBundle().groupId("org.apache.ftpserver").artifactId("ftpserver-core").version("1.0.5"),
             mavenBundle().groupId("org.apache.ftpserver").artifactId("ftplet-api").version("1.0.5"),
 
-            // install the spring, http features first
-            scanFeatures(getKarafFeatureUrl(), "spring", "spring-dm", "jetty"),
-            
-            // using the features to install the camel components
-            scanFeatures(getCamelKarafFeatureUrl(),                         
-                          "camel-core", "camel-spring", "camel-test", "camel-ftp"),
-
-            // TODO: our app need to import the FTP server stuff
-
-            workingDirectory("target/paxrunner/"),
-
             /*felix(),*/ equinox());
         
         return options;
diff --git a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/hdfs/HdfsRouteTest.java b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/hdfs/HdfsRouteTest.java
index 2968c85..bd24029 100644
--- a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/hdfs/HdfsRouteTest.java
+++ b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/hdfs/HdfsRouteTest.java
@@ -83,10 +83,11 @@
     @Configuration
     public static Option[] configure() throws Exception {
         Option[] options = combine(
-                // Default karaf environment
-                Helper.getDefaultOptions(
-                        // this is how you set the default log level when using pax logging (logProfile)
-                        Helper.setLogLevel("WARN")),
+
+                getDefaultCamelKarafOptions(),
+                // using the features to install the camel components
+                scanFeatures(getCamelKarafFeatureUrl(), "camel-hdfs"),
+
                 new Customizer() {
                     @Override
                     public InputStream customizeTestProbe(InputStream testProbe) {
@@ -98,16 +99,7 @@
                                 .set(Constants.DYNAMICIMPORT_PACKAGE, "*")
                                 .build();
                     }
-                },
-
-                // install the spring.
-                scanFeatures(getKarafFeatureUrl(), "spring"),
-                // using the features to install the camel components
-                scanFeatures(getCamelKarafFeatureUrl(),
-                        "camel-core", "camel-spring", "camel-test", "camel-hdfs"),
-                workingDirectory("target/paxrunner/"),
-                //vmOption("-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"),
-                felix(), equinox());
+                });
 
         return options;
     }
diff --git a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/hl7/HL7DataFormatTest.java b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/hl7/HL7DataFormatTest.java
index 2c110c8..e39a069 100644
--- a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/hl7/HL7DataFormatTest.java
+++ b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/hl7/HL7DataFormatTest.java
@@ -22,7 +22,6 @@
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.itest.osgi.OSGiIntegrationTestSupport;
-import org.apache.karaf.testing.Helper;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
diff --git a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/http/HttpTypeConverterTest.java b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/http/HttpTypeConverterTest.java
index 5fcd06e..c5b4f0d 100644
--- a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/http/HttpTypeConverterTest.java
+++ b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/http/HttpTypeConverterTest.java
@@ -27,12 +27,8 @@
 
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
-import org.apache.camel.Processor;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.impl.DefaultMessage;
 import org.apache.camel.itest.osgi.OSGiIntegrationTestSupport;
-import org.eclipse.jetty.util.IO;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
diff --git a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/jclouds/BlobStoreBlueprintRouteTest.java b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/jclouds/BlobStoreBlueprintRouteTest.java
index 480f636..328fa76 100644
--- a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/jclouds/BlobStoreBlueprintRouteTest.java
+++ b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/jclouds/BlobStoreBlueprintRouteTest.java
@@ -37,10 +37,6 @@
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.Constants;
 import org.osgi.service.blueprint.container.BlueprintContainer;
-import org.springframework.osgi.context.support.OsgiBundleXmlApplicationContext;
-
-
-import static org.ops4j.pax.exam.CoreOptions.equinox;
 import static org.ops4j.pax.exam.CoreOptions.felix;
 import static org.ops4j.pax.exam.OptionUtils.combine;
 import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.scanFeatures;
diff --git a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/jclouds/BlobStoreRouteTest.java b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/jclouds/BlobStoreRouteTest.java
index ddd796f..fd82a7f 100644
--- a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/jclouds/BlobStoreRouteTest.java
+++ b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/jclouds/BlobStoreRouteTest.java
@@ -90,19 +90,9 @@
     @Configuration
     public static Option[] configure() throws Exception {
         Option[] options = combine(
-                // Default karaf environment
-                Helper.getDefaultOptions(
-                        // this is how you set the default log level when using pax logging (logProfile)
-                        Helper.setLogLevel("WARN")),
-
-                // install the spring.
-                scanFeatures(getKarafFeatureUrl(), "spring"),
+                getDefaultCamelKarafOptions(),
                 // using the features to install the camel components
-                scanFeatures(getCamelKarafFeatureUrl(),
-                        "camel-core", "camel-spring", "camel-test", "camel-jclouds"),
-                workingDirectory("target/paxrunner/"),
-                //vmOption("-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"),
-                felix(), equinox());
+                scanFeatures(getCamelKarafFeatureUrl(), "camel-jclouds"));
 
         return options;
     }
diff --git a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/jetty/OSGiMulitJettyCamelContextsTest.java b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/jetty/OSGiMulitJettyCamelContextsTest.java
index 9a34c5a..3d3bb12 100644
--- a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/jetty/OSGiMulitJettyCamelContextsTest.java
+++ b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/jetty/OSGiMulitJettyCamelContextsTest.java
@@ -18,8 +18,6 @@
 
 import org.apache.camel.CamelExecutionException;
 import org.apache.camel.itest.osgi.OSGiIntegrationTestSupport;
-import org.apache.karaf.testing.Helper;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.Option;
diff --git a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/jpa/JpaRouteTest.java b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/jpa/JpaRouteTest.java
index be1d44d..9112b02 100644
--- a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/jpa/JpaRouteTest.java
+++ b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/jpa/JpaRouteTest.java
@@ -16,8 +16,6 @@
  */
 package org.apache.camel.itest.osgi.jpa;
 
-import java.io.IOException;
-import java.io.InputStream;
 import java.util.List;
 
 import org.apache.camel.CamelContext;
@@ -32,11 +30,7 @@
 import org.ops4j.pax.exam.Option;
 import org.ops4j.pax.exam.junit.Configuration;
 import org.ops4j.pax.exam.junit.JUnit4TestRunner;
-import org.ops4j.pax.exam.options.UrlProvisionOption;
-import org.ops4j.store.Store;
-import org.ops4j.store.StoreFactory;
 import org.osgi.framework.BundleContext;
-import org.osgi.framework.Constants;
 import org.springframework.orm.jpa.JpaTemplate;
 import org.springframework.orm.jpa.JpaTransactionManager;
 import org.springframework.osgi.context.support.OsgiBundleXmlApplicationContext;
@@ -51,7 +45,6 @@
 import static org.ops4j.pax.exam.OptionUtils.combine;
 import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.scanFeatures;
 import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.workingDirectory;
-import static org.ops4j.pax.swissbox.tinybundles.core.TinyBundles.newBundle;
 
 @RunWith(JUnit4TestRunner.class)
 public class JpaRouteTest extends OSGiIntegrationTestSupport {
@@ -135,22 +128,14 @@
     @Configuration
     public static Option[] configure() throws Exception {
         Option[] options = combine(
-            // Default karaf environment
-            Helper.getDefaultOptions(
-            // this is how you set the default log level when using pax logging (logProfile)
-                Helper.setLogLevel("WARN")),
-                
-            // install the spring.
-            scanFeatures(getKarafFeatureUrl(), "spring"),
-            // using the features to install the camel components             
-            scanFeatures(getCamelKarafFeatureUrl(),                         
-                          "camel-core", "camel-spring", "camel-test", "camel-jpa"),
-            
-            mavenBundle().groupId("org.apache.derby").artifactId("derby").version("10.4.2.0"),
-            workingDirectory("target/paxrunner/"),
 
-            felix(), equinox());
-        
+            getDefaultCamelKarafOptions(),
+            // using the features to install the camel components
+            scanFeatures(getCamelKarafFeatureUrl(), "camel-jpa"),
+
+            // use derby as the database
+            mavenBundle().groupId("org.apache.derby").artifactId("derby").version("10.4.2.0"));
+
         return options;
     }
 }
\ No newline at end of file
diff --git a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/krati/KratiBlueprintRouteTest.java b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/krati/KratiBlueprintRouteTest.java
index e92617e..3ed0a8c 100644
--- a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/krati/KratiBlueprintRouteTest.java
+++ b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/krati/KratiBlueprintRouteTest.java
@@ -69,10 +69,11 @@
     @Configuration
     public static Option[] configure() throws Exception {
         Option[] options = combine(
-                // Default karaf environment
-                Helper.getDefaultOptions(
-                        // this is how you set the default log level when using pax logging (logProfile)
-                        Helper.setLogLevel("WARN")),
+
+                getDefaultCamelKarafOptions(),
+                // using the features to install the camel components
+                scanFeatures(getCamelKarafFeatureUrl(), "camel-blueprint", "camel-krati"),
+
                 new Customizer() {
                     @Override
                     public InputStream customizeTestProbe(InputStream testProbe) {
@@ -84,16 +85,7 @@
                                 .set(Constants.DYNAMICIMPORT_PACKAGE, "*")
                                 .build();
                     }
-                },
-                // install the spring.
-                scanFeatures(getKarafFeatureUrl(), "spring"),
-                // using the features to install the camel components
-                scanFeatures(getCamelKarafFeatureUrl(),
-                         "camel-core", "camel-blueprint", "camel-test", "camel-krati"),
-
-                workingDirectory("target/paxrunner/"),
-                //vmOption("-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"),
-                felix(), equinox());
+                });
 
         return options;
     }
diff --git a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/krati/KratiRouteTest.java b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/krati/KratiRouteTest.java
index 951ffa6..d7a9f53 100644
--- a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/krati/KratiRouteTest.java
+++ b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/krati/KratiRouteTest.java
@@ -35,7 +35,6 @@
 import static org.ops4j.pax.exam.CoreOptions.felix;
 import static org.ops4j.pax.exam.OptionUtils.combine;
 import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.scanFeatures;
-import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.vmOption;
 import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.workingDirectory;
 
 @RunWith(JUnit4TestRunner.class)
@@ -71,20 +70,9 @@
     @Configuration
     public static Option[] configure() throws Exception {
         Option[] options = combine(
-                // Default karaf environment
-                Helper.getDefaultOptions(
-                        // this is how you set the default log level when using pax logging (logProfile)
-                        Helper.setLogLevel("WARN")),
-
-                // install the spring.
-                scanFeatures(getKarafFeatureUrl(), "spring"),
+                getDefaultCamelKarafOptions(),
                 // using the features to install the camel components
-                scanFeatures(getCamelKarafFeatureUrl(),
-                        "camel-core", "camel-spring", "camel-test", "camel-krati"),
-
-                workingDirectory("target/paxrunner/"),
-                //vmOption("-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"),
-                felix(), equinox());
+                scanFeatures(getCamelKarafFeatureUrl(), "camel-krati"));
 
         return options;
     }
diff --git a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/mail/MailRouteTest.java b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/mail/MailRouteTest.java
index c1e108b..86a3f94 100644
--- a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/mail/MailRouteTest.java
+++ b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/mail/MailRouteTest.java
@@ -123,17 +123,11 @@
     @Configuration
     public static Option[] configure() throws Exception {
         Option[] options = combine(
-            // Default karaf environment
-            Helper.getDefaultOptions(
-            // this is how you set the default log level when using pax logging (logProfile)
-                Helper.setLogLevel("WARN")),
-            // install the spring, http features first
-            scanFeatures(getKarafFeatureUrl(), "spring", "spring-dm", "jetty"),
-                
-            // using the features to install the camel components             
-            scanFeatures(getCamelKarafFeatureUrl(),                         
-                          "camel-core", "camel-spring", "camel-test"),
-            
+
+            getDefaultCamelKarafOptions(),
+            // using the features to install the camel components
+            scanFeatures(getCamelKarafFeatureUrl(), "jetty"),
+
             // using the java mail API bundle
             mavenBundle().groupId("org.apache.servicemix.specs").artifactId("org.apache.servicemix.specs.javamail-api-1.4").version("1.3.0"),
                           
@@ -141,7 +135,7 @@
             
             // Added the mock_java_mail bundle for testing
             // just using the mock_java_mail version for testing
-            mavenBundle().groupId("org.apache.camel.tests").artifactId("org.apache.camel.tests.mock-javamail_1.7").version("2.4.0"),
+            mavenBundle().groupId("org.apache.camel.tests").artifactId("org.apache.camel.tests.mock-javamail_1.7").version("2.8.3"),
             
             workingDirectory("target/paxrunner/"),
 
diff --git a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/mybatis/MyBatisTest.java b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/mybatis/MyBatisTest.java
index 25c3a51..baeeff1 100644
--- a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/mybatis/MyBatisTest.java
+++ b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/mybatis/MyBatisTest.java
@@ -107,23 +107,13 @@
     @Configuration
     public static Option[] configure() throws Exception {
         Option[] options = combine(
-            // Default karaf environment
-            Helper.getDefaultOptions(
-            // this is how you set the default log level when using pax logging (logProfile)
-                Helper.setLogLevel("WARN")),
-                
-            // install the spring, http features first
-            scanFeatures(getKarafFeatureUrl(), "spring", "spring-dm", "jetty"),
-                
-            mavenBundle().groupId("org.apache.derby").artifactId("derby").version("10.4.2.0"),
 
+            getDefaultCamelKarafOptions(),
             // using the features to install the camel components
-            scanFeatures(getCamelKarafFeatureUrl(),
-                          "camel-core", "camel-test", "camel-mybatis"),
+            scanFeatures(getCamelKarafFeatureUrl(), "jetty", "camel-mybatis"),
 
-            workingDirectory("target/paxrunner/"),
-
-            felix(), equinox());
+            // use derby as the database
+            mavenBundle().groupId("org.apache.derby").artifactId("derby").version("10.4.2.0"));
 
         return options;
     }
diff --git a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/sql/SqlRouteTest.java b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/sql/SqlRouteTest.java
index 8c4dbe3..00a3801 100644
--- a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/sql/SqlRouteTest.java
+++ b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/sql/SqlRouteTest.java
@@ -144,21 +144,12 @@
     @Configuration
     public static Option[] configure() throws Exception {
         Option[] options = combine(
-                // Default karaf environment
-                Helper.getDefaultOptions(
-                        // this is how you set the default log level when using pax logging (logProfile)
-                        Helper.setLogLevel("WARN")),
-
-                // install the spring.
-                scanFeatures(getKarafFeatureUrl(), "spring"),
+                getDefaultCamelKarafOptions(),
                 // using the features to install the camel components
-                scanFeatures(getCamelKarafFeatureUrl(),
-                        "camel-core", "camel-spring", "camel-test", "camel-sql"),
+                scanFeatures(getCamelKarafFeatureUrl(), "camel-sql"),
 
-                mavenBundle().groupId("org.apache.derby").artifactId("derby").version("10.4.2.0"),
-                workingDirectory("target/paxrunner/"),
-
-                felix(), equinox());
+                // and use derby as the database
+                mavenBundle().groupId("org.apache.derby").artifactId("derby").version("10.4.2.0"));
 
         return options;
     }
diff --git a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/zookeeper/ZookeeperOSGiTest.java b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/zookeeper/ZookeeperOSGiTest.java
index c1d0a4c..f334391 100644
--- a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/zookeeper/ZookeeperOSGiTest.java
+++ b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/zookeeper/ZookeeperOSGiTest.java
@@ -32,15 +32,10 @@
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.ops4j.pax.exam.Option;
-import org.ops4j.pax.exam.junit.Configuration;
 import org.ops4j.pax.exam.junit.JUnit4TestRunner;
 import static org.apache.camel.component.zookeeper.ZooKeeperMessage.ZOOKEEPER_CREATE_MODE;
 import static org.apache.camel.component.zookeeper.ZooKeeperMessage.ZOOKEEPER_NODE;
 
-import static org.ops4j.pax.exam.OptionUtils.combine;
-import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.scanFeatures;
-
 
 @RunWith(JUnit4TestRunner.class)
 public class ZookeeperOSGiTest extends ZookeeperOSGiTestSupport {
diff --git a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/zookeeper/ZookeeperOSGiTestSupport.java b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/zookeeper/ZookeeperOSGiTestSupport.java
index d53a5d0..1a92733 100644
--- a/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/zookeeper/ZookeeperOSGiTestSupport.java
+++ b/tests/camel-itest-osgi/src/test/java/org/apache/camel/itest/osgi/zookeeper/ZookeeperOSGiTestSupport.java
@@ -34,9 +34,7 @@
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.component.zookeeper.ZooKeeperMessage;
 import org.apache.camel.itest.osgi.OSGiIntegrationTestSupport;
-import org.apache.camel.test.junit4.CamelTestSupport;
 import org.apache.camel.util.FileUtil;
-import org.apache.karaf.testing.Helper;
 import org.apache.log4j.Logger;
 import org.apache.zookeeper.CreateMode;
 import org.apache.zookeeper.WatchedEvent;
@@ -55,20 +53,13 @@
 import org.ops4j.pax.exam.junit.Configuration;
 import static org.ops4j.pax.exam.OptionUtils.combine;
 import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.scanFeatures;
-import static org.ops4j.pax.exam.container.def.PaxRunnerOptions.workingDirectory;
 
 public class ZookeeperOSGiTestSupport extends OSGiIntegrationTestSupport {
 
+    protected static final Logger LOG = Logger.getLogger(ZookeeperOSGiTestSupport.class);
     protected static TestZookeeperServer server;
-    
     protected static TestZookeeperClient client;
 
-    protected static final Logger LOG = Logger.getLogger(ZookeeperOSGiTestSupport.class);
- 
-    protected String testPayload = "This is a test";
-
-    protected byte[] testPayloadBytes = testPayload.getBytes();
-        
     @BeforeClass
     public static void setupTestServer() throws Exception {
         LOG.info("Starting Zookeeper Test Infrastructure");
@@ -91,26 +82,14 @@
         LOG.info("Stopped Zookeeper Test Infrastructure");
     }
 
-    
     @Configuration
     public static Option[] configure() {
         Option[] options = combine(
-        // Set the karaf environment with some customer configuration
-            combine(Helper.getDefaultConfigOptions(
-                                               Helper.setLogLevel("ERROR")),
-                Helper.getDefaultProvisioningOptions()),
-        // install the spring, http features first
-                                   scanFeatures(getKarafFeatureUrl(), "spring", "spring-dm", "jetty"),
 
-                                   // using the features to install the camel
-                                   // components
-                                   scanFeatures(getCamelKarafFeatureUrl(), "camel-core", "camel-spring",
-                                                "camel-test", "camel-zookeeper"),
+                getDefaultCamelKarafOptions(),
+                // using the features to install the camel components
+                scanFeatures(getCamelKarafFeatureUrl(), "jetty", "camel-zookeeper"));
 
-                                   workingDirectory("target/paxrunner/"));
-
-        // equinox(),
-        // felix());
         return options;
     }
 
@@ -162,15 +141,10 @@
 
     public static class TestZookeeperClient implements Watcher {
 
-        public int x;
-
         private final Logger log = Logger.getLogger(getClass());
-
+        private final CountDownLatch connected = new CountDownLatch(1);
         private ZooKeeper zk;
 
-        private CountDownLatch connected = new CountDownLatch(1);
-
-
         public TestZookeeperClient(int port, int timeout) throws Exception {
             zk = new ZooKeeper("localhost:" + port, timeout, this);
             connected.await();
@@ -218,7 +192,6 @@
         }
 
         public void process(WatchedEvent event) {
-
             if (event.getState() == KeeperState.SyncConnected) {
                 log.info("TestClient connected");
                 connected.countDown();
@@ -366,4 +339,5 @@
             assertEquals(new String(expected), new String(client.getData(node)));
         }
     }
+
 }
diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/async/HttpSyncTest.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/async/HttpSyncTest.java
index e30adb6..b5edf5c 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/async/HttpSyncTest.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/async/HttpSyncTest.java
@@ -16,8 +16,6 @@
  */
 package org.apache.camel.itest.async;
 
-import java.util.concurrent.Future;
-
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit4.CamelTestSupport;
diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/CamelGreeterFileDomTest.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/CamelGreeterFileDomTest.java
index 1a20412..ac51661 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/CamelGreeterFileDomTest.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/CamelGreeterFileDomTest.java
@@ -17,13 +17,9 @@
 package org.apache.camel.itest.greeter;
 
 import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
 import javax.xml.ws.Endpoint;
 
 import org.apache.camel.CamelContext;
-import org.apache.camel.EndpointInject;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.test.junit4.TestSupport;
diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/http/Http4RouteTest.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/http/Http4RouteTest.java
index 3777c2d..c4160a9 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/http/Http4RouteTest.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/http/Http4RouteTest.java
@@ -16,8 +16,6 @@
  */
 package org.apache.camel.itest.http;
 
-import junit.framework.Assert;
-
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/ibatis/LoggingPipelineTest.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/ibatis/LoggingPipelineTest.java
index 19131f1..0728bc7 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/ibatis/LoggingPipelineTest.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/ibatis/LoggingPipelineTest.java
@@ -16,9 +16,6 @@
  */
 package org.apache.camel.itest.ibatis;
 
-import static junit.framework.Assert.assertEquals;
-import static junit.framework.Assert.assertFalse;
-
 import org.apache.camel.CamelExecutionException;
 import org.apache.camel.EndpointInject;
 import org.apache.camel.Exchange;
@@ -31,7 +28,6 @@
 import org.junit.Test;
 import org.springframework.context.support.AbstractXmlApplicationContext;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
-import org.springframework.test.annotation.DirtiesContext;
 
 /**
  * @version 
diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/ibatis/TransactedExceptionClauseAfterTransactedTagTest.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/ibatis/TransactedExceptionClauseAfterTransactedTagTest.java
index 39c7ae1..c1b35a9 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/ibatis/TransactedExceptionClauseAfterTransactedTagTest.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/ibatis/TransactedExceptionClauseAfterTransactedTagTest.java
@@ -16,9 +16,6 @@
  */
 package org.apache.camel.itest.ibatis;
 
-import static junit.framework.Assert.assertEquals;
-import static junit.framework.Assert.assertFalse;
-
 import org.apache.camel.CamelExecutionException;
 import org.apache.camel.EndpointInject;
 import org.apache.camel.Exchange;
@@ -31,7 +28,6 @@
 import org.junit.Test;
 import org.springframework.context.support.AbstractXmlApplicationContext;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
-import org.springframework.test.annotation.DirtiesContext;
 
 /**
  * @version 
diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/ibatis/TransactedFullExampleTest.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/ibatis/TransactedFullExampleTest.java
index d406d87..db60560 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/ibatis/TransactedFullExampleTest.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/ibatis/TransactedFullExampleTest.java
@@ -16,9 +16,6 @@
  */
 package org.apache.camel.itest.ibatis;
 
-import static junit.framework.Assert.assertEquals;
-import static junit.framework.Assert.assertFalse;
-
 import org.apache.camel.CamelExecutionException;
 import org.apache.camel.EndpointInject;
 import org.apache.camel.Exchange;
@@ -31,7 +28,6 @@
 import org.junit.Test;
 import org.springframework.context.support.AbstractXmlApplicationContext;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
-import org.springframework.test.annotation.DirtiesContext;
 
 /**
  * @version 
diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/ibatis/TransactedTryCatchTest.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/ibatis/TransactedTryCatchTest.java
index 7ec1a0e..07ebd9c 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/ibatis/TransactedTryCatchTest.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/ibatis/TransactedTryCatchTest.java
@@ -16,9 +16,6 @@
  */
 package org.apache.camel.itest.ibatis;
 
-import static junit.framework.Assert.assertEquals;
-import static junit.framework.Assert.assertFalse;
-
 import org.apache.camel.CamelExecutionException;
 import org.apache.camel.EndpointInject;
 import org.apache.camel.Exchange;
@@ -31,7 +28,6 @@
 import org.junit.Test;
 import org.springframework.context.support.AbstractXmlApplicationContext;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
-import org.springframework.test.annotation.DirtiesContext;
 
 /**
  * @version 
diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/issues/JettyHttpFileCacheTest.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/issues/JettyHttpFileCacheTest.java
index cf45479..7b77a64 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/issues/JettyHttpFileCacheTest.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/issues/JettyHttpFileCacheTest.java
@@ -21,11 +21,7 @@
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.converter.stream.CachedOutputStream;
-import org.apache.camel.impl.DefaultExchange;
-import org.apache.camel.impl.DefaultUnitOfWork;
-import org.apache.camel.spi.UnitOfWork;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/jetty/JettyJmsShutdownInProgressTest.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/jetty/JettyJmsShutdownInProgressTest.java
index d1e8640..ddffa80 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/jetty/JettyJmsShutdownInProgressTest.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/jetty/JettyJmsShutdownInProgressTest.java
@@ -23,7 +23,6 @@
 import junit.framework.Assert;
 import org.apache.camel.CamelContext;
 import org.apache.camel.ProducerTemplate;
-import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.component.http.HttpOperationFailedException;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/jetty/JettySimpleSetHeaderTest.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/jetty/JettySimpleSetHeaderTest.java
index f1fae98..d6518cf 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/jetty/JettySimpleSetHeaderTest.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/jetty/JettySimpleSetHeaderTest.java
@@ -22,8 +22,6 @@
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.Test;
 
-import static org.apache.camel.language.simple.SimpleLanguage.simple;
-
 /**
  * @version 
  */
diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/jms/DynamicRouteTest.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/jms/DynamicRouteTest.java
index 12670bc..29ec046 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/jms/DynamicRouteTest.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/jms/DynamicRouteTest.java
@@ -21,9 +21,7 @@
 import org.apache.activemq.camel.component.ActiveMQComponent;
 import org.apache.camel.Exchange;
 import org.apache.camel.Header;
-import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.apache.camel.util.jndi.JndiContext;
 import org.junit.Test;
diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/security/GreeterClientTest.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/security/GreeterClientTest.java
index b47784a..dca7a9f 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/security/GreeterClientTest.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/security/GreeterClientTest.java
@@ -29,7 +29,6 @@
 import org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor;
 import org.apache.hello_world_soap_http.Greeter;
 import org.apache.ws.security.WSConstants;
-import org.apache.ws.security.handler.WSHandlerConstants;
 import org.apache.ws.security.message.token.UsernameToken;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/security/KeystorePasswordCallback.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/security/KeystorePasswordCallback.java
index 05a43a6..29d5c67 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/security/KeystorePasswordCallback.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/security/KeystorePasswordCallback.java
@@ -17,7 +17,6 @@
 package org.apache.camel.itest.security;
 
 import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.util.HashMap;
 import java.util.Map;
diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/security/MyAuthenticationAdapter.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/security/MyAuthenticationAdapter.java
index 03f16d4..fea4c45 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/security/MyAuthenticationAdapter.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/security/MyAuthenticationAdapter.java
@@ -17,8 +17,6 @@
 package org.apache.camel.itest.security;
 
 import java.security.Principal;
-import java.security.cert.X509Certificate;
-
 import javax.security.auth.Subject;
 
 import org.apache.camel.component.spring.security.DefaultAuthenticationAdapter;
diff --git a/tooling/archetypes/camel-archetype-component/src/main/resources/archetype-resources/ReadMe.txt b/tooling/archetypes/camel-archetype-component/src/main/resources/archetype-resources/ReadMe.txt
index 3cc57d1..16825ee 100644
--- a/tooling/archetypes/camel-archetype-component/src/main/resources/archetype-resources/ReadMe.txt
+++ b/tooling/archetypes/camel-archetype-component/src/main/resources/archetype-resources/ReadMe.txt
@@ -1,11 +1,12 @@
 Camel Component Project
 ====================
-This Project is a template of the Camel component.
-When you create the component project, you need to move the META-INF/services/org/apache/camel/component/${name}
-file to META-INF/services/org/apache/camel/component/foo where "foo" is the URI scheme for your component and any
- related endpoints created on the fly.
+This Project is a template of a Camel component.
 
-For more help see the Apache Camel documentation
+When you create a component project, you need to move the META-INF/services/org/apache/camel/component/${name}
+file to META-INF/services/org/apache/camel/component/foo where "foo" is the URI scheme for your component and any
+related endpoints created on the fly.
+
+For more help see the Apache Camel documentation:
 
     http://camel.apache.org/writing-components.html
     
diff --git a/tooling/archetypes/camel-archetype-java/src/main/resources/archetype-resources/src/main/java/MyRouteBuilder.java b/tooling/archetypes/camel-archetype-java/src/main/resources/archetype-resources/src/main/java/MyRouteBuilder.java
index f3a9c9f..3af5df9 100644
--- a/tooling/archetypes/camel-archetype-java/src/main/resources/archetype-resources/src/main/java/MyRouteBuilder.java
+++ b/tooling/archetypes/camel-archetype-java/src/main/resources/archetype-resources/src/main/java/MyRouteBuilder.java
@@ -34,7 +34,7 @@
     }
 
     /**
-     * Lets configure the Camel routing rules using Java code...
+     * Let's configure the Camel routing rules using Java code...
      */
     public void configure() {