Class QuartzSchedulerService
- java.lang.Object
 - 
- org.apache.turbine.services.BaseInitable
 - 
- org.apache.turbine.services.BaseService
 - 
- org.apache.turbine.services.TurbineBaseService
 - 
- org.apache.turbine.services.schedule.QuartzSchedulerService
 
 
 
 
 
- 
- All Implemented Interfaces:
 Initable,ScheduleService,Service
public class QuartzSchedulerService extends TurbineBaseService implements ScheduleService
Service for a quartz scheduler.- Author:
 - Thomas Vandahl
 
 
- 
- 
Field Summary
Fields Modifier and Type Field Description protected booleanenabledCurrent status of the schedulerprotected static org.apache.logging.log4j.LoggerlogLogging- 
Fields inherited from class org.apache.turbine.services.BaseService
configuration, name, serviceBroker 
- 
Fields inherited from class org.apache.turbine.services.BaseInitable
initableBroker, isInitialized 
- 
Fields inherited from interface org.apache.turbine.services.schedule.ScheduleService
INTIALLY_ACTIVE, LOGGER_NAME, SERVICE_NAME 
- 
Fields inherited from interface org.apache.turbine.services.Service
SERVICE_NAME 
 - 
 
- 
Constructor Summary
Constructors Constructor Description QuartzSchedulerService() 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddJob(JobEntry je)Add a new job to the queue.JobEntryQuartzbuildJobEntry(org.quartz.Trigger trigger, org.quartz.JobDetail jd)Builds aJobEntryQuartzfrom Quartz trigger/job.JobEntrygetJob(int oid)Get a specific Job from Storage.org.quartz.SchedulergetScheduler()Exposing the Quartz scheduler to handle jobs/triggers in more detail.voidinit()Initializes the SchedulerService.booleanisEnabled()Determines if the scheduler service is currently enabled.List<? extends JobEntry>listJobs()List jobs in the queue.JobEntrynewJob(int sec, int min, int hour, int wd, int day_mo, String task)Factory method for a new Job Schedule a job to run on a certain point of time.
Example 1: Run the DefaultScheduledJob at 8:00am every 15th of the month -
JobEntry je = newJob(0,0,8,-1,15,"DefaultScheduledJob");
Example 2: Run the DefaultScheduledJob at 8:00am every day -
JobEntry je = newJob(0,0,8,-1,-1,"DefaultScheduledJob");
Example 3: Run the DefaultScheduledJob every 2 hours. -
JobEntry je = newJob(0,120,-1,-1,-1,"DefaultScheduledJob");
Example 4: Run the DefaultScheduledJob every 30 seconds. -
JobEntry je = newJob(30,-1,-1,-1,-1,"DefaultScheduledJob");voidremoveJob(JobEntry je)Remove a job from the queue.voidrestart()Start (or restart) a thread to process commands, or wake up an existing thread if one is already running.protected voidsetEnabled(boolean enabled)Sets the enabled status of the schedulervoidshutdown()Shutdowns the service.voidstartScheduler()Starts or restarts the scheduler if not already running.voidstopScheduler()Stops the scheduler if it is currently running.voidupdateJob(JobEntry je)Add or update a job.- 
Methods inherited from class org.apache.turbine.services.TurbineBaseService
init, init 
- 
Methods inherited from class org.apache.turbine.services.BaseService
getConfiguration, getName, getProperties, getServiceBroker, setName, setServiceBroker 
- 
Methods inherited from class org.apache.turbine.services.BaseInitable
getInit, getInitableBroker, setInit, setInitableBroker 
- 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 
- 
Methods inherited from interface org.apache.turbine.services.Initable
getInit, init, setInitableBroker 
- 
Methods inherited from interface org.apache.turbine.services.Service
getConfiguration, getName, getProperties, setName, setServiceBroker 
 - 
 
 - 
 
- 
- 
Constructor Detail
- 
QuartzSchedulerService
public QuartzSchedulerService()
 
 - 
 
- 
Method Detail
- 
init
public void init() throws InitializationException
Initializes the SchedulerService. Retrieves the Quartzschedulerfrom the FulcrumQuartzSchedulerservice.- Specified by:
 initin interfaceInitable- Overrides:
 initin classTurbineBaseService- Throws:
 InitializationException- Something went wrong in the init stage
 
