summaryrefslogtreecommitdiffstats
path: root/pki/base/common/src/com/netscape/certsrv/jobs/IJobsScheduler.java
diff options
context:
space:
mode:
Diffstat (limited to 'pki/base/common/src/com/netscape/certsrv/jobs/IJobsScheduler.java')
-rw-r--r--pki/base/common/src/com/netscape/certsrv/jobs/IJobsScheduler.java137
1 files changed, 70 insertions, 67 deletions
diff --git a/pki/base/common/src/com/netscape/certsrv/jobs/IJobsScheduler.java b/pki/base/common/src/com/netscape/certsrv/jobs/IJobsScheduler.java
index e437919d7..fefa8cc95 100644
--- a/pki/base/common/src/com/netscape/certsrv/jobs/IJobsScheduler.java
+++ b/pki/base/common/src/com/netscape/certsrv/jobs/IJobsScheduler.java
@@ -17,27 +17,32 @@
// --- END COPYRIGHT BLOCK ---
package com.netscape.certsrv.jobs;
+
import java.util.Hashtable;
import com.netscape.certsrv.base.EBaseException;
import com.netscape.certsrv.base.ISubsystem;
+
/**
- * An interface that represents the job scheduler component. A JobScheduler is a
- * daemon thread that handles scheduled jobs like cron would do with different
- * jobs. This daemon wakes up at a pre-configured interval to see if there is
- * any job to be done, if so, a thread is created to execute the job(s).
+ * An interface that represents the job scheduler component. A JobScheduler
+ * is a daemon thread that handles scheduled jobs like cron would
+ * do with different jobs. This daemon wakes up at a pre-configured
+ * interval to see
+ * if there is any job to be done, if so, a thread is created to execute
+ * the job(s).
* <p>
- * The interval <b>jobsScheduler.interval</b> in the configuration is specified
- * as number of minutes. If not set, the default is 1 minute. Note that the cron
- * specification for each job CAN NOT be finer than the granularity of the
- * Scheduler daemon interval. For example, if the daemon interval is set to 5
- * minute, a job cron for every minute at 7am on each Tuesday (e.g. * 7 * * 2)
- * will result in the execution of the job thread only once every 5 minutes
- * during that hour. <b>The inteval value is recommended at 1 minute, setting it
- * otherwise has the potential of forever missing the beat</b>. Use with
- * caution.
- *
+ * The interval <b>jobsScheduler.interval</b> in the configuration is
+ * specified as number of minutes. If not set, the default is 1 minute.
+ * Note that the cron specification for each job CAN NOT be finer than
+ * the granularity of the Scheduler daemon interval. For example, if
+ * the daemon interval is set to 5 minute, a job cron for every minute
+ * at 7am on each Tuesday (e.g. * 7 * * 2) will result in the
+ * execution of the job thread only once every 5 minutes during that
+ * hour. <b>The inteval value is recommended at 1 minute, setting it
+ * otherwise has the potential of forever missing the beat</b>. Use
+ * with caution.
+ *
* @version $Revision$, $Date$
*/
public interface IJobsScheduler extends ISubsystem {
@@ -47,113 +52,111 @@ public interface IJobsScheduler extends ISubsystem {
public final static String ID = "jobsScheduler";
/**
- * constant that represents the configuration parameter "enabled" for this
- * component in CMS.cfg. The value of which tells CMS whether the
- * JobsScheduler is enabled or not
+ * constant that represents the configuration parameter
+ * "enabled" for this component in CMS.cfg. The value of which
+ * tells CMS whether the JobsScheduler is enabled or not
*/
public static final String PROP_ENABLED = "enabled";
/**
- * constant that represents the configuration parameter "interval" for this
- * component in CMS.cfg. The value of which tells CMS the interval that the
- * JobsScheduler thread should wake up and look for jobs to execute
+ * constant that represents the configuration parameter
+ * "interval" for this component in CMS.cfg. The value of which
+ * tells CMS the interval that the JobsScheduler thread should
+ * wake up and look for jobs to execute
*/
public static final String PROP_INTERVAL = "interval";
/**
- * constant that represents the configuration parameter "class" for this
- * component in CMS.cfg. The values of which are the actual implementation
- * classes
+ * constant that represents the configuration parameter
+ * "class" for this component in CMS.cfg. The values of which are
+ * the actual implementation classes
*/
public static final String PROP_CLASS = "class";
/**
- * constant that represents the configuration parameter "job" for this
- * component in CMS.cfg. The values of which gives configuration information
- * specific to one single job instance. There may be multiple jobs served by
- * the jobsScheduler
+ * constant that represents the configuration parameter
+ * "job" for this component in CMS.cfg. The values of which gives
+ * configuration information specific to one single job instance.
+ * There may be multiple jobs served by the jobsScheduler
*/
public static final String PROP_JOB = "job";
/**
- * constant that represents the configuration parameter "impl" for this
- * component in CMS.cfg. The values of which are actual plugin
- * implementation(s)
+ * constant that represents the configuration parameter
+ * "impl" for this component in CMS.cfg. The values of which are
+ * actual plugin implementation(s)
*/
public static final String PROP_IMPL = "impl";
/**
- * constant that represents the configuration parameter "pluginName" for
- * this component in CMS.cfg. The value of which gives the pluginName for
- * the job it associates with
+ * constant that represents the configuration parameter
+ * "pluginName" for this component in CMS.cfg. The value of which
+ * gives the pluginName for the job it associates with
*/
public static final String PROP_PLUGIN = "pluginName";
/**
* Retrieves all the job implementations.
- *
* @return a Hashtable of available job plugin implementations
*/
public Hashtable getPlugins();
/**
* Retrieves all the job instances.
- *
* @return a Hashtable of job instances
*/
- public Hashtable getInstances();
+ public Hashtable getInstances();
/**
- * Retrieves the configuration parameters of the given implementation. It is
- * used to return to the Console for configuration
- *
+ * Retrieves the configuration parameters of the given
+ * implementation. It is used to return to the Console for
+ * configuration
* @param implName the pulubin implementation name
- * @return a String array of required configuration parameters of the given
- * implementation.
- * @exception EJobsException when job plugin implementation can not be
- * found, instantiation is impossible, permission problem
- * with the class.
+ * @return a String array of required configuration parameters of
+ * the given implementation.
+ * @exception EJobsException when job plugin implementation can
+ * not be found, instantiation is impossible, permission problem
+ * with the class.
*/
- public String[] getConfigParams(String implName) throws EJobsException;
+ public String[] getConfigParams(String implName)
+ throws EJobsException;
/**
* Writes a message to the system log.
- *
- * @param level an integer representing the log message level. Depending on
- * the configuration set by the administrator, this value is a
- * determining factor for whether this message will be actually
- * logged or not. The lower the level, the higher the priority,
- * and the higher chance it will be logged.
- * @param msg the message to be written. Ideally should call
- * CMS.getLogMessage() to get the localizable message from the
- * log properties file.
+ * @param level an integer representing the log message level.
+ * Depending on the configuration set by the administrator, this
+ * value is a determining factor for whether this message will be
+ * actually logged or not. The lower the level, the higher the
+ * priority, and the higher chance it will be logged.
+ * @param msg the message to be written. Ideally should call
+ * CMS.getLogMessage() to get the localizable message
+ * from the log properties file.
*/
- public void log(int level, String msg);
+ public void log(int level, String msg);
/**
* Sets daemon's wakeup interval.
- *
* @param minutes time in minutes that is to be the frequency of
- * JobsScheduler wakeup call.
+ * JobsScheduler wakeup call.
*/
- public void setInterval(int minutes);
+ public void setInterval(int minutes);
/**
- * Starts up the JobsScheduler daemon. Usually called from the
+ * Starts up the JobsScheduler daemon. Usually called from the
* initialization method when it's successfully initialized.
*/
public void startDaemon();
/**
- * Creates a job cron. Each job is associated with a "cron" which specifies
- * the rule of frequency that this job should be executed (e.g. every Sunday
- * at midnight). This method is called by each job at initialization time.
- *
- * @param cs the string that represents the cron. See IJobCron for detail of
- * the format.
+ * Creates a job cron. Each job is associated with a "cron" which
+ * specifies the rule of frequency that this job should be
+ * executed (e.g. every Sunday at midnight). This method is
+ * called by each job at initialization time.
+ * @param cs the string that represents the cron. See IJobCron
+ * for detail of the format.
* @return IJobCron an IJobCron
- * @exception EBaseException when the cron string, cs, can not be parsed
- * correctly
+ * @exception EBaseException when the cron string, cs, can not be
+ * parsed correctly
*/
public IJobCron createJobCron(String cs) throws EBaseException;
}