You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2010/05/18 10:12:16 UTC

svn commit: r945532 - in /camel/trunk: camel-core/src/main/java/org/apache/camel/ camel-core/src/main/java/org/apache/camel/converter/ camel-core/src/main/java/org/apache/camel/model/ camel-core/src/main/java/org/apache/camel/processor/ camel-core/src/...

Author: davsclaus
Date: Tue May 18 08:12:15 2010
New Revision: 945532

URL: http://svn.apache.org/viewvc?rev=945532&view=rev
Log:
CAMEL-2724: Marked ToAsync as @deprecated. We will remove it in Camel 2.4. Replacing it with a new and better async routing engine.

Added:
    camel/trunk/camel-core/src/main/java/org/apache/camel/converter/AsyncProcessorConverter.java
      - copied unchanged from r944134, camel/trunk/camel-core/src/main/java/org/apache/camel/converter/AsyncProcessorConverter.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendAsyncProcessor.java
      - copied, changed from r944134, camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendAsyncProcessor.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/async/ToAsyncHandoverCompletionTest.java
      - copied unchanged from r944134, camel/trunk/camel-core/src/test/java/org/apache/camel/processor/async/ToAsyncHandoverCompletionTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/async/ToAsyncTest.java
      - copied unchanged from r944134, camel/trunk/camel-core/src/test/java/org/apache/camel/processor/async/ToAsyncTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/async/ToAsyncTwoTest.java
      - copied unchanged from r944134, camel/trunk/camel-core/src/test/java/org/apache/camel/processor/async/ToAsyncTwoTest.java
    camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaToAsyncTest.java
      - copied unchanged from r944134, camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaToAsyncTest.java
    camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringToAsyncTest.java
      - copied unchanged from r944134, camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringToAsyncTest.java
    camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringToAsyncTwoTest.java
      - copied unchanged from r944134, camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringToAsyncTwoTest.java
    camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringToAsyncTest.xml
      - copied unchanged from r944134, camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringToAsyncTest.xml
    camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringToAsyncTwoTest.xml
      - copied unchanged from r944134, camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringToAsyncTwoTest.xml
Modified:
    camel/trunk/camel-core/src/main/java/org/apache/camel/AsyncProcessor.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/model/ToDefinition.java
    camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyContentExchange.java
    camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpProducer.java
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/HttpJettyProducerTwoEndpointTest.java
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProderReturnFaultTest.java
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerAsyncTimeoutTest.java
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerAsynchronousTest.java
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerConcurrentTest.java
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerConnectionFailureTest.java
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerContentBasedRouteTest.java
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerGetWithParamAsExchangeHeaderTest.java
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerGetWithParamTest.java
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerGoogleAsynchronousTest.java
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerGoogleTest.java
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerQueryParamTest.java
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSendFileTest.java
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSimulate404ErrorTest.java
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSlowResponseTest.java
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSuspendResumeTest.java
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSuspendTest.java
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSuspendWhileInProgressTest.java
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerTimeoutTest.java
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpsProducerRouteSetupWithSystemPropsTest.java
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyProducerHandle404Test.java
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyProducerHttpsRouteTest.java
    camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/AsyncProcessor.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/AsyncProcessor.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/AsyncProcessor.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/AsyncProcessor.java Tue May 18 08:12:15 2010
@@ -19,20 +19,23 @@ package org.apache.camel;
 /**
  * An <b>asynchronous</b> processor which can process an {@link Exchange} in an asynchronous fashion
  * and signal completion by invoking the {@link AsyncCallback}.
+ * <p/>
+ * For example {@link Producer} can implement this interface to support real asynchronous non blocking
+ * when using the {@link org.apache.camel.processor.SendAsyncProcessor}.
  *
  * @version $Revision$
+ * @deprecated will be replaced with a new async routing engine in Camel 2.4. So expect this interface to change
  */
