|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jboss.mx.util.JBossNotificationBroadcasterSupport org.jboss.system.ServiceMBeanSupport org.jboss.varia.scheduler.ScheduleManager
Schedule Manager which manage the Schedule and their matching Timer notifications and notification listeners. Each provider has to register when it is started where in turn their startProviding() method is called which allows him to add its Schedules because the Manager is now ready.
Nested Class Summary | |
class |
ScheduleManager.MBeanListener
This listener is waiting for its Timer Notification and call the appropriate method on the given Target (MBean) and count down the number of remaining repetitions. |
Field Summary | |
static String |
DEFAULT_TIMER_NAME
Default Timer Object Name |
Fields inherited from class org.jboss.system.ServiceMBeanSupport |
log, server, SERVICE_CONTROLLER_SIG, serviceName |
Fields inherited from interface org.jboss.varia.scheduler.ScheduleManagerMBean |
OBJECT_NAME |
Fields inherited from interface org.jboss.system.ServiceMBean |
CREATE_EVENT, CREATED, DESTROY_EVENT, DESTROYED, FAILED, REGISTERED, START_EVENT, STARTED, STARTING, states, STOP_EVENT, STOPPED, STOPPING, UNREGISTERED |
Constructor Summary | |
ScheduleManager()
Default (no-args) Constructor |
Method Summary | |
int |
addSchedule(javax.management.ObjectName pProvider,
javax.management.ObjectName pTarget,
String pMethodName,
String[] pMethodSignature,
Date pStartDate,
long pPeriod,
int pRepetitions)
Adds a new Schedule to the Scheduler |
protected void |
destroyService()
When Service is destroyed it will call the "unregisterProvider()" on all register Providers to let them remove their Schedules and being notified that they should stop providing. |
javax.management.ObjectName |
getObjectName(javax.management.MBeanServer pServer,
javax.management.ObjectName pName)
|
String |
getSchedules()
Returns a list of the identifications of all registered schedules |
String |
getTimerName()
|
boolean |
isPaused()
|
boolean |
isStartAtStartup()
|
boolean |
isStarted()
|
void |
registerProvider(String pProviderObjectName)
Register a Provider to make him available. |
void |
removeSchedule(int pIdentification)
Removes a Schedule so that no notification is sent anymore |
void |
restartSchedule()
Stops the server right now and starts it right now. |
void |
setPaused(boolean pIsPaused)
Pauses or restarts the Schedules which either suspends the notifications or start transfering them to the target |
void |
setStartAtStartup(boolean pStartAtStartup)
Set the scheduler to start when MBean started or not. |
void |
setTimerName(String pTimerName)
|
void |
startSchedules()
Starts all the containing Schedules |
protected void |
startService()
Creates the requested Timer if not already available and start all added Schedules. |
void |
stopSchedules(boolean pDoItNow)
Stops all the sontaining Schedules |
protected void |
stopService()
Stops all available Schedules. |
void |
unregisterProvider(String pProviderObjectName)
Unregister a Provider which in turn calls "stopProviding()" indicating to the Provider to remove all the Schedules. |
Methods inherited from class org.jboss.system.ServiceMBeanSupport |
create, createService, destroy, getLog, getName, getNextNotificationSequenceNumber, getServer, getServiceName, getState, getStateString, jbossInternalCreate, jbossInternalDescription, jbossInternalDestroy, jbossInternalLifecycle, jbossInternalStart, jbossInternalStop, postDeregister, postRegister, preDeregister, preRegister, start, stop |
Methods inherited from class org.jboss.mx.util.JBossNotificationBroadcasterSupport |
addNotificationListener, getNotificationInfo, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.jboss.system.ServiceMBean |
getName, getState, getStateString, jbossInternalLifecycle |
Methods inherited from interface org.jboss.system.Service |
create, destroy, start, stop |
Field Detail |
public static String DEFAULT_TIMER_NAME
Constructor Detail |
public ScheduleManager()
Method Detail |
public void startSchedules()
startSchedules
in interface ScheduleManagerMBean
public void stopSchedules(boolean pDoItNow)
stopSchedules
in interface ScheduleManagerMBean
pDoItNow
- If true all the schedules are stopped immeditaly otherwise
it waits until the next notification is sentpublic void restartSchedule()
restartSchedule
in interface ScheduleManagerMBean
public void registerProvider(String pProviderObjectName)
registerProvider
in interface ScheduleManagerMBean
pProviderObjectName
- Object Name of the Providerpublic void unregisterProvider(String pProviderObjectName)
unregisterProvider
in interface ScheduleManagerMBean
pProviderObjectName
- Object Name of the Providerpublic int addSchedule(javax.management.ObjectName pProvider, javax.management.ObjectName pTarget, String pMethodName, String[] pMethodSignature, Date pStartDate, long pPeriod, int pRepetitions)
addSchedule
in interface ScheduleManagerMBean
pTarget
- Object Name of the Target MBeanpMethodName
- Name of the method to be calledpMethodSignature
- List of Attributes of the method to be called
where ...pStartDate
- Date when the schedule is startedpRepetitions
- Initial Number of repetitions
public void removeSchedule(int pIdentification)
removeSchedule
in interface ScheduleManagerMBean
pIdentification
- Identification returned by addSchedule()
or getSchedules()
.public String getSchedules()
public boolean isPaused()
public void setPaused(boolean pIsPaused)
pIsPaused
- True when the Schedules are paused or
false when they resumespublic boolean isStarted()
public boolean isStartAtStartup()
isStartAtStartup
in interface ScheduleManagerMBean
public void setStartAtStartup(boolean pStartAtStartup)
startService()
gets called (normally at
startup time.
setStartAtStartup
in interface ScheduleManagerMBean
pStartAtStartup
- True if Schedule has to be started at startup timepublic String getTimerName()
getTimerName
in interface ScheduleManagerMBean
public void setTimerName(String pTimerName)
setTimerName
in interface ScheduleManagerMBean
pTimerName
- Object Name of the Timer MBean to
be used. If null or not a valid ObjectName
the default will be usedpublic javax.management.ObjectName getObjectName(javax.management.MBeanServer pServer, javax.management.ObjectName pName) throws javax.management.MalformedObjectNameException
javax.management.MalformedObjectNameException
protected void destroyService()
protected void startService() throws Exception
Exception
protected void stopService()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |