Package org.jbpm.process.core.timer.impl
Class ThreadPoolSchedulerService
- java.lang.Object
-
- org.jbpm.process.core.timer.impl.ThreadPoolSchedulerService
-
- All Implemented Interfaces:
org.drools.core.time.InternalSchedulerService
,org.drools.core.time.SchedulerService
,GlobalSchedulerService
public class ThreadPoolSchedulerService extends Object implements GlobalSchedulerService
ThreadPool based scheduler service backed byThreadPoolSchedulerService
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ThreadPoolSchedulerService.GlobalJDKJobHandle
-
Constructor Summary
Constructors Constructor Description ThreadPoolSchedulerService(int poolSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.drools.core.time.JobHandle
buildJobHandleForContext(NamedJobContext ctx)
Builds JobHandle based on NamedJobContextvoid
initScheduler(org.drools.core.time.TimerService globalTimerService)
Provides handle to inject timerService that owns this scheduler service and initialize itvoid
internalSchedule(org.drools.core.time.impl.TimerJobInstance timerJobInstance)
boolean
isTransactional()
Indicates if given implementation of scheduler service supports transactional timer store.boolean
isValid(GlobalTimerService.GlobalJobHandle jobHandle)
Verifies if given job is still valid or it was already executed/vetoed.boolean
removeJob(org.drools.core.time.JobHandle jobHandle)
boolean
retryEnabled()
Indicates if given implementation of scheduler service supports retries of failed timer jobsorg.drools.core.time.JobHandle
scheduleJob(org.drools.core.time.Job job, org.drools.core.time.JobContext ctx, org.drools.core.time.Trigger trigger)
void
setInterceptor(SchedulerServiceInterceptor interceptor)
Allows to set interceptor that will be used to schedule timer instancesvoid
shutdown()
Allows to shutdown the scheduler service-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.jbpm.process.core.timer.GlobalSchedulerService
getTimerJobInstance, invalidate
-
-
-
-
Method Detail
-
initScheduler
public void initScheduler(org.drools.core.time.TimerService globalTimerService)
Description copied from interface:GlobalSchedulerService
Provides handle to inject timerService that owns this scheduler service and initialize it- Specified by:
initScheduler
in interfaceGlobalSchedulerService
- Parameters:
globalTimerService
- owner of this scheduler service
-
shutdown
public void shutdown()
Description copied from interface:GlobalSchedulerService
Allows to shutdown the scheduler service- Specified by:
shutdown
in interfaceGlobalSchedulerService
-
scheduleJob
public org.drools.core.time.JobHandle scheduleJob(org.drools.core.time.Job job, org.drools.core.time.JobContext ctx, org.drools.core.time.Trigger trigger)
- Specified by:
scheduleJob
in interfaceorg.drools.core.time.SchedulerService
-
removeJob
public boolean removeJob(org.drools.core.time.JobHandle jobHandle)
- Specified by:
removeJob
in interfaceorg.drools.core.time.SchedulerService
-
internalSchedule
public void internalSchedule(org.drools.core.time.impl.TimerJobInstance timerJobInstance)
- Specified by:
internalSchedule
in interfaceorg.drools.core.time.InternalSchedulerService
-
buildJobHandleForContext
public org.drools.core.time.JobHandle buildJobHandleForContext(NamedJobContext ctx)
Description copied from interface:GlobalSchedulerService
Builds JobHandle based on NamedJobContext- Specified by:
buildJobHandleForContext
in interfaceGlobalSchedulerService
- Returns:
-
isTransactional
public boolean isTransactional()
Description copied from interface:GlobalSchedulerService
Indicates if given implementation of scheduler service supports transactional timer store.- Specified by:
isTransactional
in interfaceGlobalSchedulerService
- Returns:
-
setInterceptor
public void setInterceptor(SchedulerServiceInterceptor interceptor)
Description copied from interface:GlobalSchedulerService
Allows to set interceptor that will be used to schedule timer instances- Specified by:
setInterceptor
in interfaceGlobalSchedulerService
-
retryEnabled
public boolean retryEnabled()
Description copied from interface:GlobalSchedulerService
Indicates if given implementation of scheduler service supports retries of failed timer jobs- Specified by:
retryEnabled
in interfaceGlobalSchedulerService
- Returns:
-
isValid
public boolean isValid(GlobalTimerService.GlobalJobHandle jobHandle)
Description copied from interface:GlobalSchedulerService
Verifies if given job is still valid or it was already executed/vetoed. Especially important in multi node environments - cluster.- Specified by:
isValid
in interfaceGlobalSchedulerService
- Returns:
-
-