|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.apache.avalon.framework.logger.AbstractLogEnabled
org.apache.avalon.cornerstone.blocks.scheduler.DefaultTimeScheduler
public class DefaultTimeScheduler
Default implementation of TimeScheduler service.
| Field Summary | |
|---|---|
private java.util.Hashtable |
m_entries
|
private PriorityQueue |
m_priorityQueue
|
private boolean |
m_running
|
private org.apache.avalon.cornerstone.services.threads.ThreadManager |
m_threadManager
|
private java.util.ArrayList |
m_triggerFailureListeners
|
| Fields inherited from interface org.apache.avalon.cornerstone.services.scheduler.TimeScheduler |
|---|
ROLE |
| Constructor Summary | |
|---|---|
DefaultTimeScheduler()
|
|
| Method Summary | |
|---|---|
void |
addTrigger(java.lang.String name,
org.apache.avalon.cornerstone.services.scheduler.TimeTrigger trigger,
org.apache.avalon.cornerstone.services.scheduler.Target target)
Schedule a time based trigger. |
void |
addTriggerFailureListener(org.apache.avalon.cornerstone.services.scheduler.TriggerFailureListener listener)
Add a trigger failure listener |
void |
dispose()
|
protected void |
doRunEntry(TimeScheduledEntry entry)
Helper method delegated to to run in a separate thread. |
java.util.Collection |
getEntries()
Return a collection of the triggerable names. |
protected TimeScheduledEntry |
getEntry(java.lang.String name)
Retrieve entry from set. |
protected java.util.Map |
getEntryMap()
|
protected TimeScheduledEntry |
getNextEntry()
Retrieve next valid entry. |
protected PriorityQueue |
getPriorityQueue()
|
protected org.apache.avalon.cornerstone.services.threads.ThreadManager |
getThreadManager()
|
protected java.util.List |
getTriggerFailureListeners()
|
protected boolean |
isRunning()
|
protected void |
notifyFailedTriggers(java.lang.Throwable t)
|
void |
removeTrigger(java.lang.String name)
Remove a scheduled trigger by name. |
void |
removeTriggerFailureListener(org.apache.avalon.cornerstone.services.scheduler.TriggerFailureListener listener)
Remove a trigger failure listener |
protected boolean |
rescheduleEntry(TimeScheduledEntry timeEntry,
boolean clone)
Reschedule an entry. |
void |
resetTrigger(java.lang.String name)
Force a trigger time to be recalculated. |
void |
run()
Entry point for thread that monitors entrys and triggers entrys when necessary. |
protected void |
runEntry(TimeScheduledEntry entry)
Run entry in a separate thread and reschedule it. |
void |
service(org.apache.avalon.framework.service.ServiceManager serviceManager)
Supply of the service manager to the component. |
protected void |
setRunning(boolean running)
|
void |
start()
|
void |
stop()
|
| Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled |
|---|
enableLogging, getLogger, setupLogger, setupLogger, setupLogger |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private final java.util.Hashtable m_entries
private final PriorityQueue m_priorityQueue
private org.apache.avalon.cornerstone.services.threads.ThreadManager m_threadManager
private boolean m_running
private java.util.ArrayList m_triggerFailureListeners
| Constructor Detail |
|---|
public DefaultTimeScheduler()
| Method Detail |
|---|
protected final org.apache.avalon.cornerstone.services.threads.ThreadManager getThreadManager()
protected final boolean isRunning()
protected final void setRunning(boolean running)
protected final java.util.List getTriggerFailureListeners()
protected final java.util.Map getEntryMap()
protected final PriorityQueue getPriorityQueue()
public void service(org.apache.avalon.framework.service.ServiceManager serviceManager)
throws org.apache.avalon.framework.service.ServiceException
service in interface org.apache.avalon.framework.service.ServiceableserviceManager - the service manager
org.apache.avalon.framework.service.ServiceExceptionpublic void dispose()
dispose in interface org.apache.avalon.framework.activity.Disposable
public void start()
throws java.lang.Exception
start in interface org.apache.avalon.framework.activity.Startablejava.lang.Exceptionpublic void stop()
stop in interface org.apache.avalon.framework.activity.Startablepublic void run()
run in interface java.lang.Runnablepublic void addTriggerFailureListener(org.apache.avalon.cornerstone.services.scheduler.TriggerFailureListener listener)
addTriggerFailureListener in interface org.apache.avalon.cornerstone.services.scheduler.TimeSchedulerlistener - The listenerpublic void removeTriggerFailureListener(org.apache.avalon.cornerstone.services.scheduler.TriggerFailureListener listener)
removeTriggerFailureListener in interface org.apache.avalon.cornerstone.services.scheduler.TimeSchedulerlistener - The listener
public void addTrigger(java.lang.String name,
org.apache.avalon.cornerstone.services.scheduler.TimeTrigger trigger,
org.apache.avalon.cornerstone.services.scheduler.Target target)
addTrigger in interface org.apache.avalon.cornerstone.services.scheduler.TimeSchedulername - the name of the triggertrigger - the triggertarget - the target
public void removeTrigger(java.lang.String name)
throws java.util.NoSuchElementException
removeTrigger in interface org.apache.avalon.cornerstone.services.scheduler.TimeSchedulername - the name of the trigger
java.util.NoSuchElementException - if no trigger exists with that name
public void resetTrigger(java.lang.String name)
throws java.util.NoSuchElementException
resetTrigger in interface org.apache.avalon.cornerstone.services.scheduler.TimeSchedulername - the name of the trigger
java.util.NoSuchElementException - if no trigger exists with that namepublic java.util.Collection getEntries()
getEntries in interface MonitorableTimeSchedulerMBean
protected boolean rescheduleEntry(TimeScheduledEntry timeEntry,
boolean clone)
timeEntry - the entryclone - true if new entry is to be created
protected TimeScheduledEntry getEntry(java.lang.String name)
throws java.util.NoSuchElementException
name - the name of entry
java.util.NoSuchElementException - if no entry is found with that nameprotected void runEntry(TimeScheduledEntry entry)
entry - the entry to runprotected void doRunEntry(TimeScheduledEntry entry)
entry - the entry to runprotected TimeScheduledEntry getNextEntry()
protected void notifyFailedTriggers(java.lang.Throwable t)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||