You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pd...@apache.org on 2014/10/03 12:58:42 UTC
svn commit: r1629182 -
/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/TestBase.java
Author: pderop
Date: Fri Oct 3 10:58:42 2014
New Revision: 1629182
URL: http://svn.apache.org/r1629182
Log:
only create a threadpool if the current test has called setParallel() method.
Modified:
felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/TestBase.java
Modified: felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/TestBase.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/TestBase.java?rev=1629182&r1=1629181&r2=1629182&view=diff
==============================================================================
--- felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/TestBase.java (original)
+++ felix/sandbox/pderop/dependencymanager-prototype/org.apache.felix.dependencymanager.itest/src/org/apache/felix/dm/itest/TestBase.java Fri Oct 3 10:58:42 2014
@@ -30,7 +30,7 @@ public abstract class TestBase extends T
protected final static int LOG_LEVEL = LogService.LOG_WARNING;
// optional thread pool used by parallel dependency managers
- private final static ExecutorService m_threadPool = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors());
+ private volatile ExecutorService m_threadPool;
// flag used to check if the threadpool must be used for a given test.
private boolean m_parallel;
@@ -65,6 +65,7 @@ public abstract class TestBase extends T
m_dm = new DependencyManager(context);
if (m_parallel) {
warn("Using threadpool ...");
+ m_threadPool = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors());
Hashtable props = new Hashtable();
props.put("target", DependencyManager.THREADPOOL);
m_threadPoolRegistration = context.registerService(Executor.class.getName(), m_threadPool, props);
@@ -75,10 +76,11 @@ public abstract class TestBase extends T
warn("Tearing down test " + getClass().getName());
logService.unregister();
context.removeFrameworkListener(this);
- if (m_threadPoolRegistration != null) {
+ clearComponents();
+ if (m_parallel && m_threadPoolRegistration != null) {
m_threadPoolRegistration.unregister();
+ m_threadPool.shutdown();
}
- clearComponents();
}
protected DependencyManager getDM() {