Index: branches/supervisor/src/main/java/omq/common/util/OmqConnectionFactory.java
===================================================================
--- branches/supervisor/src/main/java/omq/common/util/OmqConnectionFactory.java	(revision 101)
+++ branches/supervisor/src/main/java/omq/common/util/OmqConnectionFactory.java	(revision 102)
@@ -57,4 +57,5 @@
 				working = true;
 			} catch (Exception e) {
+//				e.printStackTrace();
 				logger.error(e);
 				long milis = 2000;
Index: branches/supervisor/src/main/java/omq/common/util/ParameterQueue.java
===================================================================
--- branches/supervisor/src/main/java/omq/common/util/ParameterQueue.java	(revision 101)
+++ branches/supervisor/src/main/java/omq/common/util/ParameterQueue.java	(revision 102)
@@ -132,8 +132,4 @@
 	 */
 
-	/**
-	 * Set how many threads will be created to invoke remote methods
-	 */
-	public static String NUM_THREADS = "omq.num_threads";
 
 	/**
Index: branches/supervisor/src/main/java/omq/server/InvocationThread.java
===================================================================
--- branches/supervisor/src/main/java/omq/server/InvocationThread.java	(revision 101)
+++ branches/supervisor/src/main/java/omq/server/InvocationThread.java	(revision 102)
@@ -157,4 +157,5 @@
 
 		}
+		logger.info("ObjectMQ ('" + obj.getRef() + "') InvocationThread " + Thread.currentThread().getId() + " is killed");
 	}
 
Index: branches/supervisor/src/main/java/omq/server/RemoteThreadPool.java
===================================================================
--- branches/supervisor/src/main/java/omq/server/RemoteThreadPool.java	(revision 101)
+++ branches/supervisor/src/main/java/omq/server/RemoteThreadPool.java	(revision 102)
@@ -4,4 +4,5 @@
 import java.util.ArrayList;
 import java.util.List;
+import java.util.ListIterator;
 import java.util.concurrent.atomic.AtomicInteger;
 
@@ -102,10 +103,7 @@
 		long now = System.currentTimeMillis();
 
-		int i = 0;
-		for (InvocationThread worker : workers) {
-			// Ensure there are at least minThreads available
-			if (workers.size() == minPoolThreads) {
-				break;
-			}
+		ListIterator<InvocationThread> lIter = workers.listIterator();
+		while (workers.size() > minPoolThreads && lIter.hasNext()) {
+			InvocationThread worker = lIter.next();
 			long lastExec = worker.getLastExecution();
 			System.out.println("last - now = " + (now - lastExec) + " keep alive = " + keepAliveTime);
@@ -114,12 +112,10 @@
 				try {
 					worker.kill();
-					workers.remove(i);
+					lIter.remove();
 				} catch (IOException e) {
-					// TODO Auto-generated catch block
-					e.printStackTrace();
+					logger.error(e);
 				}
 
 			}
-			i++;
 		}
 	}
Index: branches/supervisor/src/test/java/omq/test/lock/SleepTest.java
===================================================================
--- branches/supervisor/src/test/java/omq/test/lock/SleepTest.java	(revision 101)
+++ branches/supervisor/src/test/java/omq/test/lock/SleepTest.java	(revision 102)
@@ -20,5 +20,4 @@
 		env.setProperty(ParameterQueue.RABBIT_HOST, "127.0.0.1");
 		env.setProperty(ParameterQueue.RABBIT_PORT, "5672");
-		env.setProperty(ParameterQueue.NUM_THREADS, "1");
 
 		for (int i = 0; i < 4; i++) {
Index: branches/supervisor/src/test/java/omq/test/multiThread/ThreadTest.java
===================================================================
--- branches/supervisor/src/test/java/omq/test/multiThread/ThreadTest.java	(revision 101)
+++ branches/supervisor/src/test/java/omq/test/multiThread/ThreadTest.java	(revision 102)
@@ -73,5 +73,6 @@
 		env.setProperty(ParameterQueue.RPC_EXCHANGE, "rpc_exchange");
 		env.setProperty(ParameterQueue.RETRY_TIME_CONNECTION, "2000");
-		env.setProperty(ParameterQueue.NUM_THREADS, "4");
+		env.setProperty(ParameterQueue.MIN_POOL_THREADS, "4");
+		env.setProperty(ParameterQueue.MAX_POOL_THREADS, "4");
 
 		RemoteMulti rm = new RemoteMulti();
Index: branches/supervisor/src/test/java/omq/test/multiThread2/MultiThreadTest.java
===================================================================
--- branches/supervisor/src/test/java/omq/test/multiThread2/MultiThreadTest.java	(revision 101)
+++ branches/supervisor/src/test/java/omq/test/multiThread2/MultiThreadTest.java	(revision 102)
@@ -21,6 +21,6 @@
 		env.setProperty(ParameterQueue.RABBIT_HOST, "127.0.0.1");
 		env.setProperty(ParameterQueue.RABBIT_PORT, "5672");
-		env.setProperty(ParameterQueue.NUM_THREADS, "4");
-
+		env.setProperty(ParameterQueue.MIN_POOL_THREADS, "4");
+		env.setProperty(ParameterQueue.MAX_POOL_THREADS, "4");
 		SleepImpl sleep = new SleepImpl();
 
Index: branches/supervisor/src/test/java/omq/test/multiThread2/PrintTest.java
===================================================================
--- branches/supervisor/src/test/java/omq/test/multiThread2/PrintTest.java	(revision 101)
+++ branches/supervisor/src/test/java/omq/test/multiThread2/PrintTest.java	(revision 102)
@@ -21,5 +21,6 @@
 		env.setProperty(ParameterQueue.RABBIT_HOST, "127.0.0.1");
 		env.setProperty(ParameterQueue.RABBIT_PORT, "5672");
-		env.setProperty(ParameterQueue.NUM_THREADS, "2");
+		env.setProperty(ParameterQueue.MIN_POOL_THREADS, "2");
+		env.setProperty(ParameterQueue.MAX_POOL_THREADS, "2");
 
 		PrintImpl print = new PrintImpl(1);
Index: branches/supervisor/src/test/java/omq/test/remotePool/RemotePoolTest.java
===================================================================
--- branches/supervisor/src/test/java/omq/test/remotePool/RemotePoolTest.java	(revision 101)
+++ branches/supervisor/src/test/java/omq/test/remotePool/RemotePoolTest.java	(revision 102)
@@ -47,14 +47,14 @@
 		for (int j = 0; j < 2; j++) {
 
-			for (int i = 0; i < 4; i++) {
+			for (int i = 0; i < 8; i++) {
 				sleep.sleep();
 			}
 			Thread.sleep(3000);
-			for (int i = 0; i < 4; i++) {
+			for (int i = 0; i < 12; i++) {
 				sleep.sleep();
 			}
 			Thread.sleep(10000);
 		}
-		Thread.sleep(20000 * 1000);
+		
 	}
 }
Index: branches/supervisor/src/test/java/omq/test/supervisor/SleepTest.java
===================================================================
--- branches/supervisor/src/test/java/omq/test/supervisor/SleepTest.java	(revision 101)
+++ branches/supervisor/src/test/java/omq/test/supervisor/SleepTest.java	(revision 102)
@@ -24,5 +24,6 @@
 		env1.setProperty(ParameterQueue.RABBIT_HOST, "127.0.0.1");
 		env1.setProperty(ParameterQueue.RABBIT_PORT, "5672");
-		env1.setProperty(ParameterQueue.NUM_THREADS, "4");
+		env1.setProperty(ParameterQueue.MIN_POOL_THREADS, "4");
+		env1.setProperty(ParameterQueue.MAX_POOL_THREADS, "4");
 
 		Broker broker = new Broker(env1);
@@ -35,5 +36,6 @@
 		env2.setProperty(ParameterQueue.RABBIT_HOST, "127.0.0.1");
 		env2.setProperty(ParameterQueue.RABBIT_PORT, "5672");
-		env2.setProperty(ParameterQueue.NUM_THREADS, "1");
+		env2.setProperty(ParameterQueue.MIN_POOL_THREADS, "4");
+		env2.setProperty(ParameterQueue.MAX_POOL_THREADS, "4");
 
 		Broker broker2 = new Broker(env2);
