org.apache.jetspeed.scheduler
Class MemoryBasedScheduler

java.lang.Object
  extended by org.apache.jetspeed.scheduler.AbstractScheduler
      extended by org.apache.jetspeed.scheduler.MemoryBasedScheduler
All Implemented Interfaces:
Scheduler

public class MemoryBasedScheduler
extends AbstractScheduler
implements Scheduler

Service for a cron like scheduler that uses the properties file instead of the database. The methods that operate on jobs ( get,add,update,remove ) only operate on the queue in memory and changes are not reflected to the properties file which was used to initilize the jobs. An example is given below. The job names are the class names that extend ScheduledJob.


 services.SchedulerService.scheduler.jobs=scheduledJobName,scheduledJobName2

 services.SchedulerService.scheduler.job.scheduledJobName.ID=1
 services.SchedulerService.scheduler.job.scheduledJobName.SECOND=-1
 services.SchedulerService.scheduler.job.scheduledJobName.MINUTE=-1
 services.SchedulerService.scheduler.job.scheduledJobName.HOUR=7
 services.SchedulerService.scheduler.job.scheduledJobName.WEEKDAY=-1
 services.SchedulerService.scheduler.job.scheduledJobName.DAY_OF_MONTH=-1

 services.SchedulerService.scheduler.job.scheduledJobName2.ID=1
 services.SchedulerService.scheduler.job.scheduledJobName2.SECOND=-1
 services.SchedulerService.scheduler.job.scheduledJobName2.MINUTE=-1
 services.SchedulerService.scheduler.job.scheduledJobName2.HOUR=7
 services.SchedulerService.scheduler.job.scheduledJobName2.WEEKDAY=-1
 services.SchedulerService.scheduler.job.scheduledJobName2.DAY_OF_MONTH=-1

 
Based on TamboraSchedulerService written by John Thorhauer.

Version:
$Id: MemoryBasedScheduler.java 516448 2007-03-09 16:25:47Z ate $
Author:
Jeff Brekke, John Thorhauer, David Sean Taylor

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.jetspeed.scheduler.AbstractScheduler
AbstractScheduler.MainLoop
 
Field Summary
private  org.apache.commons.configuration.Configuration config
           
private static org.apache.commons.logging.Log log
           
 
Fields inherited from class org.apache.jetspeed.scheduler.AbstractScheduler
mainLoop, scheduleQueue, thread
 
Fields inherited from interface org.apache.jetspeed.scheduler.Scheduler
SERVICE_NAME
 
Constructor Summary
MemoryBasedScheduler(org.apache.commons.configuration.Configuration config)
          Constructor.
 
Method Summary
 void addJob(JobEntry je)
          Add a new job to the queue.
private  org.apache.commons.configuration.Configuration getConfiguration()
           
 JobEntry getJob(int oid)
          This method returns the job element from the internal queue.
 void removeJob(JobEntry je)
          Remove a job from the queue.
 void start()
           
 void stop()
           
 void updateJob(JobEntry je)
          Modify a Job.
 
Methods inherited from class org.apache.jetspeed.scheduler.AbstractScheduler
getThread, listJobs, restart
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.jetspeed.scheduler.Scheduler
listJobs
 

Field Detail

log

private static final org.apache.commons.logging.Log log

config

private org.apache.commons.configuration.Configuration config
Constructor Detail

MemoryBasedScheduler

public MemoryBasedScheduler(org.apache.commons.configuration.Configuration config)
                     throws Exception
Constructor.

Throws:
Exception, - a generic exception.
Exception
Method Detail

getConfiguration

private org.apache.commons.configuration.Configuration getConfiguration()

start

public void start()
Overrides:
start in class AbstractScheduler

stop

public void stop()
Overrides:
stop in class AbstractScheduler

getJob

public JobEntry getJob(int oid)
                throws Exception
This method returns the job element from the internal queue.

Specified by:
getJob in interface Scheduler
Specified by:
getJob in class AbstractScheduler
Parameters:
oid - The int id for the job.
Returns:
A JobEntry.
Throws:
Exception, - a generic exception.
Exception

addJob

public void addJob(JobEntry je)
            throws Exception
Add a new job to the queue.

Specified by:
addJob in interface Scheduler
Specified by:
addJob in class AbstractScheduler
Parameters:
je - A JobEntry with the job to add.
Throws:
Exception, - a generic exception.
Exception

removeJob

public void removeJob(JobEntry je)
               throws Exception
Remove a job from the queue.

Specified by:
removeJob in interface Scheduler
Specified by:
removeJob in class AbstractScheduler
Parameters:
je - A JobEntry with the job to remove.
Throws:
Exception, - a generic exception.
Exception

updateJob

public void updateJob(JobEntry je)
               throws Exception
Modify a Job.

Specified by:
updateJob in interface Scheduler
Specified by:
updateJob in class AbstractScheduler
Parameters:
je - A JobEntry with the job to modify
Throws:
Exception, - a generic exception.
Exception


Copyright © 1999-2007 Apache Software Foundation. All Rights Reserved.