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

git commit: Polished some XyzConcurrentTests a bit.

Updated Branches:
  refs/heads/master b8c6b0697 -> ce0091e22


Polished some XyzConcurrentTests a bit.

Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/ce0091e2
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/ce0091e2
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/ce0091e2

Branch: refs/heads/master
Commit: ce0091e22d9cbd818368a6a7329d56f1a793966a
Parents: b8c6b06
Author: Babak Vahdat <bv...@apache.org>
Authored: Wed Oct 16 11:17:58 2013 +0200
Committer: Babak Vahdat <bv...@apache.org>
Committed: Wed Oct 16 11:17:58 2013 +0200

----------------------------------------------------------------------
 .../camel/component/http4/HttpConcurrentTest.java    | 14 ++++++++------
 .../component/jdbc/JdbcProducerConcurrenctTest.java  | 14 ++++++++------
 .../component/jetty/HttpProducerConcurrentTest.java  |  8 +++++---
 .../JettyHttpProducerConcurrentTest.java             |  8 +++++---
 .../camel/component/jpa/AbstractJpaMethodTest.java   |  2 +-
 .../jpa/JpaWithNamedQueryAndParametersTest.java      |  4 ----
 .../mina/MinaProducerAnotherConcurrentTest.java      |  8 +++++---
 .../component/mina/MinaProducerConcurrentTest.java   |  8 +++++---
 .../mina2/Mina2ProducerAnotherConcurrentTest.java    | 13 +++++++------
 .../component/mina2/Mina2ProducerConcurrentTest.java | 15 ++++++++-------
 .../netty/http/NettyHttpProducerConcurrentTest.java  |  8 +++++---
 .../camel/component/netty/NettyConcurrentTest.java   |  8 +++++---
 .../camel/component/netty4/NettyConcurrentTest.java  |  8 +++++---
 .../restlet/RestletProducerConcurrentTest.java       | 13 +++++++------
 .../camel/component/restlet/RestletTestSupport.java  |  2 +-
 .../component/sql/SqlProducerConcurrentTest.java     | 15 ++++++++-------
 .../itest/netty/NettyAsyncRequestReplyTest.java      |  8 +++++---
 17 files changed, 88 insertions(+), 68 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/ce0091e2/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpConcurrentTest.java