+@Deprecated
 public interface AsyncProcessor extends Processor {
 
     /**
-     * Processes the message exchange.
-     * <p/>
-     * If there was a failure processing then the caused {@link Exception} would be set on the {@link Exchange}.
+     * Processes the message exchange
      *
      * @param exchange the message exchange
      * @param callback the callback to invoke when data has been received and the {@link Exchange}
      * is ready to be continued routed.
-     * @return <tt>true</tt> to continue execute synchronously, <tt>false</tt> to continue being executed asynchronously
+     * @throws Exception if an internal processing error has occurred.
      */
-    boolean process(Exchange exchange, AsyncCallback callback);
+    void process(Exchange exchange, AsyncCallback callback) throws Exception;
 }

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinition.java Tue May 18 08:12:15 2010
@@ -541,6 +541,86 @@ public abstract class ProcessorDefinitio
     }
 
     /**
+     * Sends the exchange to the given endpoint using asynchronous mode.
+     *
+     * @param uri  the endpoint to send to
+     * @return the builder
+     * @see org.apache.camel.processor.SendAsyncProcessor
+     * @deprecated will be replaced with a new async routing engine in Camel 2.4
+     */
+    @Deprecated
+    public ToDefinition toAsync(String uri) {
+        ToDefinition answer = new ToDefinition(uri);
+        answer.setAsync(true);
+        addOutput(answer);
+        // must push a block so we have a child route for the async reply
+        // routing which is separated from the caller route
+        pushBlock(answer);
+        return answer;
+    }
+
+    /**
+     * Sends the exchange to the given endpoint using asynchronous mode.
+     *
+     * @param uri  the endpoint to send to
+     * @param poolSize the core pool size
+     * @return the builder
+     * @see org.apache.camel.processor.SendAsyncProcessor
+     * @deprecated will be replaced with a new async routing engine in Camel 2.4
+     */
+    @Deprecated
+    public ToDefinition toAsync(String uri, int poolSize) {
+        ToDefinition answer = new ToDefinition(uri);
+        answer.setAsync(true);
+        answer.setPoolSize(poolSize);
+        addOutput(answer);
+        // must push a block so we have a child route for the async reply
+        // routing which is separated from the caller route
+        pushBlock(answer);
+        return answer;
+    }
+
+    /**
+     * Sends the exchange to the given endpoint using asynchronous mode.
+     *
+     * @param endpoint  the endpoint to send to
+     * @return the builder
+     * @see org.apache.camel.processor.SendAsyncProcessor
+     * @deprecated will be replaced with a new async routing engine in Camel 2.4
+     */
+    @Deprecated
+    public ToDefinition toAsync(Endpoint endpoint) {
+        ToDefinition answer = new ToDefinition(endpoint);
+        answer.setAsync(true);
+        addOutput(answer);
+        // must push a block so we have a child route for the async reply
+        // routing which is separated from the caller route
+        pushBlock(answer);
+        return answer;
+    }
+
+    /**
+     * Sends the exchange to the given endpoint using asynchronous mode.
+     *
+     * @param endpoint  the endpoint to send to
+     * @param poolSize the core pool size
+     * @return the builder
+     * @see org.apache.camel.processor.SendAsyncProcessor
+     * @deprecated will be replaced with a new async routing engine in Camel 2.4
+     */
+    @Deprecated
+    public ToDefinition toAsync(Endpoint endpoint, int poolSize) {
+        ToDefinition answer = new ToDefinition(endpoint);
+        answer.setAsync(true);
+        answer.setPoolSize(poolSize);
+        addOutput(answer);
+        // must push a block so we have a child route for the async reply
+        // routing which is separated from the caller route
+        pushBlock(answer);
+        return answer;
+    }
+
+    /**
      * <a href="http://camel.apache.org/exchange-pattern.html">ExchangePattern:</a>
      * set the ExchangePattern {@link ExchangePattern} into the exchange
      *

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/ToDefinition.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/ToDefinition.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/ToDefinition.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/ToDefinition.java Tue May 18 08:12:15 2010
@@ -18,6 +18,7 @@ package org.apache.camel.model;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.concurrent.ExecutorService;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
@@ -26,6 +27,11 @@ import javax.xml.bind.annotation.XmlTran
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.ExchangePattern;
+import org.apache.camel.Processor;
+import org.apache.camel.processor.SendAsyncProcessor;
+import org.apache.camel.processor.UnitOfWorkProcessor;
+import org.apache.camel.spi.RouteContext;
+import org.apache.camel.util.concurrent.ExecutorServiceHelper;
 
 /**
  * Represents an XML &lt;to/&gt; element
@@ -34,11 +40,23 @@ import org.apache.camel.ExchangePattern;
  */
 @XmlRootElement(name = "to")
 @XmlAccessorType(XmlAccessType.FIELD)
