Class InvokerStrategy
- java.lang.Object
-
- org.apache.maven.surefire.junitcore.pc.SchedulingStrategy
-
- org.apache.maven.surefire.junitcore.pc.InvokerStrategy
-
- All Implemented Interfaces:
Destroyable
final class InvokerStrategy extends SchedulingStrategy
The sequentially executing strategy in private package.- Since:
- 2.16
- See Also:
SchedulingStrategy
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Queue<java.lang.Thread>
activeThreads
-
Constructor Summary
Constructors Modifier Constructor Description protected
InvokerStrategy(ConsoleStream logger)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
destroy()
CallingThreadPoolExecutor.shutdown()
andThreadPoolExecutor.awaitTermination(long, java.util.concurrent.TimeUnit)
.boolean
finished()
Waiting for scheduled tasks to finish.boolean
hasSharedThreadPool()
void
schedule(java.lang.Runnable task)
Schedules tasks ifSchedulingStrategy.canSchedule()
.protected boolean
stop()
Stops scheduling new tasks (e.g.protected boolean
stopNow()
Stops scheduling new tasks andinterrupts
running tasks (e.g.-
Methods inherited from class org.apache.maven.surefire.junitcore.pc.SchedulingStrategy
canSchedule, disable, logQuietly, setDefaultShutdownHandler
-
-
-
-
Constructor Detail
-
InvokerStrategy
protected InvokerStrategy(ConsoleStream logger)
-
-
Method Detail
-
schedule
public void schedule(java.lang.Runnable task)
Description copied from class:SchedulingStrategy
Schedules tasks ifSchedulingStrategy.canSchedule()
.- Specified by:
schedule
in classSchedulingStrategy
- Parameters:
task
- runnable to schedule in a thread pool or invoke- See Also:
RunnerScheduler.schedule(Runnable)
,Executor.execute(Runnable)
-
stop
protected boolean stop()
Description copied from class:SchedulingStrategy
Stops scheduling new tasks (e.g. byExecutorService.shutdown()
on a private thread pool which cannot be shared with other strategy).- Specified by:
stop
in classSchedulingStrategy
- Returns:
true
if successfully stopped the scheduler, elsefalse
if already stopped (a shared thread pool was shutdown externally).- See Also:
ExecutorService.shutdown()
-
stopNow
protected boolean stopNow()
Description copied from class:SchedulingStrategy
Stops scheduling new tasks andinterrupts
running tasks (e.g. byExecutorService.shutdownNow()
on a private thread pool which cannot be shared with other strategy).
This method callsSchedulingStrategy.stop()
by default.- Overrides:
stopNow
in classSchedulingStrategy
- Returns:
true
if successfully stopped the scheduler, elsefalse
if already stopped (a shared thread pool was shutdown externally).- See Also:
ExecutorService.shutdownNow()
-
hasSharedThreadPool
public boolean hasSharedThreadPool()
- Specified by:
hasSharedThreadPool
in classSchedulingStrategy
- Returns:
true
if a thread pool associated with this strategy can be shared with other strategies.
-
finished
public boolean finished() throws java.lang.InterruptedException
Description copied from class:SchedulingStrategy
Waiting for scheduled tasks to finish. New tasks will not be scheduled by calling this method.- Specified by:
finished
in classSchedulingStrategy
- Returns:
true
if successfully stopped the scheduler, elsefalse
if already stopped (a shared thread pool was shutdown externally).- Throws:
java.lang.InterruptedException
- if interrupted while waiting for scheduled tasks to finish- See Also:
RunnerScheduler.finished()
-
destroy
public boolean destroy()
Description copied from interface:Destroyable
CallingThreadPoolExecutor.shutdown()
andThreadPoolExecutor.awaitTermination(long, java.util.concurrent.TimeUnit)
.- Returns:
true
if not interrupted in current thread
-
-