Class SchedulingStrategies
- java.lang.Object
-
- org.apache.maven.surefire.junitcore.pc.SchedulingStrategies
-
public class SchedulingStrategies extends Object
The factory ofSchedulingStrategy
.- Since:
- 2.16
- Author:
- Tibor Digana (tibor17)
-
-
Constructor Summary
Constructors Constructor Description SchedulingStrategies()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static SchedulingStrategy
createInvokerStrategy(org.apache.maven.plugin.surefire.log.api.ConsoleLogger logger)
static SchedulingStrategy
createParallelSharedStrategy(org.apache.maven.plugin.surefire.log.api.ConsoleLogger logger, ExecutorService threadPool)
ThethreadPool
passed to this strategy can be shared in other strategies.static SchedulingStrategy
createParallelStrategy(org.apache.maven.plugin.surefire.log.api.ConsoleLogger logger, int nThreads)
static SchedulingStrategy
createParallelStrategyUnbounded(org.apache.maven.plugin.surefire.log.api.ConsoleLogger logger)
-
-
-
Method Detail
-
createInvokerStrategy
public static SchedulingStrategy createInvokerStrategy(org.apache.maven.plugin.surefire.log.api.ConsoleLogger logger)
- Parameters:
logger
- current error logger- Returns:
- sequentially executing strategy
-
createParallelStrategy
public static SchedulingStrategy createParallelStrategy(org.apache.maven.plugin.surefire.log.api.ConsoleLogger logger, int nThreads)
- Parameters:
logger
- current error loggernThreads
- fixed pool capacity- Returns:
- parallel scheduling strategy
-
createParallelStrategyUnbounded
public static SchedulingStrategy createParallelStrategyUnbounded(org.apache.maven.plugin.surefire.log.api.ConsoleLogger logger)
- Parameters:
logger
- current error logger- Returns:
- parallel scheduling strategy with unbounded capacity
-
createParallelSharedStrategy
public static SchedulingStrategy createParallelSharedStrategy(org.apache.maven.plugin.surefire.log.api.ConsoleLogger logger, ExecutorService threadPool)
ThethreadPool
passed to this strategy can be shared in other strategies.
The callSchedulingStrategy.finished()
is waiting until own tasks have finished. New tasks will not be scheduled by this call in this strategy. This strategy is not waiting for other strategies to finish. TheRunnerScheduler.finished()
may freely useSchedulingStrategy.finished()
.- Parameters:
logger
- current error loggerthreadPool
- thread pool possibly shared with other strategies- Returns:
- parallel strategy with shared thread pool
- Throws:
NullPointerException
- ifthreadPool
is null
-
-