-public class ToDefinition extends SendDefinition<ToDefinition> {
+public class ToDefinition extends SendDefinition<ToDefinition> implements ExecutorServiceAwareDefinition<ToDefinition> {
     @XmlTransient
     private final List<ProcessorDefinition> outputs = new ArrayList<ProcessorDefinition>();
     @XmlAttribute(required = false)
     private ExchangePattern pattern;
+    @XmlAttribute(required = false)
+    @Deprecated
+    private Boolean async = Boolean.FALSE;
+    @XmlTransient
+    @Deprecated
+    private ExecutorService executorService;
+    @XmlAttribute(required = false)
+    @Deprecated
+    private String executorServiceRef;
+    @XmlAttribute(required = false)
+    @Deprecated
+    private Integer poolSize;
 
     public ToDefinition() {
     }
@@ -67,8 +85,46 @@ public class ToDefinition extends SendDe
     }
 
     @Override
+    public Processor createProcessor(RouteContext routeContext) throws Exception {
+        if (async == null || !async) {
+            // when sync then let super create the processor
+            return super.createProcessor(routeContext);
+        }
+
+        // this code below is only for creating when async is enabled
+        // ----------------------------------------------------------
+
+        // create the child processor which is the async route
+        Processor childProcessor = this.createChildProcessor(routeContext, false);
+
+        // wrap it in a unit of work so the route that comes next is also done in a unit of work
+        UnitOfWorkProcessor uow = new UnitOfWorkProcessor(routeContext, childProcessor);
+
+        // create async processor
+        Endpoint endpoint = resolveEndpoint(routeContext);
+
+        // TODO: rework to have configured executor service in SendAsyncProcessor being handled in stop/start scenario
+
+        SendAsyncProcessor async = new SendAsyncProcessor(endpoint, getPattern(), uow);
+
+        executorService = ExecutorServiceHelper.getConfiguredExecutorService(routeContext, "ToAsync", this);
+        if (executorService != null) {
+            async.setExecutorService(executorService);
+        }
+        if (poolSize != null) {
+            async.setPoolSize(poolSize);
+        }
+
+        return async;
+    }
+
+    @Override
     public String toString() {
-        return "To[" + getLabel() + "]";
+        if (async != null && async) {
+            return "ToAsync[" + getLabel() + "] -> " + getOutputs();
+        } else {
+            return "To[" + getLabel() + "]";
+        }
     }
 
     @Override
@@ -81,6 +137,46 @@ public class ToDefinition extends SendDe
         return pattern;
     }
 