- 
shutdown
public void shutdown()
Shutdowns the service. This methods interrupts the housekeeping thread.- Specified by:
 shutdownin interfaceInitable- Overrides:
 shutdownin classTurbineBaseService
 
- 
newJob
public JobEntry newJob(int sec, int min, int hour, int wd, int day_mo, String task) throws TurbineException
Description copied from interface:ScheduleServiceFactory method for a new Job Schedule a job to run on a certain point of time.
Example 1: Run the DefaultScheduledJob at 8:00am every 15th of the month -
JobEntry je = newJob(0,0,8,-1,15,"DefaultScheduledJob");
Example 2: Run the DefaultScheduledJob at 8:00am every day -
JobEntry je = newJob(0,0,8,-1,-1,"DefaultScheduledJob");
Example 3: Run the DefaultScheduledJob every 2 hours. -
JobEntry je = newJob(0,120,-1,-1,-1,"DefaultScheduledJob");
Example 4: Run the DefaultScheduledJob every 30 seconds. -
JobEntry je = newJob(30,-1,-1,-1,-1,"DefaultScheduledJob");- Specified by:
 newJobin interfaceScheduleService- Parameters:
 sec- Value for entry "seconds".min- Value for entry "minutes".hour- Value for entry "hours".wd- Value for entry "week days".day_mo- Value for entry "month days".task- Task to execute.- Returns:
 - A JobEntry.
 - Throws:
 TurbineException- could not create job- See Also:
 ScheduleService.newJob(int, int, int, int, int, java.lang.String)
 
- 
getJob
public JobEntry getJob(int oid) throws TurbineException
Get a specific Job from Storage.- Specified by:
 getJobin interfaceScheduleService- Parameters:
 oid- The int id for the job.- Returns:
 - A JobEntry.
 - Throws:
 TurbineException- job could not be retrieved.
 
- 
addJob
public void addJob(JobEntry je) throws TurbineException
Add a new job to the queue.- Specified by:
 addJobin interfaceScheduleService- Parameters:
 je- A JobEntry with the job to add.- Throws:
 TurbineException- job could not be added
 
- 
removeJob
public void removeJob(JobEntry je) throws TurbineException
Remove a job from the queue.- Specified by:
 removeJobin interfaceScheduleService- Parameters:
 je- A JobEntry with the job to remove.- Throws:
 TurbineException- job could not be removed
 
- 
updateJob
public void updateJob(JobEntry je) throws TurbineException
Add or update a job.- Specified by:
 updateJobin interfaceScheduleService- Parameters:
 je- A JobEntry with the job to modify- Throws:
 TurbineException- job could not be updated
 
- 
listJobs
public List<? extends JobEntry> listJobs()
List jobs in the queue. This is used by the scheduler UI.- Specified by:
 listJobsin interfaceScheduleService- Returns:
 - A List of jobs.
 
 
- 
setEnabled
protected void setEnabled(boolean enabled)
Sets the enabled status of the scheduler- Parameters:
 enabled- true if enabled
 
- 
isEnabled
public boolean isEnabled()
Determines if the scheduler service is currently enabled.- Specified by:
 isEnabledin interfaceScheduleService- Returns:
 - Status of the scheduler service.
 
 
- 
startScheduler
public void startScheduler()
Starts or restarts the scheduler if not already running.- Specified by:
 startSchedulerin interfaceScheduleService
 
- 
stopScheduler
public void stopScheduler()
Stops the scheduler if it is currently running.- Specified by:
 stopSchedulerin interfaceScheduleService
 
- 
restart
public void restart()
Start (or restart) a thread to process commands, or wake up an existing thread if one is already running. This method can be invoked if the background thread crashed due to an unrecoverable exception in an executed command. 
- 
getScheduler
public org.quartz.Scheduler getScheduler()
Exposing the Quartz scheduler to handle jobs/triggers in more detail.- Returns:
 - the 
Schedulerof this service. 
 
- 
buildJobEntry
public JobEntryQuartz buildJobEntry(org.quartz.Trigger trigger, org.quartz.JobDetail jd)
Builds aJobEntryQuartzfrom Quartz trigger/job. The developer should be aware to set identity/context properly, i.e. toJobEntryQuartz.DEFAULT_JOB_GROUP_NAME, if adding triggers/jobs.- Parameters:
 trigger- a QuartzTrigger.jd- a QuartzJobDetail(built from aJobwithJobBuilder).- Returns:
 - A JobEntryQuartz.
 
 
 - 
 
 -