----------------------------------------------------------------------
diff --git a/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpConcurrentTest.java b/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpConcurrentTest.java
index 11b950e..478cab9 100644
--- a/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpConcurrentTest.java
+++ b/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpConcurrentTest.java
@@ -17,11 +17,11 @@
 package org.apache.camel.component.http4;
 
 import java.io.IOException;
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
@@ -71,11 +71,13 @@ public class HttpConcurrentTest extends BaseHttpTest {
 
     private void doSendMessages(int files, int poolSize) throws Exception {
         ExecutorService executor = Executors.newFixedThreadPool(poolSize);
-        Map<Integer, Future<Object>> responses = new ConcurrentHashMap<Integer, Future<Object>>();
+        // we access the responses Map below only inside the main thread,
+        // so no need for a thread-safe Map implementation
+        Map<Integer, Future<String>> responses = new HashMap<Integer, Future<String>>();
         for (int i = 0; i < files; i++) {
             final int index = i;
-            Future<Object> out = executor.submit(new Callable<Object>() {
-                public Object call() throws Exception {
+            Future<String> out = executor.submit(new Callable<String>() {
+                public String call() throws Exception {
                     return template.requestBody("http4://" + getHostName() + ":" + getPort(), null, String.class);
                 }
             });
@@ -85,8 +87,8 @@ public class HttpConcurrentTest extends BaseHttpTest {
         assertEquals(files, responses.size());
 
         // get all responses
-        Set<Object> unique = new HashSet<Object>();
-        for (Future<Object> future : responses.values()) {
+        Set<String> unique = new HashSet<String>();
+        for (Future<String> future : responses.values()) {
             unique.add(future.get());
         }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/ce0091e2/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcProducerConcurrenctTest.java
----------------------------------------------------------------------
diff --git a/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcProducerConcurrenctTest.java b/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcProducerConcurrenctTest.java
index d4052e4..76f1ce8 100644
--- a/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcProducerConcurrenctTest.java
+++ b/components/camel-jdbc/src/test/java/org/apache/camel/component/jdbc/JdbcProducerConcurrenctTest.java
@@ -16,10 +16,10 @@
  */
 package org.apache.camel.component.jdbc;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
@@ -49,13 +49,15 @@ public class JdbcProducerConcurrenctTest extends AbstractJdbcTestSupport {
         mock.expectedMessageCount(files);
 
         ExecutorService executor = Executors.newFixedThreadPool(poolSize);
-        Map<Integer, Future<Object>> responses = new ConcurrentHashMap<Integer, Future<Object>>();
+        // we access the responses Map below only inside the main thread,
+        // so no need for a thread-safe Map implementation
+        Map<Integer, Future<List<?>>> responses = new HashMap<Integer, Future<List<?>>>();
         for (int i = 0; i < files; i++) {
             final int index = i;
-            Future<Object> out = executor.submit(new Callable<Object>() {
-                public Object call() throws Exception {
+            Future<List<?>> out = executor.submit(new Callable<List<?>>() {
+                public List<?> call() throws Exception {
                     int id = (index % 2) + 1;
-                    return template.requestBody("direct:start", "select * from customer where id = 'cust" + id + "'");
+                    return template.requestBody("direct:start", "select * from customer where id = 'cust" + id + "'", List.class);
                 }
             });
             responses.put(index, out);
@@ -65,7 +67,7 @@ public class JdbcProducerConcurrenctTest extends AbstractJdbcTestSupport {
         assertEquals(files, responses.size());
 
         for (int i = 0; i < files; i++) {
-            List rows = (List) responses.get(i).get();
+            List<?> rows = responses.get(i).get();
             Map columns = (Map) rows.get(0);
             if (i % 2 == 0) {
                 assertEquals("jstrachan", columns.get("NAME"));

http://git-wip-us.apache.org/repos/asf/camel/blob/ce0091e2/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpProducerConcurrentTest.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpProducerConcurrentTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpProducerConcurrentTest.java
index ab20da4..a9361eb 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpProducerConcurrentTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpProducerConcurrentTest.java
@@ -16,11 +16,11 @@
  */
 package org.apache.camel.component.jetty;
 
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
@@ -50,7 +50,9 @@ public class HttpProducerConcurrentTest extends BaseJettyTest {
         getMockEndpoint("mock:result").assertNoDuplicates(body());
 
         ExecutorService executor = Executors.newFixedThreadPool(poolSize);
-        Map<Integer, Future<String>> responses = new ConcurrentHashMap<Integer, Future<String>>();
+        // we access the responses Map below only inside the main thread,
+        // so no need for a thread-safe Map implementation
+        Map<Integer, Future<String>> responses = new HashMap<Integer, Future<String>>();
         for (int i = 0; i < files; i++) {
             final int index = i;
             Future<String> out = executor.submit(new Callable<String>() {
@@ -66,7 +68,7 @@ public class HttpProducerConcurrentTest extends BaseJettyTest {
         assertEquals(files, responses.size());
 
         // get all responses
-        Set<Object> unique = new HashSet<Object>();
+        Set<String> unique = new HashSet<String>();
         for (Future<String> future : responses.values()) {
             unique.add(future.get());
         }

http://git-wip-us.apache.org/repos/asf/camel/blob/ce0091e2/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerConcurrentTest.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerConcurrentTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerConcurrentTest.java
index 05c844e..7289539 100644
--- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerConcurrentTest.java
+++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/jettyproducer/JettyHttpProducerConcurrentTest.java
@@ -16,11 +16,11 @@
  */
 package org.apache.camel.component.jetty.jettyproducer;
 
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
@@ -67,7 +67,9 @@ public class JettyHttpProducerConcurrentTest extends BaseJettyTest {
         getMockEndpoint("mock:result").assertNoDuplicates(body());
 
         ExecutorService executor = Executors.newFixedThreadPool(poolSize);
-        Map<Integer, Future<String>> responses = new ConcurrentHashMap<Integer, Future<String>>();
+        // we access the responses Map below only inside the main thread,
+        // so no need for a thread-safe Map implementation
+        Map<Integer, Future<String>> responses = new HashMap<Integer, Future<String>>();
         for (int i = 0; i < files; i++) {
             final int index = i;
             Future<String> out = executor.submit(new Callable<String>() {
@@ -83,7 +85,7 @@ public class JettyHttpProducerConcurrentTest extends BaseJettyTest {
         assertEquals(files, responses.size());
 
         // get all responses
-        Set<Object> unique = new HashSet<Object>();
+        Set<String> unique = new HashSet<String>();
         for (Future<String> future : responses.values()) {
             unique.add(future.get());
         }

http://git-wip-us.apache.org/repos/asf/camel/blob/ce0091e2/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/AbstractJpaMethodTest.java
----------------------------------------------------------------------
diff --git a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/AbstractJpaMethodTest.java b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/AbstractJpaMethodTest.java
index 1f6b939..6f8db08 100644
--- a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/AbstractJpaMethodTest.java
+++ b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/AbstractJpaMethodTest.java
@@ -84,7 +84,7 @@ public abstract class AbstractJpaMethodTest extends CamelTestSupport {
         List<Customer> customers = new ArrayList<Customer>();
         customers.add(createDefaultCustomer());
         customers.add(createDefaultCustomer());
-        List returnedCustomers = template.requestBody(endpoint, customers, List.class);
+        List<?> returnedCustomers = template.requestBody(endpoint, customers, List.class);
         
         assertEquals(2, returnedCustomers.size());
         

http://git-wip-us.apache.org/repos/asf/camel/blob/ce0091e2/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithNamedQueryAndParametersTest.java
----------------------------------------------------------------------
diff --git a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithNamedQueryAndParametersTest.java b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithNamedQueryAndParametersTest.java
index 1af0632..8494cc6 100644
--- a/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithNamedQueryAndParametersTest.java
+++ b/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaWithNamedQueryAndParametersTest.java
@@ -22,7 +22,6 @@ import java.util.Map;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 import javax.persistence.EntityManager;
-import javax.persistence.PersistenceException;
 
 import org.apache.camel.Consumer;
 import org.apache.camel.Endpoint;
@@ -39,13 +38,10 @@ import org.junit.Before;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.orm.jpa.JpaCallback;
 import org.springframework.transaction.TransactionStatus;
 import org.springframework.transaction.support.TransactionCallback;
 import org.springframework.transaction.support.TransactionTemplate;
 
-import static org.apache.camel.util.ServiceHelper.startServices;
-
 public class JpaWithNamedQueryAndParametersTest extends Assert {
     
     protected static final Logger LOG = LoggerFactory.getLogger(JpaWithNamedQueryAndParametersTest.class);

http://git-wip-us.apache.org/repos/asf/camel/blob/ce0091e2/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaProducerAnotherConcurrentTest.java
----------------------------------------------------------------------
diff --git a/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaProducerAnotherConcurrentTest.java b/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaProducerAnotherConcurrentTest.java
index 3dd46e8..5f29c8c 100644
--- a/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaProducerAnotherConcurrentTest.java
+++ b/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaProducerAnotherConcurrentTest.java
@@ -16,9 +16,9 @@
  */
 package org.apache.camel.component.mina;
 
+import java.util.HashMap;
 import java.util.Map;
 import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
@@ -53,7 +53,9 @@ public class MinaProducerAnotherConcurrentTest extends BaseMinaTest {
         getMockEndpoint("mock:result").expectedMessageCount(files);
 
         ExecutorService executor = Executors.newFixedThreadPool(poolSize);
-        Map<Integer, Future<String>> responses = new ConcurrentHashMap<Integer, Future<String>>();
+        // we access the responses Map below only inside the main thread,
+        // so no need for a thread-safe Map implementation
+        Map<Integer, Future<String>> responses = new HashMap<Integer, Future<String>>();
         for (int i = 0; i < files; i++) {
             final int index = i;
             Future<String> out = executor.submit(new Callable<String>() {
@@ -68,7 +70,7 @@ public class MinaProducerAnotherConcurrentTest extends BaseMinaTest {
         assertEquals(files, responses.size());
 
         for (int i = 0; i < files; i++) {
-            Object out = responses.get(i).get();
+            String out = responses.get(i).get();
             assertEquals("Bye " + i, out);
         }
         executor.shutdownNow();

http://git-wip-us.apache.org/repos/asf/camel/blob/ce0091e2/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaProducerConcurrentTest.java
----------------------------------------------------------------------
diff --git a/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaProducerConcurrentTest.java b/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaProducerConcurrentTest.java
index 73e9863..9b9d7fc 100644
--- a/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaProducerConcurrentTest.java
+++ b/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaProducerConcurrentTest.java
@@ -16,11 +16,11 @@
  */
 package org.apache.camel.component.mina;
 
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
@@ -49,7 +49,9 @@ public class MinaProducerConcurrentTest extends BaseMinaTest {
         getMockEndpoint("mock:result").expectedMessageCount(files);
 
         ExecutorService executor = Executors.newFixedThreadPool(poolSize);
-        Map<Integer, Future<String>> responses = new ConcurrentHashMap<Integer, Future<String>>();
+        // we access the responses Map below only inside the main thread,
+        // so no need for a thread-safe Map implementation
+        Map<Integer, Future<String>> responses = new HashMap<Integer, Future<String>>();
         for (int i = 0; i < files; i++) {
             final int index = i;
             Future<String> out = executor.submit(new Callable<String>() {
@@ -64,7 +66,7 @@ public class MinaProducerConcurrentTest extends BaseMinaTest {
         assertEquals(files, responses.size());
 
         // get all responses
-        Set<Object> unique = new HashSet<Object>();
+        Set<String> unique = new HashSet<String>();
         for (Future<String> future : responses.values()) {
             unique.add(future.get());
         }

http://git-wip-us.apache.org/repos/asf/camel/blob/ce0091e2/components/camel-mina2/src/test/java/org/apache/camel/component/mina2/Mina2ProducerAnotherConcurrentTest.java
----------------------------------------------------------------------
diff --git a/components/camel-mina2/src/test/java/org/apache/camel/component/mina2/Mina2ProducerAnotherConcurrentTest.java b/components/camel-mina2/src/test/java/org/apache/camel/component/mina2/Mina2ProducerAnotherConcurrentTest.java
index ca9e9a6..c2f2f7e 100644
--- a/components/camel-mina2/src/test/java/org/apache/camel/component/mina2/Mina2ProducerAnotherConcurrentTest.java
+++ b/components/camel-mina2/src/test/java/org/apache/camel/component/mina2/Mina2ProducerAnotherConcurrentTest.java
@@ -16,9 +16,9 @@
  */
 package org.apache.camel.component.mina2;
 
+import java.util.HashMap;
 import java.util.Map;
 import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
@@ -53,12 +53,13 @@ public class Mina2ProducerAnotherConcurrentTest extends BaseMina2Test {
         getMockEndpoint("mock:result").expectedMessageCount(files);
 
         ExecutorService executor = Executors.newFixedThreadPool(poolSize);
-        Map<Integer, Future<Object>> responses = new ConcurrentHashMap<Integer, Future<Object>>();
+        // we access the responses Map below only inside the main thread,
+        // so no need for a thread-safe Map implementation
+        Map<Integer, Future<String>> responses = new HashMap<Integer, Future<String>>();
         for (int i = 0; i < files; i++) {
             final int index = i;
-            Future<Object> out = executor.submit(new Callable<Object>() {
-
-                public Object call() throws Exception {
+            Future<String> out = executor.submit(new Callable<String>() {
+                public String call() throws Exception {
                     return template.requestBody("direct:start", index, String.class);
                 }
             });
@@ -69,7 +70,7 @@ public class Mina2ProducerAnotherConcurrentTest extends BaseMina2Test {
         assertEquals(files, responses.size());
 
         for (int i = 0; i < files; i++) {
-            Object out = responses.get(i).get();
+            String out = responses.get(i).get();
             assertEquals("Bye " + i, out);
         }
         executor.shutdownNow();

http://git-wip-us.apache.org/repos/asf/camel/blob/ce0091e2/components/camel-mina2/src/test/java/org/apache/camel/component/mina2/Mina2ProducerConcurrentTest.java
----------------------------------------------------------------------
diff --git a/components/camel-mina2/src/test/java/org/apache/camel/component/mina2/Mina2ProducerConcurrentTest.java b/components/camel-mina2/src/test/java/org/apache/camel/component/mina2/Mina2ProducerConcurrentTest.java
index 96430da..7c0910f 100644
--- a/components/camel-mina2/src/test/java/org/apache/camel/component/mina2/Mina2ProducerConcurrentTest.java
+++ b/components/camel-mina2/src/test/java/org/apache/camel/component/mina2/Mina2ProducerConcurrentTest.java
@@ -16,11 +16,11 @@
  */
 package org.apache.camel.component.mina2;
 
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
@@ -49,12 +49,13 @@ public class Mina2ProducerConcurrentTest extends BaseMina2Test {
         getMockEndpoint("mock:result").expectedMessageCount(files);
 
         ExecutorService executor = Executors.newFixedThreadPool(poolSize);
-        Map<Integer, Future<Object>> responses = new ConcurrentHashMap<Integer, Future<Object>>();
+        // we access the responses Map below only inside the main thread,
+        // so no need for a thread-safe Map implementation
+        Map<Integer, Future<String>> responses = new HashMap<Integer, Future<String>>();
         for (int i = 0; i < files; i++) {
             final int index = i;
-            Future<Object> out = executor.submit(new Callable<Object>() {
-
-                public Object call() throws Exception {
+            Future<String> out = executor.submit(new Callable<String>() {
+                public String call() throws Exception {
                     return template.requestBody(String.format("mina2:tcp://localhost:%1$s?sync=true", getPort()), index, String.class);
                 }
             });
@@ -65,8 +66,8 @@ public class Mina2ProducerConcurrentTest extends BaseMina2Test {
         assertEquals(files, responses.size());
 
         // get all responses
-        Set<Object> unique = new HashSet<Object>();
-        for (Future<Object> future : responses.values()) {
+        Set<String> unique = new HashSet<String>();
+        for (Future<String> future : responses.values()) {
             unique.add(future.get());
         }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/ce0091e2/components/camel-netty-http/src/test/java/org/apache/camel/component/netty/http/NettyHttpProducerConcurrentTest.java
----------------------------------------------------------------------
diff --git a/components/camel-netty-http/src/test/java/org/apache/camel/component/netty/http/NettyHttpProducerConcurrentTest.java b/components/camel-netty-http/src/test/java/org/apache/camel/component/netty/http/NettyHttpProducerConcurrentTest.java
index 7f54ddf..2e4b032 100644
--- a/components/camel-netty-http/src/test/java/org/apache/camel/component/netty/http/NettyHttpProducerConcurrentTest.java
+++ b/components/camel-netty-http/src/test/java/org/apache/camel/component/netty/http/NettyHttpProducerConcurrentTest.java
@@ -16,11 +16,11 @@
  */
 package org.apache.camel.component.netty.http;
 
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
@@ -45,7 +45,9 @@ public class NettyHttpProducerConcurrentTest extends BaseNettyTest {
         getMockEndpoint("mock:result").assertNoDuplicates(body());
 
         ExecutorService executor = Executors.newFixedThreadPool(poolSize);
-        Map<Integer, Future<String>> responses = new ConcurrentHashMap<Integer, Future<String>>();
+        // we access the responses Map below only inside the main thread,
+        // so no need for a thread-safe Map implementation
+        Map<Integer, Future<String>> responses = new HashMap<Integer, Future<String>>();
         for (int i = 0; i < files; i++) {
             final int index = i;
             Future<String> out = executor.submit(new Callable<String>() {
@@ -61,7 +63,7 @@ public class NettyHttpProducerConcurrentTest extends BaseNettyTest {
         assertEquals(files, responses.size());
 
         // get all responses
-        Set<Object> unique = new HashSet<Object>();
+        Set<String> unique = new HashSet<String>();
         for (Future<String> future : responses.values()) {
             unique.add(future.get());
         }

http://git-wip-us.apache.org/repos/asf/camel/blob/ce0091e2/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyConcurrentTest.java
----------------------------------------------------------------------
diff --git a/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyConcurrentTest.java b/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyConcurrentTest.java
index b05a74d..7cce6db 100644
--- a/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyConcurrentTest.java
+++ b/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyConcurrentTest.java
@@ -16,11 +16,11 @@
  */
 package org.apache.camel.component.netty;
 
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
@@ -57,7 +57,9 @@ public class NettyConcurrentTest extends BaseNettyTest {
         NotifyBuilder notify = new NotifyBuilder(context).whenDone(files).create();
 
         ExecutorService executor = Executors.newFixedThreadPool(poolSize);
-        Map<Integer, Future<String>> responses = new ConcurrentHashMap<Integer, Future<String>>();
+        // we access the responses Map below only inside the main thread,
+        // so no need for a thread-safe Map implementation
+        Map<Integer, Future<String>> responses = new HashMap<Integer, Future<String>>();
         for (int i = 0; i < files; i++) {
             final int index = i;
             Future<String> out = executor.submit(new Callable<String>() {
@@ -76,7 +78,7 @@ public class NettyConcurrentTest extends BaseNettyTest {
         assertEquals(files, responses.size());
 
         // get all responses
-        Set<Object> unique = new HashSet<Object>();
+        Set<String> unique = new HashSet<String>();
         for (Future<String> future : responses.values()) {
             unique.add(future.get());
         }

http://git-wip-us.apache.org/repos/asf/camel/blob/ce0091e2/components/camel-netty4/src/test/java/org/apache/camel/component/netty4/NettyConcurrentTest.java
----------------------------------------------------------------------
diff --git a/components/camel-netty4/src/test/java/org/apache/camel/component/netty4/NettyConcurrentTest.java b/components/camel-netty4/src/test/java/org/apache/camel/component/netty4/NettyConcurrentTest.java
index f0d2c7d..123f557 100644
--- a/components/camel-netty4/src/test/java/org/apache/camel/component/netty4/NettyConcurrentTest.java
+++ b/components/camel-netty4/src/test/java/org/apache/camel/component/netty4/NettyConcurrentTest.java
@@ -16,11 +16,11 @@
  */
 package org.apache.camel.component.netty4;
 
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
@@ -57,7 +57,9 @@ public class NettyConcurrentTest extends BaseNettyTest {
         NotifyBuilder notify = new NotifyBuilder(context).whenDone(files).create();
 
         ExecutorService executor = Executors.newFixedThreadPool(poolSize);
-        Map<Integer, Future<String>> responses = new ConcurrentHashMap<Integer, Future<String>>();
+        // we access the responses Map below only inside the main thread,
+        // so no need for a thread-safe Map implementation
+        Map<Integer, Future<String>> responses = new HashMap<Integer, Future<String>>();
         for (int i = 0; i < files; i++) {
             final int index = i;
             Future<String> out = executor.submit(new Callable<String>() {
@@ -76,7 +78,7 @@ public class NettyConcurrentTest extends BaseNettyTest {
         assertEquals(files, responses.size());
 
         // get all responses
-        Set<Object> unique = new HashSet<Object>();
+        Set<String> unique = new HashSet<String>();
         for (Future<String> future : responses.values()) {
             unique.add(future.get());
         }

http://git-wip-us.apache.org/repos/asf/camel/blob/ce0091e2/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletProducerConcurrentTest.java
----------------------------------------------------------------------
diff --git a/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletProducerConcurrentTest.java b/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletProducerConcurrentTest.java
index f9ae6ba..8539a96 100644
--- a/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletProducerConcurrentTest.java
+++ b/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletProducerConcurrentTest.java
@@ -21,7 +21,6 @@ import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
@@ -52,11 +51,13 @@ public class RestletProducerConcurrentTest extends RestletTestSupport {
         getMockEndpoint("mock:result").expectedMessageCount(files);
 
         ExecutorService executor = Executors.newFixedThreadPool(poolSize);
-        Map<Integer, Future<?>> responses = new ConcurrentHashMap<Integer, Future<?>>();
+        // we access the responses Map below only inside the main thread,
+        // so no need for a thread-safe Map implementation
+        Map<Integer, Future<String>> responses = new HashMap<Integer, Future<String>>();
         for (int i = 0; i < files; i++) {
             final int index = i;
-            Future<?> out = executor.submit(new Callable<Object>() {
-                public Object call() throws Exception {
+            Future<String> out = executor.submit(new Callable<String>() {
+                public String call() throws Exception {
                     Map<String, Object> headers = new HashMap<String, Object>();
                     headers.put("username", "davsclaus");
                     headers.put("id", index);
@@ -72,8 +73,8 @@ public class RestletProducerConcurrentTest extends RestletTestSupport {
         assertEquals(files, responses.size());
 
         // get all responses
-        Set<Object> unique = new HashSet<Object>();
-        for (Future<?> future : responses.values()) {
+        Set<String> unique = new HashSet<String>();
+        for (Future<String> future : responses.values()) {
             unique.add(future.get());
         }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/ce0091e2/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletTestSupport.java
----------------------------------------------------------------------
diff --git a/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletTestSupport.java b/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletTestSupport.java
index 1975cb0..f1ddf06 100644
--- a/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletTestSupport.java
+++ b/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestletTestSupport.java
@@ -34,7 +34,7 @@ import org.junit.BeforeClass;
  * @version 
  */
 public abstract class RestletTestSupport extends CamelTestSupport {
-    public static int portNum;
+    protected static int portNum;
     
     @BeforeClass
     public static void initializePortNum() {

http://git-wip-us.apache.org/repos/asf/camel/blob/ce0091e2/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlProducerConcurrentTest.java
----------------------------------------------------------------------
diff --git a/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlProducerConcurrentTest.java b/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlProducerConcurrentTest.java
index cf4d7f1..f0c9428 100755
--- a/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlProducerConcurrentTest.java
+++ b/components/camel-sql/src/test/java/org/apache/camel/component/sql/SqlProducerConcurrentTest.java
@@ -16,10 +16,10 @@
  */
 package org.apache.camel.component.sql;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
@@ -58,14 +58,15 @@ public class SqlProducerConcurrentTest extends CamelTestSupport {
         mockEndpoint.expectedMessageCount(files);
 
         ExecutorService executor = Executors.newFixedThreadPool(poolSize);
-        Map<Integer, Future<?>> responses = new ConcurrentHashMap<Integer, Future<?>>();
-
+        // we access the responses Map below only inside the main thread,
+        // so no need for a thread-safe Map implementation
+        Map<Integer, Future<List<?>>> responses = new HashMap<Integer, Future<List<?>>>();
         for (int i = 0; i < files; i++) {
             final int index = i;
-            Future<?> out = executor.submit(new Callable<Object>() {
-                public Object call() throws Exception {
+            Future<List<?>> out = executor.submit(new Callable<List<?>>() {
+                public List<?> call() throws Exception {
                     int id = (index % 3) + 1;
-                    return template.requestBody("direct:simple", "" + id);
+                    return template.requestBody("direct:simple", "" + id, List.class);
                 }
             });
             responses.put(index, out);
@@ -75,7 +76,7 @@ public class SqlProducerConcurrentTest extends CamelTestSupport {
         assertEquals(files, responses.size());
 
         for (int i = 0; i < files; i++) {
-            List<?> rows = assertIsInstanceOf(List.class, responses.get(i).get());
+            List<?> rows = responses.get(i).get();
             Map<?, ?> columns = assertIsInstanceOf(Map.class, rows.get(0));
             if (i % 3 == 0) {
                 assertEquals("Camel", columns.get("PROJECT"));

http://git-wip-us.apache.org/repos/asf/camel/blob/ce0091e2/tests/camel-itest/src/test/java/org/apache/camel/itest/netty/NettyAsyncRequestReplyTest.java
----------------------------------------------------------------------
diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/netty/NettyAsyncRequestReplyTest.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/netty/NettyAsyncRequestReplyTest.java
index 4ccad78..ee3bd60 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/netty/NettyAsyncRequestReplyTest.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/netty/NettyAsyncRequestReplyTest.java
@@ -16,11 +16,11 @@
  */
 package org.apache.camel.itest.netty;
 
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
@@ -55,7 +55,9 @@ public class NettyAsyncRequestReplyTest extends CamelTestSupport {
         int size = 1000;
 
         ExecutorService executor = Executors.newFixedThreadPool(20);
-        Map<Integer, Future<String>> responses = new ConcurrentHashMap<Integer, Future<String>>();
+        // we access the responses Map below only inside the main thread,
+        // so no need for a thread-safe Map implementation
+        Map<Integer, Future<String>> responses = new HashMap<Integer, Future<String>>();
         for (int i = 0; i < size; i++) {
             final int index = i;
             Future<String> out = executor.submit(new Callable<String>() {
@@ -70,7 +72,7 @@ public class NettyAsyncRequestReplyTest extends CamelTestSupport {
         }
 
         // get all responses
-        Set<Object> unique = new HashSet<Object>();
+        Set<String> unique = new HashSet<String>();
         for (Future<String> future : responses.values()) {
             String reply = future.get(120, TimeUnit.SECONDS);
             assertNotNull("Should get a reply", reply);