+    @Deprecated
+    public Boolean isAsync() {
+        return async;
+    }
+
+    @Deprecated
+    public void setAsync(Boolean async) {
+        this.async = async;
+    }
+
+    @Deprecated
+    public Integer getPoolSize() {
+        return poolSize;
+    }
+
+    @Deprecated
+    public void setPoolSize(Integer poolSize) {
+        this.poolSize = poolSize;
+    }
+
+    @Deprecated
+    public ExecutorService getExecutorService() {
+        return executorService;
+    }
+
+    @Deprecated
+    public void setExecutorService(ExecutorService executorService) {
+        this.executorService = executorService;
+    }
+
+    @Deprecated
+    public String getExecutorServiceRef() {
+        return executorServiceRef;
+    }
+
+    @Deprecated
+    public void setExecutorServiceRef(String executorServiceRef) {
+        this.executorServiceRef = executorServiceRef;
+    }
+
     /**
      * Sets the optional {@link ExchangePattern} used to invoke this endpoint
      */
@@ -96,4 +192,26 @@ public class ToDefinition extends SendDe
         return this;
     }
 
+    @Deprecated
+    public ToDefinition executorService(ExecutorService executorService) {
+        setExecutorService(executorService);
+        return this;
+    }
+
+    @Deprecated
+    public ToDefinition executorServiceRef(String executorServiceRef) {
+        setExecutorServiceRef(executorServiceRef);
+        return this;
+    }
+
+    /**
+     * Setting the core pool size for the underlying {@link java.util.concurrent.ExecutorService}.
+     *
+     * @return the builder
+     */
+    @Deprecated
+    public ToDefinition poolSize(int poolSize) {
+        setPoolSize(poolSize);
+        return this;
+    }
 }

Copied: camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendAsyncProcessor.java (from r944134, camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendAsyncProcessor.java)
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendAsyncProcessor.java?p2=camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendAsyncProcessor.java&p1=camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendAsyncProcessor.java&r1=944134&r2=945532&rev=945532&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendAsyncProcessor.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendAsyncProcessor.java Tue May 18 08:12:15 2010
@@ -33,16 +33,16 @@ import org.apache.camel.ExchangePattern;
 import org.apache.camel.Navigate;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
-import org.apache.camel.ProducerCallback;
 import org.apache.camel.impl.LoggingExceptionHandler;
-import org.apache.camel.impl.ProducerCache;
 import org.apache.camel.spi.ExceptionHandler;
 import org.apache.camel.util.ExchangeHelper;
 import org.apache.camel.util.ObjectHelper;
 
 /**
  * @version $Revision$
+ * @deprecated will be replaced with a new async routing engine in Camel 2.4
  */
