org.jboss.util
Class Scheduler
java.lang.Object
|
+--javax.management.NotificationBroadcasterSupport
|
+--org.jboss.util.ServiceMBeanSupport
|
+--org.jboss.util.Scheduler
- All Implemented Interfaces:
- javax.management.MBeanRegistration, javax.management.NotificationBroadcaster, SchedulerMBean, Service, ServiceMBean
- public class Scheduler
- extends ServiceMBeanSupport
- implements SchedulerMBean
Scheduler Instance to allow clients to run this as a
scheduling service for any Schedulable instances.
- Author:
- Andreas Schaefer (andreas.schaefer@madplanet.com)
Constructor Summary |
Scheduler()
Default (no-args) Constructor |
Scheduler(java.lang.String pName)
Constructor with the necessary attributes to be set |
Scheduler(java.lang.String pName,
java.lang.String pSchedulableClass,
java.lang.String pInitArguments,
java.lang.String pInitTypes,
long pInitialStartDate,
long pSchedulePeriod,
long pNumberOfRepetitions)
Constructor with the necessary attributes to be set |
Methods inherited from class org.jboss.util.ServiceMBeanSupport |
destroy, destroyService, getServer, getState, getStateString, init, nextSequenceNumber, postDeregister, postRegister, preDeregister, preRegister, start, stop |
Methods inherited from class javax.management.NotificationBroadcasterSupport |
addNotificationListener, getNotificationInfo, removeNotificationListener, sendNotification |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
JNDI_NAME
public static java.lang.String JNDI_NAME
JMX_NAME
public static java.lang.String JMX_NAME
Scheduler
public Scheduler()
- Default (no-args) Constructor
Scheduler
public Scheduler(java.lang.String pName)
- Constructor with the necessary attributes to be set
- Parameters:
pName
- Name of the MBean
Scheduler
public Scheduler(java.lang.String pName,
java.lang.String pSchedulableClass,
java.lang.String pInitArguments,
java.lang.String pInitTypes,
long pInitialStartDate,
long pSchedulePeriod,
long pNumberOfRepetitions)
- Constructor with the necessary attributes to be set
- Parameters:
pName
- Name of the MBean
startSchedule
public void startSchedule()
- Description copied from interface:
SchedulerMBean
- Starts the schedule if the schedule is stopped otherwise nothing will happen.
The Schedule is immediately set to started even the first call is in the
future.
- Specified by:
startSchedule
in interface SchedulerMBean
- Following copied from interface:
org.jboss.util.SchedulerMBean
- Throws:
java.security.InvalidParameterException
- If any of the necessary values are not set
or invalid (especially for the Schedulable
class attributes).
stopSchedule
public void stopSchedule(boolean pDoItNow)
- Description copied from interface:
SchedulerMBean
- Stops the schedule because it is either not used anymore or to restart it with
new values.
- Specified by:
stopSchedule
in interface SchedulerMBean
- Following copied from interface:
org.jboss.util.SchedulerMBean
- Parameters:
pDoItNow
- If true the schedule will be stopped without waiting for the next
scheduled call otherwise the next call will be performed before
the schedule is stopped.
restartSchedule
public void restartSchedule()
- Description copied from interface:
SchedulerMBean
- Stops the server right now and starts it right now.
- Specified by:
restartSchedule
in interface SchedulerMBean
getSchedulableClass
public java.lang.String getSchedulableClass()
- Specified by:
getSchedulableClass
in interface SchedulerMBean
- Following copied from interface:
org.jboss.util.SchedulerMBean
- Returns:
- Full qualified Class name of the schedulable class called by the schedule or
null if not set.
setSchedulableClass
public void setSchedulableClass(java.lang.String pSchedulableClass)
throws java.security.InvalidParameterException
- Description copied from interface:
SchedulerMBean
- Sets the fully qualified Class name of the Schedulable Class being called by the
Scheduler. Must be set before the Schedule is started. Please also set the
SchedulerMBean.setSchedulableArguments(java.lang.String)
and SchedulerMBean.setSchedulableArgumentTypes(java.lang.String)
.
- Specified by:
setSchedulableClass
in interface SchedulerMBean
- Following copied from interface:
org.jboss.util.SchedulerMBean
- Parameters:
pSchedulableClass
- Fully Qualified Schedulable Class.- Throws:
java.security.InvalidParameterException
- If the given value is not a valid class or cannot
be loaded by the Scheduler or is not of instance
Schedulable.
getSchedulableArguments
public java.lang.String getSchedulableArguments()
- Specified by:
getSchedulableArguments
in interface SchedulerMBean
- Following copied from interface:
org.jboss.util.SchedulerMBean
- Returns:
- Comma seperated list of Constructor Arguments used to instantiate the
Schedulable class instance. Right now only basic data types, String and
Classes with a Constructor with a String as only argument are supported.
setSchedulableArguments
public void setSchedulableArguments(java.lang.String pArgumentList)
- Description copied from interface:
SchedulerMBean
- Sets the comma seperated list of arguments for the Schedulable class. Note that
this list must have as many elements as the Schedulable Argument Type list otherwise
the start of the Scheduler will fail. Right now only basic data types, String and
Classes with a Constructor with a String as only argument are supported.
- Specified by:
setSchedulableArguments
in interface SchedulerMBean
- Following copied from interface:
org.jboss.util.SchedulerMBean
- Parameters:
pArgumentList
- List of arguments used to create the Schedulable intance. If
the list is null or empty then the no-args constructor is used.
getSchedulableArgumentTypes
public java.lang.String getSchedulableArgumentTypes()
- Specified by:
getSchedulableArgumentTypes
in interface SchedulerMBean
- Following copied from interface:
org.jboss.util.SchedulerMBean
- Returns:
- A comma seperated list of Argument Types which should match the list of
arguments.
setSchedulableArgumentTypes
public void setSchedulableArgumentTypes(java.lang.String pTypeList)
throws java.security.InvalidParameterException
- Description copied from interface:
SchedulerMBean
- Sets the comma seperated list of argument types for the Schedulable class. This will
be used to find the right constructor and to created the right instances to call the
constructor with. This list must have as many elements as the Schedulable Arguments
list otherwise the start of the Scheduler will fail. Right now only basic data types,
String and Classes with a Constructor with a String as only argument are supported.
- Specified by:
setSchedulableArgumentTypes
in interface SchedulerMBean
- Following copied from interface:
org.jboss.util.SchedulerMBean
- Parameters:
pTypeList
- List of arguments used to create the Schedulable intance. If
the list is null or empty then the no-args constructor is used.- Throws:
java.security.InvalidParameterException
- If the given list contains a unknow datat type.
getSchedulePeriod
public long getSchedulePeriod()
- Specified by:
getSchedulePeriod
in interface SchedulerMBean
- Following copied from interface:
org.jboss.util.SchedulerMBean
- Returns:
- Schedule Period between two scheduled calls in Milliseconds. It will always
be bigger than 0 except it returns -1 then the schedule is stopped.
setSchedulePeriod
public void setSchedulePeriod(long pPeriod)
- Description copied from interface:
SchedulerMBean
- Sets the Schedule Period between two scheduled call.
- Specified by:
setSchedulePeriod
in interface SchedulerMBean
- Following copied from interface:
org.jboss.util.SchedulerMBean
- Parameters:
pPeriod
- Time between to scheduled calls (after the initial call) in Milliseconds.
This value must be bigger than 0.- Throws:
java.security.InvalidParameterException
- If the given value is less or equal than 0
getInitialRepetitions
public long getInitialRepetitions()
- Specified by:
getInitialRepetitions
in interface SchedulerMBean
- Following copied from interface:
org.jboss.util.SchedulerMBean
- Returns:
- Number of scheduled calls initially. If -1 then there is not limit.
setInitialRepetitions
public void setInitialRepetitions(long pNumberOfCalls)
- Description copied from interface:
SchedulerMBean
- Sets the initial number of scheduled calls.
- Specified by:
setInitialRepetitions
in interface SchedulerMBean
- Following copied from interface:
org.jboss.util.SchedulerMBean
- Parameters:
pNumberOfCalls
- Initial Number of scheduled calls. If -1 then the number
is unlimted.- Throws:
java.security.InvalidParameterException
- If the given value is less or equal than 0
getRemainingRepetitions
public long getRemainingRepetitions()
- Specified by:
getRemainingRepetitions
in interface SchedulerMBean
- Following copied from interface:
org.jboss.util.SchedulerMBean
- Returns:
- Number of remaining repetitions. If -1 then there is no limit.
isStarted
public boolean isStarted()
- Specified by:
isStarted
in interface SchedulerMBean
- Following copied from interface:
org.jboss.util.SchedulerMBean
- Returns:
- True if the schedule is up and running. If you want to start the schedule
with another values by using {@ #startSchedule} you have to stop the schedule
first with {@ #stopSchedule} and wait until this method returns false.
isRestartPending
public boolean isRestartPending()
- Specified by:
isRestartPending
in interface SchedulerMBean
- Following copied from interface:
org.jboss.util.SchedulerMBean
- Returns:
- True if any attributes are changed but the Schedule is not restarted yet.
getObjectName
public javax.management.ObjectName getObjectName(javax.management.MBeanServer pServer,
javax.management.ObjectName pName)
throws javax.management.MalformedObjectNameException
- Overrides:
getObjectName
in class ServiceMBeanSupport
getJNDIName
public java.lang.String getJNDIName()
getName
public java.lang.String getName()
- Specified by:
getName
in interface ServiceMBean
- Overrides:
getName
in class ServiceMBeanSupport
initService
protected void initService()
throws java.lang.Exception
- Overrides:
initService
in class ServiceMBeanSupport
startService
protected void startService()
throws java.lang.Exception
- Overrides:
startService
in class ServiceMBeanSupport
stopService
protected void stopService()
- Overrides:
stopService
in class ServiceMBeanSupport
Copyright © 2000 The JBoss Organization. All Rights Reserved.