+@Deprecated
 public class SendAsyncProcessor extends SendProcessor implements Runnable, Navigate<Processor> {
     private final CamelContext camelContext;
     private final Processor target;

Modified: camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyContentExchange.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyContentExchange.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyContentExchange.java (original)
+++ camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyContentExchange.java Tue May 18 08:12:15 2010
@@ -44,8 +44,6 @@ import org.eclipse.jetty.io.Buffer;
  */
 public class JettyContentExchange extends ContentExchange {
 
-    // TODO: Use the AsyncCallback API (CAMEL-2723)
-
     private static final transient Log LOG = LogFactory.getLog(JettyContentExchange.class);
 
     private final Map<String, String> headers = new LinkedHashMap<String, String>();

Modified: camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpProducer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpProducer.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpProducer.java (original)
+++ camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpProducer.java Tue May 18 08:12:15 2010
@@ -67,18 +67,11 @@ public class JettyHttpProducer extends D
         sendSynchronous(exchange, client, httpExchange);
     }
 
-    public boolean process(Exchange exchange, final AsyncCallback callback) {
+    public void process(Exchange exchange, final AsyncCallback callback) throws Exception {
         HttpClient client = getEndpoint().getClient();
 
-        try {
-            JettyContentExchange httpExchange = createHttpExchange(exchange);
-            sendAsynchronous(exchange, client, httpExchange, callback);
-        } catch (Exception e) {
-            exchange.setException(e);
-        }
-
-        // we should continue processing this asynchronously
-        return false;
+        JettyContentExchange httpExchange = createHttpExchange(exchange);
+        sendAsynchronous(exchange, client, httpExchange, callback);
     }
 
     protected void sendAsynchronous(final Exchange exchange, final HttpClient client, final JettyContentExchange httpExchange,

Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/HttpJettyProducerTwoEndpointTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/HttpJettyProducerTwoEndpointTest.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/HttpJettyProducerTwoEndpointTest.java (original)
+++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/HttpJettyProducerTwoEndpointTest.java Tue May 18 08:12:15 2010
@@ -20,13 +20,11 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Ignore;
 import org.junit.Test;
 
 /**
  * @version $Revision$
  */
-@Ignore
 public class HttpJettyProducerTwoEndpointTest extends CamelTestSupport {
 
     @Test

Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProderReturnFaultTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProderReturnFaultTest.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProderReturnFaultTest.java (original)
+++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProderReturnFaultTest.java Tue May 18 08:12:15 2010
@@ -20,13 +20,11 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Ignore;
 import org.junit.Test;
 
 /**
  * @version $Revision$
  */
-@Ignore
 public class JettyHttpProderReturnFaultTest extends CamelTestSupport {
 
     @Test

Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerAsyncTimeoutTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerAsyncTimeoutTest.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerAsyncTimeoutTest.java (original)
+++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerAsyncTimeoutTest.java Tue May 18 08:12:15 2010
@@ -19,13 +19,11 @@ package org.apache.camel.component.jetty
 import org.apache.camel.ExchangeTimedOutException;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Ignore;
 import org.junit.Test;
 
 /**
  * @version $Revision$
  */
-@Ignore
 public class JettyHttpProducerAsyncTimeoutTest extends CamelTestSupport {
 
     private String url = "jetty://http://0.0.0.0:9123/timeout?httpClient.timeout=2000";
@@ -57,7 +55,7 @@ public class JettyHttpProducerAsyncTimeo
                 onException(Exception.class).handled(true).to("mock:error");
                 onException(ExchangeTimedOutException.class).handled(true).to("mock:timeout");
 
-                from("direct:start").to(url).to("mock:result");
+                from("direct:start").toAsync(url).to("mock:result");
 
                 from(url).delay(5000).transform(constant("Bye World"));
             }

Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerAsynchronousTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerAsynchronousTest.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerAsynchronousTest.java (original)
+++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerAsynchronousTest.java Tue May 18 08:12:15 2010
@@ -23,13 +23,11 @@ import org.apache.camel.Processor;
 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;
 
 /**
  * @version $Revision$
  */
-@Ignore
 public class JettyHttpProducerAsynchronousTest extends CamelTestSupport {
 
     private static String thread1;
@@ -71,7 +69,7 @@ public class JettyHttpProducerAsynchrono
                     public void process(Exchange exchange) throws Exception {
                         thread1 = Thread.currentThread().getName();
                     }
-                }).to(url).process(new Processor() {
+                }).toAsync(url).process(new Processor() {
                     public void process(Exchange exchange) throws Exception {
                         thread2 = Thread.currentThread().getName();
                     }

Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerConcurrentTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerConcurrentTest.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerConcurrentTest.java (original)
+++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerConcurrentTest.java Tue May 18 08:12:15 2010
@@ -27,7 +27,6 @@ import java.util.concurrent.Future;
 
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Ignore;
 import org.junit.Test;
 
 /**
@@ -35,7 +34,6 @@ import org.junit.Test;
  *
  * @version $Revision$
  */
-@Ignore
 public class JettyHttpProducerConcurrentTest extends CamelTestSupport {
 
     @Test

Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerConnectionFailureTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerConnectionFailureTest.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerConnectionFailureTest.java (original)
+++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerConnectionFailureTest.java Tue May 18 08:12:15 2010
@@ -23,13 +23,11 @@ import org.apache.camel.CamelExecutionEx
 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;
 
 /**
  * Unit test to verify that we can have URI options for external system (endpoint is lenient)
  */
-@Ignore
 public class JettyHttpProducerConnectionFailureTest extends CamelTestSupport {
 
     private String serverUri = "jetty://http://localhost:9080/myservice";

Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerContentBasedRouteTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerContentBasedRouteTest.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerContentBasedRouteTest.java (original)
+++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerContentBasedRouteTest.java Tue May 18 08:12:15 2010
@@ -19,13 +19,11 @@ package org.apache.camel.component.jetty
 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;
 
 /**
  * Unit test with a simple route test.
  */
-@Ignore
 public class JettyHttpProducerContentBasedRouteTest extends CamelTestSupport {
 
     private String serverUri = "jetty://http://localhost:9087/myservice";

Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerGetWithParamAsExchangeHeaderTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerGetWithParamAsExchangeHeaderTest.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerGetWithParamAsExchangeHeaderTest.java (original)
+++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerGetWithParamAsExchangeHeaderTest.java Tue May 18 08:12:15 2010
@@ -20,13 +20,11 @@ import org.apache.camel.Exchange;
 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;
 
 /**
  * Unit test to verify that we can have URI options for external system (endpoint is lenient)
  */
-@Ignore
 public class JettyHttpProducerGetWithParamAsExchangeHeaderTest extends CamelTestSupport {
 
     private String serverUri = "jetty://http://localhost:9088/myservice";

Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerGetWithParamTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerGetWithParamTest.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerGetWithParamTest.java (original)
+++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerGetWithParamTest.java Tue May 18 08:12:15 2010
@@ -23,13 +23,11 @@ import org.apache.camel.builder.RouteBui
 import org.apache.camel.component.http.HttpMessage;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Ignore;
 import org.junit.Test;
 
 /**
  * Unit test to verify that we can have URI options for external system (endpoint is lenient)
  */
-@Ignore
 public class JettyHttpProducerGetWithParamTest extends CamelTestSupport {
 
     private String serverUri = "jetty://http://localhost:9086/myservice";

Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerGoogleAsynchronousTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerGoogleAsynchronousTest.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerGoogleAsynchronousTest.java (original)
+++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerGoogleAsynchronousTest.java Tue May 18 08:12:15 2010
@@ -25,7 +25,6 @@ import org.junit.Test;
 /**
  * @version $Revision$
  */
-@Ignore
 public class JettyHttpProducerGoogleAsynchronousTest extends CamelTestSupport {
 
     @Test
@@ -52,7 +51,7 @@ public class JettyHttpProducerGoogleAsyn
             public void configure() throws Exception {
                 from("direct:start")
                     // to prevent redirect being thrown as an exception
-                    .to("jetty://http://www.google.com?throwExceptionOnFailure=false")
+                    .toAsync("jetty://http://www.google.com?throwExceptionOnFailure=false")
                     .to("mock:result");
             }
         };

Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerGoogleTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerGoogleTest.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerGoogleTest.java (original)
+++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerGoogleTest.java Tue May 18 08:12:15 2010
@@ -24,7 +24,6 @@ import org.junit.Test;
 /**
  * @version $Revision$
  */
-@Ignore
 public class JettyHttpProducerGoogleTest extends CamelTestSupport {
 
     @Test

Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerQueryParamTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerQueryParamTest.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerQueryParamTest.java (original)
+++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerQueryParamTest.java Tue May 18 08:12:15 2010
@@ -21,13 +21,11 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Ignore;
 import org.junit.Test;
 
 /**
  * @version $Revision$
  */
-@Ignore
 public class JettyHttpProducerQueryParamTest extends CamelTestSupport {
 
     private String url = "jetty://http://0.0.0.0:9123/cheese";

Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSendFileTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSendFileTest.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSendFileTest.java (original)
+++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSendFileTest.java Tue May 18 08:12:15 2010
@@ -24,13 +24,11 @@ import org.apache.camel.Processor;
 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;
 
 /**
  * @version $Revision$
  */
-@Ignore
 public class JettyHttpProducerSendFileTest extends CamelTestSupport {
 
     @Test

Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSimulate404ErrorTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSimulate404ErrorTest.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSimulate404ErrorTest.java (original)
+++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSimulate404ErrorTest.java Tue May 18 08:12:15 2010
@@ -21,13 +21,11 @@ import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.http.HttpOperationFailedException;
 import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Ignore;
 import org.junit.Test;
 
 /**
  * @version $Revision$
  */
-@Ignore
 public class JettyHttpProducerSimulate404ErrorTest extends CamelTestSupport {
 
     private String url = "jetty://http://0.0.0.0:9123/bar";

Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSlowResponseTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSlowResponseTest.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSlowResponseTest.java (original)
+++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSlowResponseTest.java Tue May 18 08:12:15 2010
@@ -23,13 +23,11 @@ import org.apache.camel.Processor;
 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;
 
 /**
  * @version $Revision$
  */
-@Ignore
 public class JettyHttpProducerSlowResponseTest extends CamelTestSupport {
 
     private String url = "jetty://http://0.0.0.0:9321/foo";

Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSuspendResumeTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSuspendResumeTest.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSuspendResumeTest.java (original)
+++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSuspendResumeTest.java Tue May 18 08:12:15 2010
@@ -20,13 +20,11 @@ import org.apache.camel.builder.RouteBui
 import org.apache.camel.component.http.HttpConsumer;
 import org.apache.camel.component.http.HttpOperationFailedException;
 import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Ignore;
 import org.junit.Test;
 
 /**
  * @version $Revision$
  */
-@Ignore
 public class JettyHttpProducerSuspendResumeTest extends CamelTestSupport {
 
     private String serverUri = "jetty://http://localhost:9286/cool";

Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSuspendTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSuspendTest.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSuspendTest.java (original)
+++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSuspendTest.java Tue May 18 08:12:15 2010
@@ -20,13 +20,11 @@ import org.apache.camel.builder.RouteBui
 import org.apache.camel.component.http.HttpConsumer;
 import org.apache.camel.component.http.HttpOperationFailedException;
 import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Ignore;
 import org.junit.Test;
 
 /**
  * @version $Revision$
  */
-@Ignore
 public class JettyHttpProducerSuspendTest extends CamelTestSupport {
 
     private String serverUri = "jetty://http://localhost:9287/cool";

Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSuspendWhileInProgressTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSuspendWhileInProgressTest.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSuspendWhileInProgressTest.java (original)
+++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerSuspendWhileInProgressTest.java Tue May 18 08:12:15 2010
@@ -24,7 +24,6 @@ import org.apache.camel.RuntimeCamelExce
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.http.HttpOperationFailedException;
 import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import static org.apache.camel.language.simple.SimpleLanguage.simple;
@@ -32,7 +31,6 @@ import static org.apache.camel.language.
 /**
  * @version $Revision$
  */
-@Ignore
 public class JettyHttpProducerSuspendWhileInProgressTest extends CamelTestSupport {
 
     private String serverUri = "jetty://http://localhost:9285/cool";

Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerTimeoutTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerTimeoutTest.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerTimeoutTest.java (original)
+++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerTimeoutTest.java Tue May 18 08:12:15 2010
@@ -19,13 +19,11 @@ package org.apache.camel.component.jetty
 import org.apache.camel.ExchangeTimedOutException;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Ignore;
 import org.junit.Test;
 
 /**
  * @version $Revision$
  */
-@Ignore
 public class JettyHttpProducerTimeoutTest extends CamelTestSupport {
 
     private String url = "jetty://http://0.0.0.0:9123/timeout?httpClient.timeout=2000";

Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpsProducerRouteSetupWithSystemPropsTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpsProducerRouteSetupWithSystemPropsTest.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpsProducerRouteSetupWithSystemPropsTest.java (original)
+++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpsProducerRouteSetupWithSystemPropsTest.java Tue May 18 08:12:15 2010
@@ -22,9 +22,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.junit.Before;
-import org.junit.Ignore;
 
-@Ignore
 public class JettyHttpsProducerRouteSetupWithSystemPropsTest extends JettyProducerHttpsRouteTest {
 
     @Override

Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyProducerHandle404Test.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyProducerHandle404Test.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyProducerHandle404Test.java (original)
+++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyProducerHandle404Test.java Tue May 18 08:12:15 2010
@@ -17,14 +17,12 @@
 package org.apache.camel.component.jetty.jettyproducer;
 
 import org.apache.camel.component.jetty.JettyHandle404Test;
-import org.junit.Ignore;
 
 /**
  * Based on end user on forum how to get the 404 error code in his enrich aggregator
  *
  * @version $Revision$
  */
-@Ignore
 public class JettyProducerHandle404Test extends JettyHandle404Test {
 
     public String getProducerUrl() {

Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyProducerHttpsRouteTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyProducerHttpsRouteTest.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyProducerHttpsRouteTest.java (original)
+++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyProducerHttpsRouteTest.java Tue May 18 08:12:15 2010
@@ -19,10 +19,8 @@ package org.apache.camel.component.jetty
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.component.jetty.HttpsRouteTest;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.junit.Ignore;
 import org.junit.Test;
 
-@Ignore
 public class JettyProducerHttpsRouteTest extends HttpsRouteTest {
 
     public String getHttpProducerScheme() {

Modified: camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java?rev=945532&r1=945531&r2=945532&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java (original)
+++ camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelContextFactoryBean.java Tue May 18 08:12:15 2010
@@ -57,6 +57,7 @@ import org.apache.camel.model.RouteConta
 import org.apache.camel.model.RouteContextRefDefinition;
 import org.apache.camel.model.RouteDefinition;
 import org.apache.camel.model.ThreadPoolProfileDefinition;
+import org.apache.camel.model.ToDefinition;
 import org.apache.camel.model.TransactedDefinition;
 import org.apache.camel.model.config.PropertiesDefinition;
 import org.apache.camel.model.dataformat.DataFormatsDefinition;
@@ -75,6 +76,7 @@ import org.apache.camel.spi.LifecycleStr
 import org.apache.camel.spi.ManagementStrategy;
 import org.apache.camel.spi.PackageScanClassResolver;
 import org.apache.camel.spi.Registry;
+import org.apache.camel.spi.RouteContext;
 import org.apache.camel.spi.ShutdownStrategy;
 import org.apache.camel.spi.ThreadPoolProfile;
 import org.apache.camel.util.CamelContextHelper;
@@ -364,6 +366,9 @@ public class CamelContextFactoryBean ext
 
             prepareRouteForInit(route, abstracts, lower);
 
+            // toAsync should fix up itself at first
+            initToAsync(lower);
+
             // interceptors should be first for the cross cutting concerns
             initInterceptors(route, upper);
             // then on completion
@@ -430,6 +435,33 @@ public class CamelContextFactoryBean ext
         }
     }
 
+    private void initToAsync(List<ProcessorDefinition> lower) {
+        List<ProcessorDefinition> outputs = new ArrayList<ProcessorDefinition>();
+        ToDefinition toAsync = null;
+
+        for (ProcessorDefinition output : lower) {
+            if (toAsync != null) {
+                // add this output on toAsync
+                toAsync.getOutputs().add(output);
+            } else {
+                // regular outputs
+                outputs.add(output);
+            }
+
+            if (output instanceof ToDefinition) {
+                ToDefinition to = (ToDefinition) output;
+                if (to.isAsync() != null && to.isAsync()) {
+                    // new current to async
+                    toAsync = to;
+                }
+            }
+        }
+
+        // rebuild outputs
+        lower.clear();
+        lower.addAll(outputs);
+    }
+
     private void initOnExceptions(List<ProcessorDefinition> abstracts, List<ProcessorDefinition> upper) {
         // add global on exceptions if any
         if (onExceptions != null && !onExceptions.isEmpty()) {