Quartz A wrapper for generic HashSet that brings a common interface. Represents a collection ob objects that contains no duplicate elements. Marko Lahma (.NET) A sorted set. Marko Lahma (.NET) Returns a portion of the list whose elements are greater than the limit object parameter. The start element of the portion to extract. The portion of the collection whose elements are greater than the limit object parameter. Returns the first item in the set. First object. Returns the object in the specified index. Initializes a new instance of the class. The internal set to wrap. internalSet Simple C5 wrapper for common interface. Default constructor. Constructor that accepts comparer. Comparer to use. Constructor that prepopulates. Returns the first element. Return items from given range. Indexer. Only for backwards compatibility with serialization! Responsible for creating the instances of to be used within the instance. James House Marko Lahma (.NET) Initialize the factory, providing a handle to the that should be made available within the and the s within it. Called by the to obtain instances of . JobRunShell instances are responsible for providing the 'safe' environment for s to run in, and for performing all of the work of executing the , catching ANY thrown exceptions, updating the with the 's completion code, etc. A instance is created by a on behalf of the which then runs the shell in a thread from the configured when the scheduler determines that a has been triggered. James House Marko Lahma (.NET) A helpful abstract base class for implementors of . The methods in this class are empty so you only need to override the subset for the events you care about. Marko Lahma (.NET) The interface to be implemented by classes that want to be informed of major events. James House Marko Lahma (.NET) Called by the when a is scheduled. Called by the when a is unscheduled. Called by the when a has reached the condition in which it will never fire again. Called by the a s has been paused. Called by the a group of s has been paused. If a all groups were paused, then the parameter will be null. The trigger group. Called by the when a has been un-paused. Called by the when a group of s has been un-paused. If all groups were resumed, then the parameter will be null. The trigger group. Called by the when a has been added. Called by the when a has been deleted. Called by the when a has been paused. Called by the when a group of s has been paused. If all groups were paused, then the parameter will be null. If all jobs were paused, then both parameters will be null. The job group. Called by the when a has been un-paused. Called by the when a has been un-paused. The job group. Called by the when a serious error has occurred within the scheduler - such as repeated failures in the , or the inability to instantiate a instance when its has fired. Called by the to inform the listener that it has move to standby mode. Called by the to inform the listener that it has started. Called by the to inform the listener that it is starting. Called by the to inform the listener that it has Shutdown. Called by the to inform the listener that it has begun the shutdown sequence. Called by the to inform the listener that all jobs, triggers and calendars were deleted. Get the for this type's category. This should be used by subclasses for logging. This interface should be implemented by any class whose instances are intended to be executed by a thread. Marko Lahma (.NET) This method has to be implemented in order that starting of the thread causes the object's run method to be called in that separately executing thread. Create a JobRunShell instance with the given settings. The instance that should be made available within the . Initializes the job execution context with given scheduler and bundle. The scheduler. Requests the Shutdown. This method has to be implemented in order that starting of the thread causes the object's run method to be called in that separately executing thread. Runs begin procedures on this instance. Completes the execution. if set to true [successful execution]. Passivates this instance. Default concrete implementation of . Client programs may be interested in the 'listener' interfaces that are available from Quartz. The interface provides notifications of Job executions. The interface provides notifications of firings. The interface provides notifications of scheduler events and errors. Listeners can be associated with local schedulers through the interface. jhouse 2.0 - previously listeners were managed directly on the Scheduler interface. Add the given to the, and register it to receive events for Jobs that are matched by ANY of the given Matchers. If no matchers are provided, the will be used. Add the given to the, and register it to receive events for Jobs that are matched by ANY of the given Matchers. If no matchers are provided, the will be used. Add the given Matcher to the set of matchers for which the listener will receive events if ANY of the matchers match. the name of the listener to add the matcher to the additional matcher to apply for selecting events true if the identified listener was found and updated Remove the given Matcher to the set of matchers for which the listener will receive events if ANY of the matchers match. the name of the listener to add the matcher to the additional matcher to apply for selecting events true if the given matcher was found and removed from the listener's list of matchers Set the set of Matchers for which the listener will receive events if ANY of the matchers match. Removes any existing matchers for the identified listener! the name of the listener to add the matcher to the matchers to apply for selecting events true if the given matcher was found and removed from the listener's list of matchers Get the set of Matchers for which the listener will receive events if ANY of the matchers match. the name of the listener to add the matcher to the matchers registered for selecting events for the identified listener Remove the identified from the. true if the identified listener was found in the list, and removed. Get a List containing all of the s in the. Get the that has the given name. Add the given to the, and register it to receive events for Triggers that are matched by ANY of the given Matchers. If no matcher is provided, the will be used. Add the given to the, and register it to receive events for Triggers that are matched by ANY of the given Matchers. If no matcher is provided, the will be used. Add the given Matcher to the set of matchers for which the listener will receive events if ANY of the matchers match. the name of the listener to add the matcher to the additional matcher to apply for selecting events true if the identified listener was found and updated Remove the given Matcher to the set of matchers for which the listener will receive events if ANY of the matchers match. the name of the listener to add the matcher to the additional matcher to apply for selecting events true if the given matcher was found and removed from the listener's list of matchers Set the set of Matchers for which the listener will receive events if ANY of the matchers match. Removes any existing matchers for the identified listener! the name of the listener to add the matcher to the matchers to apply for selecting events true if the given matcher was found and removed from the listener's list of matchers Get the set of Matchers for which the listener will receive events if ANY of the matchers match. the name of the listener to add the matcher to the matchers registered for selecting events for the identified listener Remove the identified from the. true if the identified listener was found in the list, and removed. Get a List containing all of the s in the. Get the that has the given name. Register the given with the . Remove the given from the . true if the identified listener was found in the list, and removed. Get a List containing all of the s registered with the. This is the heart of Quartz, an indirect implementation of the interface, containing methods to schedule s, register instances, etc. James House Marko Lahma (.NET) Remote scheduler service interface. Marko Lahma (.NET) Starts this instance. Standbies this instance. Shutdowns this instance. returns true if the given JobGroup is paused returns true if the given TriggerGroup is paused Initializes the class. Register the given with the 's list of internal listeners. Remove the given from the 's list of internal listeners. true if the identified listener was found in the list, andremoved. Create a with the given configuration properties. Bind the scheduler to remoting infrastructure. Un-bind the scheduler from remoting infrastructure. Adds an object that should be kept as reference to prevent it from being garbage collected. The obj. Removes the object from garbage collection protected list. The obj. Starts the 's threads that fire s. All s that have misfired will be passed to the appropriate TriggerListener(s). Temporarily halts the 's firing of s. The scheduler is not destroyed, and can be re-started at any time. Halts the 's firing of s, and cleans up all resources associated with the QuartzScheduler. Equivalent to . The scheduler cannot be re-started. Halts the 's firing of s, and cleans up all resources associated with the QuartzScheduler. The scheduler cannot be re-started. if the scheduler will not allow this method to return until all currently executing jobs have completed. Validates the state. Add the identified by the given to the Scheduler, and associate the given with it. If the given Trigger does not reference any , then it will be set to reference the Job passed with it into this method. Schedule the given with the identified by the 's settings. Add the given to the Scheduler - with no associated . The will be 'dormant' until it is scheduled with a , or is called for it. The must by definition be 'durable', if it is not, SchedulerException will be thrown. Delete the identified from the Scheduler - and any associated s. true if the Job was found and deleted. Remove the indicated from the scheduler. Remove (delete) the with the given name, and store the new given one - which must be associated with the same job. the key of the trigger The new to be stored. if a with the given name and group was not found and removed from the store, otherwise the first fire time of the newly scheduled trigger. Creates a new positive random number The last random obtained Returns a new positive random number Trigger the identified (Execute it now) - with a non-volatile trigger. Store and schedule the identified Pause the with the given name. Pause all of the s in the given group. Pause the with the given name - by pausing all of its current s. Pause all of the s in the given group - by pausing all of their s. Resume (un-pause) the with the given name. If the missed one or more fire-times, then the 's misfire instruction will be applied. Resume (un-pause) all of the s in the matching groups. If any missed one or more fire-times, then the 's misfire instruction will be applied. Gets the paused trigger groups. Resume (un-pause) the with the given name. If any of the 's s missed one or more fire-times, then the 's misfire instruction will be applied. Resume (un-pause) all of the s in the matching groups. If any of the s had s that missed one or more fire-times, then the 's misfire instruction will be applied. Pause all triggers - equivalent of calling with a matcher matching all known groups. When is called (to un-pause), trigger misfire instructions WILL be applied. Resume (un-pause) all triggers - equivalent of calling on every group. If any missed one or more fire-times, then the 's misfire instruction will be applied. Get the names of all known groups. Get the names of all the s in the given group. Get all s that are associated with the identified . Get the names of all known groups. Get the names of all the s in the matching groups. Get the for the instance with the given name and group. Get the instance with the given name and group. Determine whether a with the given identifier already exists within the scheduler. the identifier to check for true if a Job exists with the given identifier Determine whether a with the given identifier already exists within the scheduler. the identifier to check for true if a Trigger exists with the given identifier Clears (deletes!) all scheduling data - all s, s s. Get the current state of the identified . Add (register) the given to the Scheduler. Delete the identified from the Scheduler. true if the Calendar was found and deleted. Get the instance with the given name. Get the names of all registered s. Add the given to the 's internal list. Remove the identified from the 's list of internal listeners. true if the identified listener was found in the list, and removed. Get the internal that has the given name. Add the given to the 's internal list. Remove the identified from the 's list of internal listeners. true if the identified listener was found in the list, and removed. Get the internal that has the given name. Notifies the job store job complete. The trigger. The detail. The instruction code. Notifies the scheduler thread. Notifies the trigger listeners about fired trigger. The job execution context. Notifies the trigger listeners about misfired trigger. The trigger. Notifies the trigger listeners of completion. The job execution context. The instruction code to report to triggers. Notifies the job listeners about job to be executed. The jec. Notifies the job listeners that job execution was vetoed. The job execution context. Notifies the job listeners that job was executed. The jec. The je. Notifies the scheduler listeners about scheduler error. The MSG. The se. Notifies the scheduler listeners about job that was scheduled. The trigger. Notifies the scheduler listeners about job that was unscheduled. Notifies the scheduler listeners about finalized trigger. The trigger. Notifies the scheduler listeners about paused trigger. The group. Notifies the scheduler listeners about paused trigger. Notifies the scheduler listeners resumed trigger. The group. Notifies the scheduler listeners resumed trigger. Notifies the scheduler listeners about paused job. Notifies the scheduler listeners about paused job. The group. Notifies the scheduler listeners about resumed job. Notifies the scheduler listeners about resumed job. The group. Notifies the scheduler listeners about scheduler shutdown. Interrupt all instances of the identified InterruptableJob. Interrupt all instances of the identified InterruptableJob executing in this Scheduler instance. This method is not cluster aware. That is, it will only interrupt instances of the identified InterruptableJob currently executing in this Scheduler instance, not across the entire cluster. Obtains a lifetime service object to control the lifetime policy for this instance. Gets the version of the Quartz Scheduler. The version. Gets the version major. The version major. Gets the version minor. The version minor. Gets the version iteration. The version iteration. Gets the scheduler signaler. The scheduler signaler. Returns the name of the . Returns the instance Id of the . Returns the of the . Gets or sets a value indicating whether to signal on scheduling change. true if scheduler should signal on scheduling change; otherwise, false. Reports whether the is paused. Gets the job store class. The job store class. Gets the thread pool class. The thread pool class. Gets the size of the thread pool. The size of the thread pool. Reports whether the has been Shutdown. Return a list of objects that represent all currently executing Jobs in this Scheduler instance. This method is not cluster aware. That is, it will only return Jobs currently executing in this Scheduler instance, not across the entire cluster. Note that the list returned is an 'instantaneous' snap-shot, and that as soon as it's returned, the true list of executing jobs may be different. Get a List containing all of the internal s registered with the . Gets or sets the job factory. The job factory. Gets the running since. The running since. Gets the number of jobs executed. The number of jobs executed. Gets a value indicating whether this scheduler supports persistence. true if supports persistence; otherwise, false. Get a List containing all of the s in the 's internal list. Get a list containing all of the s in the 's internal list. Helper class to start scheduler in a delayed fashion. ErrorLogger - Scheduler Listener Class The interface to be implemented by classes that want to be informed when a executes. In general, applications that use a will not have use for this mechanism. James House Marko Lahma (.NET) Called by the when a is about to be executed (an associated has occurred). This method will not be invoked if the execution of the Job was vetoed by a . Called by the when a was about to be executed (an associated has occurred), but a vetoed it's execution. Called by the after a has been executed, and be for the associated 's method has been called. Get the name of the . Contains all of the resources (,, etc.) necessary to create a instance. James House Marko Lahma (.NET) Gets the unique identifier. Name of the scheduler. The scheduler instance id. Gets the unique identifier. Add the given for the to use. This method expects the plugin's "initialize" method to be invoked externally (either before or after this method is called). Get or set the name for the . if name is null or empty. Get or set the instance Id for the . if name is null or empty. Get or set the name for the . if name is null or empty. Get or set the for the to use. if threadPool is null. Get or set the for the to use. if jobStore is null. Get or set the for the to use. if jobRunShellFactory is null. Get the of all s for the to use. Gets or sets a value indicating whether to make scheduler thread daemon. true if scheduler should be thread daemon; otherwise, false. Gets or sets the scheduler exporter. The scheduler exporter. The ThreadExecutor which runs the QuartzSchedulerThread. Gets or sets the batch time window. The thread responsible for performing the work of firing s that are registered with the . James House Marko Lahma (.NET) Support class used to handle threads Marko Lahma (.NET) The instance of System.Threading.Thread Initializes a new instance of the QuartzThread class Initializes a new instance of the Thread class. The name of the thread This method has no functionality unless the method is overridden Causes the operating system to change the state of the current thread instance to ThreadState.Running Interrupts a thread that is in the WaitSleepJoin thread state Blocks the calling thread until a thread terminates Obtain a string that represents the current object A string that represents the current object Gets or sets the name of the thread Gets or sets a value indicating the scheduling priority of a thread Gets or sets a value indicating whether or not a thread is a background thread. Gets the randomized idle wait time. The randomized idle wait time. Construct a new for the given as a non-daemon with normal priority. Construct a new for the given as a with the given attributes. Signals the main processing loop to pause at the next possible point. Signals the main processing loop to pause at the next possible point. Signals the main processing loop that a change in scheduling has been made - in order to interrupt any sleeping that may be occurring while waiting for the fire time to arrive. the time when the newly scheduled trigger will fire. If this method is being called do to some other even (rather than scheduling a trigger), the caller should pass null. The main processing loop of the . Gets the log. The log. Sets the idle wait time. The idle wait time. Gets a value indicating whether this is paused. true if paused; otherwise, false. An interface to be used by instances in order to communicate signals back to the . James House Marko Lahma (.NET) An interface to be used by instances in order to communicate signals back to the . James House Marko Lahma (.NET) Notifies the scheduler about misfired trigger. The trigger that misfired. Notifies the scheduler about finalized trigger. The trigger that has finalized. Signals the scheduling change. Informs scheduler listeners about an exception that has occurred. Notifies the scheduler about misfired trigger. The trigger that misfired. Notifies the scheduler about finalized trigger. The trigger that has finalized. Signals the scheduling change. The DbMetadata factory based on application configuration Base class for the DbMetadata Factory implementations Gets the supported provider names. The enumeration of the supported provider names Gets the database metadata associated to the specified provider name. Name of the provider. The metadata instance for the requested provider Initializes a new instance of the class. Name of the configuration section. The provider name prefix. The providerNamePrefix cannot be null or empty. Gets the properties parser. The properties parser Gets the supported provider names. The enumeration of the supported provider names Gets the database metadata associated to the specified provider name. Name of the provider. The metadata instance for the specified name Metadata information about specific ADO.NET driver library. Metadata is used to create correct types of object instances to interact with the underlying database. Marko Lahma Initializes this instance. Parses information and initializes startup values. Gets the name of the parameter which includes the parameter prefix for this database. Name of the parameter. Gets or sets the name of the assembly that holds the connection library. The name of the assembly. Gets or sets the name of the product. The name of the product. Gets or sets the type of the connection. The type of the connection. Gets or sets the type of the command. The type of the command. Gets or sets the type of the parameter. The type of the parameter. Gets the type of the command builder. The type of the command builder. Gets the command builder's derive parameters method. The command builder derive parameters method. Gets or sets the parameter name prefix. The parameter name prefix. Gets or sets the type of the exception that is thrown when using driver library. The type of the exception. Gets or sets a value indicating whether parameters are bind by name when using ADO.NET parameters. true if parameters are bind by name; otherwise, false. Gets or sets the type of the database parameters. The type of the parameter db. Gets the parameter db type property. The parameter db type property. Gets the parameter is nullable property. The parameter is nullable property. Gets or sets the type of the db binary column. This is a string representation of Enum element because this information is database driver specific. The type of the db binary. Gets the type of the db binary. The type of the db binary. Sets the name of the parameter db type property. The name of the parameter db type property. Gets or sets a value indicating whether [use parameter name prefix in parameter collection]. true if [use parameter name prefix in parameter collection]; otherwise, false. Concrete implementation of . Marko Lahma Data access provider interface. Marko Lahma Initializes the db provider implementation. Returns a new command object for executing SQL statements/Stored Procedures against the database. An new Returns a new instance of the providers CommandBuilder class. In .NET 1.1 there was no common base class or interface for command builders, hence the return signature is object to be portable (but more loosely typed) across .NET 1.1/2.0 A new Command Builder Returns a new connection object to communicate with the database. A new Returns a new parameter object for binding values to parameter placeholders in SQL statements or Stored Procedure variables. A new Shutdowns this instance. Connection string used to create connections. Parse metadata once in static constructor. Initializes a new instance of the class. Name of the db provider. The connection string. Registers DB metadata information for given provider name. Generates the valid provider names information. Returns a new command object for executing SQL statements/Stored Procedures against the database. An new Returns a new instance of the providers CommandBuilder class. A new Command Builder In .NET 1.1 there was no common base class or interface for command builders, hence the return signature is object to be portable (but more loosely typed) across .NET 1.1/2.0 Returns a new connection object to communicate with the database. A new Returns a new parameter object for binding values to parameter placeholders in SQL statements or Stored Procedure variables. A new Shutdowns this instance. Connection string used to create connections. Gets the metadata. The metadata. The DbMetadata factory based on embedded assembly resource Initializes a new instance of the class. Name of the resource. Name of the property group (The prefix of the provider name). Gets the supported provider names. The enumeration of the supported provider names Gets the database metadata associated to the specified provider name. Name of the provider. The metadata instance for the specified name This interface can be implemented by any class that needs to use the constants contained herein. Jeffrey Wescott James House Marko Lahma(.NET) Simple Trigger type. Cron Trigger type. Calendar Interval Trigger type. Daily Time Interval Trigger type. A general blob Trigger type. This class contains utility functions for use in all delegate classes. Jeffrey Wescott Marko Lahma (.NET) Replace the table prefix in a query by replacing any occurrences of "{0}" with the table prefix. The unsubstituted query The table prefix the scheduler name The query, with proper table prefix substituted Common helper methods for working with ADO.NET. Marko Lahma Persist a CalendarIntervalTriggerImpl by converting internal fields to and from SimplePropertiesTriggerProperties. A base implementation of that persists trigger fields in the "QRTZ_SIMPROP_TRIGGERS" table. This allows extending concrete classes to simply implement a couple methods that do the work of getting/setting the trigger's fields, and creating the for the particular type of trigger. jhouse Marko Lahma (.NET) An interface which provides an implementation for storing a particular type of 's extended properties. jhouse Initializes the persistence delegate. Returns whether the trigger type can be handled by delegate. Returns database discriminator value for trigger type. Inserts trigger's special properties. Updates trigger's special properties. Deletes trigger's special properties. Loads trigger's special properties. Returns whether the trigger type can be handled by delegate. Returns database discriminator value for trigger type. Utility class to keep track of both active transaction and connection. Marko Lahma Initializes a new instance of the class. The connection. The transaction. Gets or sets the connection. The connection. Gets or sets the transaction. The transaction. Persist a CronTriggerImpl. Persist a DailyTimeIntervalTrigger by converting internal fields to and from SimplePropertiesTriggerProperties. Zemian Deng saltnlight5@gmail.com Nuno Maia (.NET) Base class for database based lock handlers for providing thread/resource locking in order to protect resources from being altered by multiple threads at the same time. Marko Lahma (.NET) This class extends to include the query string constants in use by the class. Jeffrey Wescott Marko Lahma (.NET) An interface for providing thread/resource locking in order to protect resources from being altered by multiple threads at the same time. James House Marko Lahma (.NET) Grants a lock on the identified resource to the calling thread (blocking until it is available). true if the lock was obtained. Release the lock on the identified resource if it is held by the calling thread. Whether this Semaphore implementation requires a database connection for its lock management operations. Interface for Quartz objects that need to know what the table prefix of the tables used by a ADO.NET JobStore is. Marko Lahma (.NET) Table prefix to use. Initializes a new instance of the class. The table prefix. the scheduler name The SQL. The default SQL. The db provider. Execute the SQL that will lock the proper database row. Grants a lock on the identified resource to the calling thread (blocking until it is available). true if the lock was obtained. Release the lock on the identified resource if it is held by the calling thread. Determine whether the calling thread owns a lock on the identified resource. Gets or sets the lock owners. The lock owners. Gets the log. The log. This Semaphore implementation does use the database. Gets or sets the table prefix. The table prefix. Initialization arguments holder for implementations. Whether simple should be used (for serialization safety). The logger to use during execution. The prefix of all table names. The instance's name. The instance id. The db provider. The type loading strategy. Object serializer and deserializer strategy to use. Custom driver delegate initialization. initStrings are of the format: settingName=settingValue|otherSettingName=otherSettingValue|... Delegate implementation for Firebird. This is meant to be an abstract base class for most, if not all, implementations. Subclasses should override only those methods that need special handling for the DBMS driver in question. Jeffrey Wescott James House Marko Lahma (.NET) This is the base interface for all driver delegate classes. This interface is very similar to the interface except each method has an additional parameter. Unless a database driver has some extremely-DB-specific requirements, any IDriverDelegate implementation classes should extend the class. Jeffrey Wescott James House Marko Lahma (.NET) Initializes the driver delegate with configuration data. Update all triggers having one of the two given states, to the given new state. The DB Connection The new state for the triggers The first old state to update The second old state to update Number of rows updated Get the names of all of the triggers that have misfired - according to the given timestamp. The DB Connection The timestamp. An array of objects Get the names of all of the triggers in the given state that have misfired - according to the given timestamp. The DB Connection The state. The time stamp. An array of objects Get the names of all of the triggers in the given group and state that have misfired - according to the given timestamp. The DB Connection Name of the group. The state. The timestamp. An array of objects Select all of the triggers for jobs that are requesting recovery. The returned trigger objects will have unique "recoverXXX" trigger names and will be in the trigger group. In order to preserve the ordering of the triggers, the fire time will be set from the ColumnFiredTime column in the TableFiredTriggers table. The caller is responsible for calling on each returned trigger. It is also up to the caller to insert the returned triggers to ensure that they are fired. The DB Connection An array of objects Delete all fired triggers. The DB Connection The number of rows deleted Delete all fired triggers of the given instance. The DB Connection The instance id. The number of rows deleted Insert the job detail record. The DB Connection The job to insert. Number of rows inserted. Update the job detail record. The DB Connection. The job to update. Number of rows updated. Get the names of all of the triggers associated with the given job. The DB Connection The key identifying the job. Delete the job detail record for the given job. The DB Connection The key identifying the job. the number of rows deleted Check whether or not the given job is stateful. The DB Connection The key identifying the job. true if the job exists and is stateful, false otherwise Check whether or not the given job exists. The DB Connection The key identifying the job. true if the job exists, false otherwise Update the job data map for the given job. The DB Connection The job. the number of rows updated Select the JobDetail object for a given job name / group name. The DB Connection The key identifying the job. The class load helper. The populated JobDetail object Select the total number of jobs stored. The DB Connection the total number of jobs stored Select all of the job group names that are stored. The DB Connection. an array of group names Select all of the jobs contained in a given group. The DB Connection an array of job names Insert the base trigger data. The DB Connection The trigger to insert. The state that the trigger should be stored in. The job detail. The number of rows inserted Insert the blob trigger data. The DB Connection The trigger to insert The number of rows inserted Update the base trigger data. the DB Connection The trigger. The state. The job detail. the number of rows updated Update the blob trigger data. the DB Connection The trigger. the number of rows updated Check whether or not a trigger exists. the DB Connection The key identifying the trigger. the number of rows updated Update the state for a given trigger. The DB Connection The key identifying the trigger. The new state for the trigger. the number of rows updated Update the given trigger to the given new state, if it is in the given old state. The DB connection The key identifying the trigger. The new state for the trigger The old state the trigger must be in int the number of rows updated Update the given trigger to the given new state, if it is one of the given old states. The DB connection The key identifying the trigger. The new state for the trigger One of the old state the trigger must be in One of the old state the trigger must be in One of the old state the trigger must be in int the number of rows updated SQLException Update all triggers in the given group to the given new state, if they are in one of the given old states. The DB connection The new state for the trigger One of the old state the trigger must be in One of the old state the trigger must be in One of the old state the trigger must be in The number of rows updated Update all of the triggers of the given group to the given new state, if they are in the given old state. The DB connection The new state for the trigger group The old state the triggers must be in. int the number of rows updated Update the states of all triggers associated with the given job. The DB Connection The key identifying the job. The new state for the triggers. The number of rows updated Update the states of any triggers associated with the given job, that are the given current state. The DB Connection The key identifying the job. The new state for the triggers The old state of the triggers the number of rows updated Delete the BLOB trigger data for a trigger. The DB Connection The key identifying the trigger. The number of rows deleted Delete the base trigger data for a trigger. The DB Connection The key identifying the trigger. the number of rows deleted Select the number of triggers associated with a given job. The DB Connection The key identifying the job. the number of triggers for the given job Select the job to which the trigger is associated. Select the job to which the trigger is associated. Allow option to load actual job class or not. When case of remove, we do not need to load the type, which in many cases, it's no longer exists. Select the triggers for a job> The DB Connection The key identifying the job. an array of objects associated with a given job. Select the triggers for a calendar The DB Connection. Name of the calendar. An array of objects associated with a given job. Select a trigger. The DB Connection. The key identifying the trigger. The object. Select a trigger's JobDataMap. The DB Connection. The key identifying the trigger. The of the Trigger, never null, but possibly empty. Select a trigger's state value. The DB Connection. The key identifying the trigger. The object. Select a triggers status (state and next fire time). The DB Connection. The key identifying the trigger. A object, or null Select the total number of triggers stored. The DB Connection. The total number of triggers stored. Select all of the trigger group names that are stored. The DB Connection. An array of group names. Select all of the triggers contained in a given group. The DB Connection. An array of trigger names. Select all of the triggers in a given state. The DB Connection. The state the triggers must be in. An array of trigger s. Inserts the paused trigger group. The conn. Name of the group. Deletes the paused trigger group. The conn. Name of the group. Deletes all paused trigger groups. The conn. Determines whether the specified trigger group is paused. The conn. Name of the group. true if trigger group is paused; otherwise, false. Selects the paused trigger groups. The DB Connection. Determines whether given trigger group already exists. The conn. Name of the group. true if trigger group exists; otherwise, false. Insert a new calendar. The DB Connection. The name for the new calendar. The calendar. The number of rows inserted. Update a calendar. The DB Connection. The name for the new calendar. The calendar. The number of rows updated. Check whether or not a calendar exists. The DB Connection. The name of the calendar. true if the trigger exists, false otherwise. Select a calendar. The DB Connection. The name of the calendar. The Calendar. Check whether or not a calendar is referenced by any triggers. The DB Connection. The name of the calendar. true if any triggers reference the calendar, false otherwise Delete a calendar. The DB Connection The name of the trigger. The number of rows deleted. Select the total number of calendars stored. The DB Connection The total number of calendars stored. Select all of the stored calendars. The DB Connection An array of calendar names. Select the trigger that will be fired at the given fire time. The DB Connection The time that the trigger will be fired. A representing the trigger that will be fired at the given fire time, or null if no trigger will be fired at that time Insert a fired trigger. The DB Connection The trigger. The state that the trigger should be stored in. The job detail. The number of rows inserted. Select the states of all fired-trigger records for a given trigger, or trigger group if trigger name is . The DB Connection Name of the trigger. Name of the group. A list of FiredTriggerRecord objects. Select the states of all fired-trigger records for a given job, or job group if job name is . The DB Connection Name of the job. Name of the group. A List of FiredTriggerRecord objects. Select the states of all fired-trigger records for a given scheduler instance. The DB Connection Name of the instance. A list of FiredTriggerRecord objects. Delete a fired trigger. The DB Connection The fired trigger entry to delete. The number of rows deleted. Get the number instances of the identified job currently executing. The DB Connection The key identifying the job. The number instances of the identified job currently executing. Insert a scheduler-instance state record. The DB Connection The instance id. The check in time. The interval. The number of inserted rows. Delete a scheduler-instance state record. The DB Connection The instance id. The number of deleted rows. Update a scheduler-instance state record. The DB Connection The instance id. The check in time. The number of updated rows. A List of all current s. If instanceId is not null, then only the record for the identified instance will be returned. The DB Connection The instance id. Select the next trigger which will fire to fire between the two given timestamps in ascending order of fire time, and then descending by priority. The conn. highest value of of the triggers (exclusive) highest value of of the triggers (inclusive) maximum number of trigger keys allow to acquired in the returning list. A (never null, possibly empty) list of the identifiers (Key objects) of the next triggers to be fired. Select the distinct instance names of all fired-trigger records. This is useful when trying to identify orphaned fired triggers (a fired trigger without a scheduler state record.) The conn. Counts the misfired triggers in states. The conn. The state1. The ts. Selects the misfired triggers in states. The conn. The state1. The ts. The count. The result list. Clear (delete!) all scheduling data - all s, s s. Service interface or modifying parameters and resultset values. Prepares a to be used to access database. Connection and transaction pair SQL to run Adds a parameter to . Command to add parameter to Parameter's name Parameter's value Adds a parameter to . Command to add parameter to Parameter's name Parameter's value Parameter's data type Gets the db presentation for boolean value. Subclasses can overwrite this behaviour. Value to map to database. Gets the boolean value from db presentation. Subclasses can overwrite this behaviour. Value to map from database. Gets the db presentation for date/time value. Subclasses can overwrite this behaviour. Value to map to database. Gets the date/time value from db presentation. Subclasses can overwrite this behaviour. Value to map from database. Gets the db presentation for time span value. Subclasses can overwrite this behaviour. Value to map to database. Gets the time span value from db presentation. Subclasses can overwrite this behaviour. Value to map from database. Initializes the driver delegate. Insert the job detail record. the DB Connection the new state for the triggers the first old state to update the second old state to update number of rows updated Get the names of all of the triggers that have misfired. the DB Connection The ts. an array of objects Select all of the triggers in a given state. The DB Connection The state the triggers must be in an array of trigger s Get the names of all of the triggers in the given state that have misfired - according to the given timestamp. The DB Connection The state. The time stamp. An array of objects Get the names of all of the triggers in the given state that have misfired - according to the given timestamp. No more than count will be returned. The conn. The state1. The ts. The most misfired triggers to return, negative for all Output parameter. A List of objects. Must not be null Whether there are more misfired triggers left to find beyond the given count. Get the number of triggers in the given state that have misfired - according to the given timestamp. Get the names of all of the triggers in the given group and state that have misfired. The DB Connection Name of the group. The state. The timestamp. an array of objects Select all of the triggers for jobs that are requesting recovery. The returned trigger objects will have unique "recoverXXX" trigger names and will be in the trigger group. In order to preserve the ordering of the triggers, the fire time will be set from the ColumnFiredTime column in the TableFiredTriggers table. The caller is responsible for calling on each returned trigger. It is also up to the caller to insert the returned triggers to ensure that they are fired. The DB Connection an array of objects Delete all fired triggers. The DB Connection. The number of rows deleted. Delete all fired triggers of the given instance. The DB Connection The instance id. The number of rows deleted Clear (delete!) all scheduling data - all s, s s. Insert the job detail record. The DB Connection. The job to insert. Number of rows inserted. Gets the db presentation for boolean value. Subclasses can overwrite this behaviour. Value to map to database. Gets the boolean value from db presentation. Subclasses can overwrite this behaviour. Value to map from database. Gets the db presentation for date/time value. Subclasses can overwrite this behaviour. Value to map to database. Gets the date/time value from db presentation. Subclasses can overwrite this behaviour. Value to map from database. Gets the db presentation for time span value. Subclasses can overwrite this behaviour. Value to map to database. Gets the time span value from db presentation. Subclasses can overwrite this behaviour. Value to map from database. Update the job detail record. The DB Connection. The job to update. Number of rows updated. Get the names of all of the triggers associated with the given job. The DB Connection. The key identifying the job. An array of objects Delete the job detail record for the given job. the DB Connection The key identifying the job. the number of rows deleted Check whether or not the given job is stateful. the DB Connection The key identifying the job. true if the job exists and is stateful, false otherwise Check whether or not the given job exists. the DB Connection The key identifying the job. true if the job exists, false otherwise Update the job data map for the given job. The conn. the job to update the number of rows updated Select the JobDetail object for a given job name / group name. The DB Connection. The key identifying the job. The load helper. The populated JobDetail object. build Map from java.util.Properties encoding. Select the total number of jobs stored. The DB Connection. The total number of jobs stored. Select all of the job group names that are stored. The DB Connection. An array of group names. Select all of the jobs contained in a given group. The DB Connection. An array of job names. Insert the base trigger data. the DB Connection the trigger to insert the state that the trigger should be stored in The job detail. the number of rows inserted Insert the blob trigger data. The DB Connection. The trigger to insert. The number of rows inserted. Update the base trigger data. The DB Connection. The trigger to insert. The state that the trigger should be stored in. The job detail. The number of rows updated. Update the blob trigger data. The DB Connection. The trigger to insert. The number of rows updated. Check whether or not a trigger exists. The DB Connection. the key of the trigger true if the trigger exists, false otherwise Update the state for a given trigger. The DB Connection. the key of the trigger The new state for the trigger. The number of rows updated. Update the given trigger to the given new state, if it is one of the given old states. The DB connection. the key of the trigger The new state for the trigger. One of the old state the trigger must be in. One of the old state the trigger must be in. One of the old state the trigger must be in. The number of rows updated. Update all triggers in the given group to the given new state, if they are in one of the given old states. The DB connection. The new state for the trigger. One of the old state the trigger must be in. One of the old state the trigger must be in. One of the old state the trigger must be in. The number of rows updated. Update the given trigger to the given new state, if it is in the given old state. the DB connection the key of the trigger the new state for the trigger the old state the trigger must be in int the number of rows updated Update all of the triggers of the given group to the given new state, if they are in the given old state. the DB connection the new state for the trigger group the old state the triggers must be in int the number of rows updated Update the states of all triggers associated with the given job. the DB Connection the key of the job the new state for the triggers the number of rows updated Updates the state of the trigger states for job from other. The conn. Key of the job. The state. The old state. Delete the cron trigger data for a trigger. the DB Connection the key of the trigger the number of rows deleted Delete the base trigger data for a trigger. the DB Connection the key of the trigger the number of rows deleted Select the number of triggers associated with a given job. the DB Connection the key of the job the number of triggers for the given job Select the triggers for a job the DB Connection the key of the job an array of objects associated with a given job. Select the triggers for a calendar The DB Connection. Name of the calendar. An array of objects associated with a given job. Select a trigger. the DB Connection the key of the trigger The object Select a trigger's JobDataMap. the DB Connection the key of the trigger The of the Trigger, never null, but possibly empty. Select a trigger's state value. the DB Connection the key of the trigger The object Select a trigger status (state and next fire time). the DB Connection the key of the trigger a object, or null Select the total number of triggers stored. the DB Connection the total number of triggers stored Select all of the trigger group names that are stored. the DB Connection an array of group names Select all of the triggers contained in a given group. the DB Connection an array of trigger names Inserts the paused trigger group. The conn. Name of the group. Deletes the paused trigger group. The conn. Name of the group. Deletes all paused trigger groups. The conn. Determines whether the specified trigger group is paused. The conn. Name of the group. true if trigger group is paused; otherwise, false. Determines whether given trigger group already exists. The conn. Name of the group. true if trigger group exists; otherwise, false. Insert a new calendar. the DB Connection The name for the new calendar. The calendar. the number of rows inserted IOException Update a calendar. the DB Connection The name for the new calendar. The calendar. the number of rows updated IOException Check whether or not a calendar exists. the DB Connection The name of the calendar. true if the trigger exists, false otherwise Select a calendar. the DB Connection The name of the calendar. the Calendar ClassNotFoundException IOException Check whether or not a calendar is referenced by any triggers. the DB Connection The name of the calendar. true if any triggers reference the calendar, false otherwise Delete a calendar. the DB Connection The name of the trigger. the number of rows deleted Select the total number of calendars stored. the DB Connection the total number of calendars stored Select all of the stored calendars. the DB Connection an array of calendar names Select the trigger that will be fired at the given fire time. the DB Connection the time that the trigger will be fired a representing the trigger that will be fired at the given fire time, or null if no trigger will be fired at that time Select the next trigger which will fire to fire between the two given timestamps in ascending order of fire time, and then descending by priority. The conn. highest value of of the triggers (exclusive) highest value of of the triggers (inclusive) maximum number of trigger keys allow to acquired in the returning list. A (never null, possibly empty) list of the identifiers (Key objects) of the next triggers to be fired. Insert a fired trigger. the DB Connection the trigger the state that the trigger should be stored in The job. the number of rows inserted Update a fired trigger. the DB Connection the trigger the state that the trigger should be stored in the number of rows inserted Select the states of all fired-trigger records for a given trigger, or trigger group if trigger name is . The DB connection. Name of the trigger. Name of the group. a List of objects. Select the states of all fired-trigger records for a given job, or job group if job name is . The DB connection. Name of the job. Name of the group. a List of objects. Select the states of all fired-trigger records for a given scheduler instance. The DB Connection Name of the instance. A list of FiredTriggerRecord objects. Select the distinct instance names of all fired-trigger records. The conn. This is useful when trying to identify orphaned fired triggers (a fired trigger without a scheduler state record.) Delete a fired trigger. the DB Connection the fired trigger entry to delete the number of rows deleted Selects the job execution count. The DB connection. The key of the job. Inserts the state of the scheduler. The conn. The instance id. The check in time. The interval. Deletes the state of the scheduler. The database connection. The instance id. Updates the state of the scheduler. The database connection. The instance id. The check in time. A List of all current s. If instanceId is not null, then only the record for the identified instance will be returned. The DB Connection The instance id. Replace the table prefix in a query by replacing any occurrences of "{0}" with the table prefix. The unsubstituted query The query, with proper table prefix substituted Create a serialized version of an Object. the object to serialize Serialized object as byte array. Remove the transient data from and then create a serialized version of a and returns the underlying bytes. The data. the serialized data as byte array serialize The data. Convert the JobDataMap into a list of properties. Convert the JobDataMap into a list of properties. This method should be overridden by any delegate subclasses that need special handling for BLOBs. The default implementation uses standard ADO.NET operations. The data reader, already queued to the correct row. The column index for the BLOB. The deserialized object from the DataReader BLOB. This method should be overridden by any delegate subclasses that need special handling for BLOBs for job details. The result set, already queued to the correct row. The column index for the BLOB. The deserialized Object from the ResultSet BLOB. Selects the paused trigger groups. The DB Connection. Gets the select next trigger to acquire SQL clause. FireBird version with ROWS support. Conveys the state of a fired-trigger record. James House Marko Lahma (.NET) Gets or sets the fire instance id. The fire instance id. Gets or sets the fire timestamp. The fire timestamp. Gets or sets the scheduled fire timestamp. Gets or sets a value indicating whether job disallows concurrent execution. Gets or sets the job key. The job key. Gets or sets the scheduler instance id. The scheduler instance id. Gets or sets the trigger key. The trigger key. Gets or sets the state of the fire instance. The state of the fire instance. Gets or sets a value indicating whether [job requests recovery]. true if [job requests recovery]; otherwise, false. Gets or sets the priority. The priority. Exception class for when a driver delegate cannot be found for a given configuration, or lack thereof. Jeffrey Wescott Marko Lahma (.NET) Base class for exceptions thrown by the Quartz . SchedulerExceptions may contain a reference to another , which was the underlying cause of the SchedulerException. James House Marko Lahma (.NET) Initializes a new instance of the class. Initializes a new instance of the class. The MSG. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The class name is null or is zero (0). The info parameter is null. Initializes a new instance of the class. The cause. Initializes a new instance of the class. The MSG. The cause. Creates and returns a string representation of the current exception. A string representation of the current exception. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The class name is null or is zero (0). The info parameter is null. is meant to be used in an application-server or other software framework environment that provides container-managed-transactions. No commit / rollback will be handled by this class. If you need commit / rollback, use instead. Jeffrey Wescott James House Srinivas Venkatarangaiah Marko Lahma (.NET) Contains base functionality for ADO.NET-based JobStore implementations. Jeffrey Wescott James House Marko Lahma (.NET) The interface to be implemented by classes that want to provide a and storage mechanism for the 's use. Storage of s and s should be keyed on the combination of their name and group for uniqueness. James House Marko Lahma (.NET) Called by the QuartzScheduler before the is used, in order to give the it a chance to Initialize. Called by the QuartzScheduler to inform the that the scheduler has started. Called by the QuartzScheduler to inform the JobStore that the scheduler has been paused. Called by the QuartzScheduler to inform the JobStore that the scheduler has resumed after being paused. Called by the QuartzScheduler to inform the that it should free up all of it's resources because the scheduler is shutting down. Store the given and . The to be stored. The to be stored. ObjectAlreadyExistsException returns true if the given JobGroup is paused returns true if the given TriggerGroup is paused Store the given . The to be stored. If , any existing in the with the same name and group should be over-written. Remove (delete) the with the given key, and any s that reference it. If removal of the results in an empty group, the group should be removed from the 's list of known group names. if a with the given name and group was found and removed from the store. Retrieve the for the given . The desired , or null if there is no match. Store the given . The to be stored. If , any existing in the with the same name and group should be over-written. ObjectAlreadyExistsException Remove (delete) the with the given key. If removal of the results in an empty group, the group should be removed from the 's list of known group names. If removal of the results in an 'orphaned' that is not 'durable', then the should be deleted also. if a with the given name and group was found and removed from the store. Remove (delete) the with the given name, and store the new given one - which must be associated with the same job. The to be replaced. The new to be stored. if a with the given name and group was found and removed from the store. Retrieve the given . The desired , or null if there is no match. Determine whether a with the given identifier already exists within the scheduler. the identifier to check for true if a calendar exists with the given identifier Determine whether a with the given identifier already exists within the scheduler. the identifier to check for true if a job exists with the given identifier Determine whether a with the given identifier already exists within the scheduler. the identifier to check for true if a trigger exists with the given identifier Clear (delete!) all scheduling data - all s, s s. Store the given . The name. The to be stored. If , any existing in the with the same name and group should be over-written. If , any s existing in the that reference an existing Calendar with the same name with have their next fire time re-computed with the new . ObjectAlreadyExistsException Remove (delete) the with the given name. If removal of the would result in s pointing to non-existent calendars, then a will be thrown. The name of the to be removed. if a with the given name was found and removed from the store. Retrieve the given . The name of the to be retrieved. The desired , or null if there is no match. Get the number of s that are stored in the . Get the number of s that are stored in the . Get the number of s that are stored in the . Get the names of all of the s that have the given group name. If there are no jobs in the given group name, the result should be a zero-length array (not ). Get the names of all of the s that have the given group name. If there are no triggers in the given group name, the result should be a zero-length array (not ). Get the names of all of the groups. If there are no known group names, the result should be a zero-length array (not ). Get the names of all of the groups. If there are no known group names, the result should be a zero-length array (not ). Get the names of all of the s in the . If there are no Calendars in the given group name, the result should be a zero-length array (not ). Get all of the Triggers that are associated to the given Job. If there are no matches, a zero-length array should be returned. Get the current state of the identified . Pause the with the given key. Pause all of the s in the given group. The JobStore should "remember" that the group is paused, and impose the pause on any new triggers that are added to the group while the group is paused. Pause the with the given key - by pausing all of its current s. Pause all of the s in the given group - by pausing all of their s. The JobStore should "remember" that the group is paused, and impose the pause on any new jobs that are added to the group while the group is paused. Resume (un-pause) the with the given key. If the missed one or more fire-times, then the 's misfire instruction will be applied. Resume (un-pause) all of the s in the given group. If any missed one or more fire-times, then the 's misfire instruction will be applied. Gets the paused trigger groups. Resume (un-pause) the with the given key. If any of the 's s missed one or more fire-times, then the 's misfire instruction will be applied. Resume (un-pause) all of the s in the given group. If any of the s had s that missed one or more fire-times, then the 's misfire instruction will be applied. Pause all triggers - equivalent of calling on every group. When is called (to un-pause), trigger misfire instructions WILL be applied. Resume (un-pause) all triggers - equivalent of calling on every group. If any missed one or more fire-times, then the 's misfire instruction will be applied. Get a handle to the next trigger to be fired, and mark it as 'reserved' by the calling scheduler. If > 0, the JobStore should only return a Trigger that will fire no later than the time represented in this value as milliseconds. Inform the that the scheduler no longer plans to fire the given , that it had previously acquired (reserved). Inform the that the scheduler is now firing the given (executing its associated ), that it had previously acquired (reserved). May return null if all the triggers or their calendars no longer exist, or if the trigger was not successfully put into the 'executing' state. Preference is to return an empty list if none of the triggers could be fired. Inform the that the scheduler has completed the firing of the given (and the execution its associated ), and that the in the given should be updated if the is stateful. Indicates whether job store supports persistence. How long (in milliseconds) the implementation estimates that it will take to release a trigger and acquire a new one. Whether or not the implementation is clustered. Inform the of the Scheduler instance's Id, prior to initialize being invoked. Inform the of the Scheduler instance's name, prior to initialize being invoked. Tells the JobStore the pool size used to execute jobs. Initializes a new instance of the class. Gets the connection and starts a new transaction. Called by the QuartzScheduler before the is used, in order to give it a chance to Initialize. Called by the QuartzScheduler to inform the JobStore that the scheduler has been paused. Called by the QuartzScheduler to inform the JobStore that the scheduler has resumed after being paused. Called by the QuartzScheduler to inform the that it should free up all of it's resources because the scheduler is shutting down. Will recover any failed or misfired jobs and clean up the data store as appropriate. Will recover any failed or misfired jobs and clean up the data store as appropriate. Store the given and . Job to be stored. Trigger to be stored. returns true if the given JobGroup is paused returns true if the given TriggerGroup is paused Stores the given . The to be stored. If , any existing in the with the same name & group should be over-written. Insert or update a job. Check existence of a given job. Store the given . The to be stored. If , any existing in the with the same name & group should be over-written. if a with the same name/group already exists, and replaceExisting is set to false. Insert or update a trigger. Check existence of a given trigger. Remove (delete) the with the given name, and any s that reference it. If removal of the results in an empty group, the group should be removed from the 's list of known group names. if a with the given name & group was found and removed from the store. Delete a job and its listeners. Delete a trigger, its listeners, and its Simple/Cron/BLOB sub-table entry. Retrieve the for the given . The key identifying the job. The desired , or null if there is no match. Remove (delete) the with the given name. If removal of the results in an empty group, the group should be removed from the 's list of known group names. If removal of the results in an 'orphaned' that is not 'durable', then the should be deleted also. The key identifying the trigger. if a with the given name & group was found and removed from the store. Retrieve the given . The key identifying the trigger. The desired , or null if there is no match. Get the current state of the identified . Gets the state of the trigger. The conn. The key identifying the trigger. Store the given . The name of the calendar. The to be stored. If , any existing in the with the same name & group should be over-written. if a with the same name already exists, and replaceExisting is set to false. Remove (delete) the with the given name. If removal of the would result in s pointing to non-existent calendars, then a will be thrown. The name of the to be removed. if a with the given name was found and removed from the store. Retrieve the given . The name of the to be retrieved. The desired , or null if there is no match. Get the number of s that are stored in the . Get the number of s that are stored in the . Get the number of s that are stored in the . Get the names of all of the s that have the given group name. If there are no jobs in the given group name, the result should be a zero-length array (not ). Determine whether a with the given identifier already exists within the scheduler. the identifier to check for true if a calendar exists with the given identifier Determine whether a with the given identifier already exists within the scheduler. the identifier to check for true if a Job exists with the given identifier Determine whether a with the given identifier already exists within the scheduler. the identifier to check for true if a Trigger exists with the given identifier Clear (delete!) all scheduling data - all s, s s. Get the names of all of the s that have the given group name. If there are no triggers in the given group name, the result should be a zero-length array (not ). Get the names of all of the groups. If there are no known group names, the result should be a zero-length array (not ). Get the names of all of the groups. If there are no known group names, the result should be a zero-length array (not ). Get the names of all of the s in the . If there are no Calendars in the given group name, the result should be a zero-length array (not ). Get all of the Triggers that are associated to the given Job. If there are no matches, a zero-length array should be returned. Pause the with the given name. Pause the with the given name. Pause the with the given name - by pausing all of its current s. Pause all of the s in the given group - by pausing all of their s. Determines if a Trigger for the given job should be blocked. State can only transition to StatePausedBlocked/StateBlocked from StatePaused/StateWaiting respectively. StatePausedBlocked, StateBlocked, or the currentState. Resume (un-pause) the with the given name. If the missed one or more fire-times, then the 's misfire instruction will be applied. Resume (un-pause) the with the given name. If any of the 's s missed one or more fire-times, then the 's misfire instruction will be applied. Resume (un-pause) all of the s in the given group. If any of the s had s that missed one or more fire-times, then the 's misfire instruction will be applied. Pause all of the s in the given group. Pause all of the s in the given group. Pause all of the s in the given group. Resume (un-pause) all of the s in the given group. If any missed one or more fire-times, then the 's misfire instruction will be applied. Pause all triggers - equivalent of calling on every group. When is called (to un-pause), trigger misfire instructions WILL be applied. Resume (un-pause) all triggers - equivalent of calling on every group. If any missed one or more fire-times, then the 's misfire instruction will be applied. Resume (un-pause) all triggers - equivalent of calling on every group. If any missed one or more fire-times, then the 's misfire instruction will be applied. Get a handle to the next N triggers to be fired, and mark them as 'reserved' by the calling scheduler. Inform the that the scheduler no longer plans to fire the given , that it had previously acquired (reserved). Inform the that the scheduler has completed the firing of the given (and the execution its associated ), and that the in the given should be updated if the is stateful. Get a list of all scheduler instances in the cluster that may have failed. This includes this scheduler if it is checking in for the first time. Create dummy objects for fired triggers that have no scheduler state record. Checkin timestamp and interval are left as zero on these dummy objects. List of all current s Cleanup the given database connection. This means restoring any modified auto commit or transaction isolation connection attributes, and then closing the underlying connection. This is separate from closeConnection() because the Spring integration relies on being able to overload closeConnection() and expects the same connection back that it originally returned from the datasource. Closes the supplied connection. (Optional) Rollback the supplied connection. (Optional) JobPersistenceException thrown if a SQLException occurs when the connection is rolled back Commit the supplied connection. The CTH. if set to true opens a new transaction. JobPersistenceException thrown if a SQLException occurs when the Execute the given callback in a transaction. Depending on the JobStore, the surrounding transaction may be assumed to be already present (managed). This method just forwards to ExecuteInLock() with a null lockName. Execute the given callback having acquired the given lock. Depending on the JobStore, the surrounding transaction may be assumed to be already present (managed). The name of the lock to acquire, for example "TRIGGER_ACCESS". If null, then no lock is acquired, but the lockCallback is still executed in a transaction. The callback to execute after having acquired the given lock. Execute the given callback having optionally acquired the given lock. This uses the non-managed transaction connection. The name of the lock to acquire, for example "TRIGGER_ACCESS". If null, then no lock is acquired, but the lockCallback is still executed in a non-managed transaction. The callback to execute after having acquired the given lock. Get or set the datasource name. Get or set the database connection manager. Gets the log. The log. Get or sets the prefix that should be pre-pended to all table names. Set whether string-only properties will be handled in JobDataMaps. Get or set the instance Id of the Scheduler (must be unique within a cluster). Get or set the instance Id of the Scheduler (must be unique within this server instance). Gets or sets the number of retries before an error is logged for recovery operations. Get or set whether this instance is part of a cluster. Get or set the frequency at which this instance "checks-in" with the other instances of the cluster. -- Affects the rate of detecting failed instances. Get or set the maximum number of misfired triggers that the misfire handling thread will try to recover at one time (within one transaction). The default is 20. Gets or sets the database retry interval. The db retry interval. Get or set whether this instance should use database-based thread synchronization. Whether or not to obtain locks when inserting new jobs/triggers. Defaults to , which is safest - some db's (such as MS SQLServer) seem to require this to avoid deadlocks under high load, while others seem to do fine without. Settings this to false means isolation guarantees between job scheduling and trigger acquisition are entirely enforced by the database. Depending on the database and it's configuration this may cause unusual scheduling behaviors. Setting this property to will provide a significant performance increase during the addition of new jobs and triggers. The time span by which a trigger must have missed its next-fire-time, in order for it to be considered "misfired" and thus have its misfire instruction applied. Don't call set autocommit(false) on connections obtained from the DataSource. This can be helpful in a few situations, such as if you have a driver that complains if it is called when it is already off. Set the transaction isolation level of DB connections to sequential. Whether or not the query and update to acquire a Trigger for firing should be performed after obtaining an explicit DB lock (to avoid possible race conditions on the trigger's db row). This is is considered unnecessary for most databases (due to the nature of the SQL update that is performed), and therefore a superfluous performance hit. However, if batch acquisition is used, it is important for this behavior to be used for all dbs. Get or set the ADO.NET driver delegate class name. The driver delegate's initialization string. set the SQL statement to use to select and lock a row in the "locks" table. Get whether the threads spawned by this JobStore should be marked as daemon. Possible threads include the and the . Get whether to check to see if there are Triggers that have misfired before actually acquiring the lock to recover them. This should be set to false if the majority of the time, there are are misfired Triggers. Get the driver delegate for DB operations. Get whether String-only properties will be handled in JobDataMaps. Indicates whether this job store supports persistence. An interface for classes wishing to provide the service of loading classes and resources within the scheduler... James House Marko Lahma (.NET) Called to give the ClassLoadHelper a chance to Initialize itself, including the opportunity to "steal" the class loader off of the calling thread, which is the thread that is initializing Quartz. Return the class with the given name. Finds a resource with a given name. This method returns null if no resource with this name is found. name of the desired resource a java.net.URL object Finds a resource with a given name. This method returns null if no resource with this name is found. name of the desired resource a java.io.InputStream object Helper class for returning the composite result of trying to recover misfired jobs. Initializes a new instance of the class. if set to true [has more misfired triggers]. The processed misfired trigger count. Gets a value indicating whether this instance has more misfired triggers. true if this instance has more misfired triggers; otherwise, false. Gets the processed misfired trigger count. The processed misfired trigger count. Called by the QuartzScheduler before the is used, in order to give the it a chance to Initialize. Called by the QuartzScheduler to inform the that it should free up all of it's resources because the scheduler is shutting down. Gets the non managed TX connection. Execute the given callback having optionally acquired the given lock. Because CMT assumes that the connection is already part of a managed transaction, it does not attempt to commit or rollback the enclosing transaction. The name of the lock to acquire, for example "TRIGGER_ACCESS". If null, then no lock is acquired, but the txCallback is still executed in a transaction. Callback to execute. Instructs this job store whether connections should be automatically opened. is meant to be used in a standalone environment. Both commit and rollback will be handled by this class. Jeffrey Wescott James House Marko Lahma (.NET) Called by the QuartzScheduler before the is used, in order to give the it a chance to Initialize. For , the non-managed TX connection is just the normal connection because it is not CMT. Execute the given callback having optionally acquired the given lock. For , because it manages its own transactions and only has the one datasource, this is the same behavior as . The name of the lock to acquire, for example "TRIGGER_ACCESS". If null, then no lock is acquired, but the lockCallback is still executed in a transaction. Callback to execute. Exception class for when there is a failure obtaining or releasing a resource lock. James House Marko Lahma (.NET) An exception that is thrown to indicate that there has been a failure in the scheduler's underlying persistence mechanism. James House Marko Lahma (.NET) Create a with the given message. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The class name is null or is zero (0). The info parameter is null. Create a with the given message and cause. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The class name is null or is zero (0). The info parameter is null. This is a driver delegate for the MySQL ADO.NET driver. Marko Lahma Gets the select next trigger to acquire SQL clause. MySQL version with LIMIT support. Exception class for when a driver delegate cannot be found for a given configuration, or lack thereof. Jeffrey Wescott Marko Lahma (.NET) Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The class name is null or is zero (0). The info parameter is null. This is a driver delegate for the Oracle database. Marko Lahma Creates the SQL for select next trigger to acquire. Gets the db presentation for boolean value. For Oracle we use true/false of "1"/"0". Value to map to database. Conveys a scheduler-instance state record. James House Marko Lahma (.NET) Gets or sets the checkin interval. The checkin interval. Gets or sets the checkin timestamp. The checkin timestamp. Gets or sets the scheduler instance id. The scheduler instance id. Internal in-memory lock handler for providing thread/resource locking in order to protect resources from being altered by multiple threads at the same time. James House Marko Lahma (.NET) Grants a lock on the identified resource to the calling thread (blocking until it is available). True if the lock was obtained. Release the lock on the identified resource if it is held by the calling thread. Determine whether the calling thread owns a lock on the identified resource. Gets the thread locks. The thread locks. Whether this Semaphore implementation requires a database connection for its lock management operations. This is a driver delegate for the SQLiteDelegate ADO.NET driver. Marko Lahma Gets the select next trigger to acquire SQL clause. SQLite version with LIMIT support. A SQL Server specific driver delegate. Marko Lahma Gets the select next trigger to acquire SQL clause. SQL Server specific version with TOP functionality Internal database based lock handler for providing thread/resource locking in order to protect resources from being altered by multiple threads at the same time. James House Marko Lahma (.NET) Initializes a new instance of the class. Initializes a new instance of the class. The table prefix. the scheduler name The select with lock SQL. Execute the SQL select for update that will lock the proper database row. Property name and value holder for trigger state data. Object representing a job or trigger key. James House Marko Lahma (.NET) Construct a new TriggerStatus with the status name and nextFireTime. The trigger's status The next time trigger will fire Return the string representation of the TriggerStatus. Provide thread/resource locking in order to protect resources from being altered by multiple threads at the same time using a db row update. Note: This Semaphore implementation is useful for databases that do not support row locking via "SELECT FOR UPDATE" or SQL Server's type syntax. As of Quartz.NET 2.0 version there is no need to use this implementation for SQL Server databases. Marko Lahma (.NET) Initializes a new instance of the class. Execute the SQL that will lock the proper database row. This implementation of the Calendar excludes a set of days of the year. You may use it to exclude bank holidays which are on the same date every year. Juergen Donnerstag Marko Lahma (.NET) This implementation of the Calendar may be used (you don't have to) as a base class for more sophisticated one's. It merely implements the base functionality required by each Calendar. Regarded as base functionality is the treatment of base calendars. Base calendar allow you to chain (stack) as much calendars as you may need. For example to exclude weekends you may use WeeklyCalendar. In order to exclude holidays as well you may define a WeeklyCalendar instance to be the base calendar for HolidayCalendar instance. Juergen Donnerstag James House Marko Lahma (.NET) An interface to be implemented by objects that define spaces of time during which an associated may (not) fire. Calendars do not define actual fire times, but rather are used to limit a from firing on its normal schedule if necessary. Most Calendars include all times by default and allow the user to specify times to exclude. As such, it is often useful to think of Calendars as being used to exclude a block of time - as opposed to include a block of time. (i.e. the schedule "fire every five minutes except on Sundays" could be implemented with a and a which excludes Sundays) Implementations MUST take care of being properly cloneable and Serializable. James House Juergen Donnerstag Marko Lahma (.NET) Determine whether the given UTC time is 'included' by the Calendar. Determine the next UTC time that is 'included' by the Calendar after the given UTC time. Gets or sets a description for the instance - may be useful for remembering/displaying the purpose of the calendar, though the description has no meaning to Quartz. Set a new base calendar or remove the existing one. Get the base calendar. Initializes a new instance of the class. Initializes a new instance of the class. The base calendar. Initializes a new instance of the class. The time zone. Initializes a new instance of the class. The base calendar. The time zone. Serialization constructor. checks whether two arrays have the same length and for any given place there are equal elements in both arrays Get the base calendar. Will be null, if not set. Check if date/time represented by timeStamp is included. If included return true. The implementation of BaseCalendar simply calls the base calendars IsTimeIncluded() method if base calendar is set. Determine the next UTC time (in milliseconds) that is 'included' by the Calendar after the given time. Return the original value if timeStamp is included. Return 0 if all days are excluded. Creates a new object that is a copy of the current instance. A new object that is a copy of this instance. Gets or sets the time zone. The time zone. Gets or sets the description given to the instance by its creator (if any). Set a new base calendar or remove the existing one Constructor Constructor The base calendar. Serialization constructor. Return true, if day is defined to be excluded. Redefine a certain day to be excluded (true) or included (false). Determine whether the given UTC time (in milliseconds) is 'included' by the Calendar. Note that this Calendar is only has full-day precision. Determine the next UTC time (in milliseconds) that is 'included' by the Calendar after the given time. Return the original value if timeStampUtc is included. Return 0 if all days are excluded. Note that this Calendar is only has full-day precision. Get or the array which defines the exclude-value of each day of month. Setting will redefine the array of days excluded. The array must of size greater or equal 31. This implementation of the Calendar excludes the set of times expressed by a given CronExpression. For example, you could use this calendar to exclude all but business hours (8AM - 5PM) every day using the expression "* * 0-7,18-23 ? * *". It is important to remember that the cron expression here describes a set of times to be excluded from firing. Whereas the cron expression in CronTrigger describes a set of times that can be included for firing. Thus, if a has a given cron expression and is associated with a with the same expression, the calendar will exclude all the times the trigger includes, and they will cancel each other out. Aaron Craven Marko Lahma (.NET) Initializes a new instance of the class. a string representation of the desired cron expression Create a with the given cron expression and . the base calendar for this calendar instance see BaseCalendar for more information on base calendar functionality a string representation of the desired cron expression Create a with the given cron expression and . the base calendar for this calendar instance see BaseCalendar for more information on base calendar functionality a string representation of the desired cron expression Serialization constructor. Determine whether the given time is 'included' by the Calendar. the time to test a boolean indicating whether the specified time is 'included' by the CronCalendar Determine the next time that is 'included' by the Calendar after the given time. Return the original value if timeStamp is included. Return 0 if all days are excluded. Creates a new object that is a copy of the current instance. A new object that is a copy of this instance. Returns a that represents the current . A that represents the current . Sets the cron expression for the calendar to a new value. The expression. Returns the object representation of the cron expression that defines the dates and times this calendar excludes. This implementation of the Calendar excludes (or includes - see below) a specified time range each day. For example, you could use this calendar to exclude business hours (8AM - 5PM) every day. Each only allows a single time range to be specified, and that time range may not * cross daily boundaries (i.e. you cannot specify a time range from 8PM - 5AM). If the property is (default), the time range defines a range of times in which triggers are not allowed to * fire. If is , the time range is inverted: that is, all times outside the defined time range are excluded. Note when using , it behaves on the same principals as, for example, WeeklyCalendar defines a set of days that are excluded every week. Likewise, defines a set of times that are excluded every day. Mike Funk Aaron Craven Marko Lahma (.NET) Create a with a time range defined by the specified strings and no baseCalendar. and must be in the format "HH:MM[:SS[:mmm]]" where:
  • HH is the hour of the specified time. The hour should be specified using military (24-hour) time and must be in the range 0 to 23.
  • MM is the minute of the specified time and must be in the range 0 to 59.
  • SS is the second of the specified time and must be in the range 0 to 59.
  • mmm is the millisecond of the specified time and must be in the range 0 to 999.
  • items enclosed in brackets ('[', ']') are optional.
  • The time range starting time must be before the time range ending time. Note this means that a time range may not cross daily boundaries (10PM - 2AM)
The range starting time in millis. The range ending time in millis.
Create a with a time range defined by the specified strings and the specified baseCalendar. and must be in the format "HH:MM[:SS[:mmm]]" where:
  • HH is the hour of the specified time. The hour should be specified using military (24-hour) time and must be in the range 0 to 23.
  • MM is the minute of the specified time and must be in the range 0 to 59.
  • SS is the second of the specified time and must be in the range 0 to 59.
  • mmm is the millisecond of the specified time and must be in the range 0 to 999.
  • items enclosed in brackets ('[', ']') are optional.
  • The time range starting time must be before the time range ending time. Note this means that a time range may not cross daily boundaries (10PM - 2AM)
The base calendar for this calendar instance see BaseCalendar for more information on base calendar functionality. The range starting time in millis. The range ending time in millis.
Create a with a time range defined by the specified values and no baseCalendar. Values are subject to the following validations:
  • Hours must be in the range 0-23 and are expressed using military (24-hour) time.
  • Minutes must be in the range 0-59
  • Seconds must be in the range 0-59
  • Milliseconds must be in the range 0-999
  • The time range starting time must be before the time range ending time. Note this means that a time range may not cross daily boundaries (10PM - 2AM)
The range starting hour of day. The range starting minute. The range starting second. The range starting millis. The range ending hour of day. The range ending minute. The range ending second. The range ending millis.
Create a with a time range defined by the specified values and the specified . Values are subject to the following validations:
  • Hours must be in the range 0-23 and are expressed using military (24-hour) time.
  • Minutes must be in the range 0-59
  • Seconds must be in the range 0-59
  • Milliseconds must be in the range 0-999
  • The time range starting time must be before the time range ending time. Note this means that a time range may not cross daily boundaries (10PM - 2AM)
The base calendar for this calendar instance see BaseCalendar for more information on base calendar functionality. The range starting hour of day. The range starting minute. The range starting second. The range starting millis. The range ending hour of day. The range ending minute. The range ending second. The range ending millis.
Create a with a time range defined by the specified s and no baseCalendar. The Calendars are subject to the following considerations:
  • Only the time-of-day fields of the specified Calendars will be used (the date fields will be ignored)
  • The starting time must be before the ending time of the defined time range. Note this means that a time range may not cross daily boundaries (10PM - 2AM). (because only time fields are are used, it is possible for two Calendars to represent a valid time range and rangeStartingCalendar.after(rangeEndingCalendar) == true)
The range starting calendar. The range ending calendar.
Create a with a time range defined by the specified s and the specified . The Calendars are subject to the following considerations:
  • Only the time-of-day fields of the specified Calendars will be used (the date fields will be ignored)
  • The starting time must be before the ending time of the defined time range. Note this means that a time range may not cross daily boundaries (10PM - 2AM). (because only time fields are are used, it is possible for two Calendars to represent a valid time range and rangeStartingCalendarUtc > rangeEndingCalendarUtc == true)
The base calendar for this calendar instance see BaseCalendar for more information on base calendar functionality. The range starting calendar. The range ending calendar.
Create a with a time range defined by the specified values and no baseCalendar. The values are subject to the following considerations:
  • Only the time-of-day portion of the specified values will be used
  • The starting time must be before the ending time of the defined time range. Note this means that a time range may not cross daily boundaries (10PM - 2AM). (because only time value are are used, it is possible for the two values to represent a valid time range and rangeStartingTime > rangeEndingTime)
The range starting time in millis. The range ending time in millis.
Create a with a time range defined by the specified values and the specified . The values are subject to the following considerations:
  • Only the time-of-day portion of the specified values will be used
  • The starting time must be before the ending time of the defined time range. Note this means that a time range may not cross daily boundaries (10PM - 2AM). (because only time value are are used, it is possible for the two values to represent a valid time range and rangeStartingTime > rangeEndingTime)
The base calendar for this calendar instance see BaseCalendar for more information on base calendar functionality. The range starting time in millis. The range ending time in millis.
Serialization constructor. Determine whether the given time is 'included' by the Calendar. Determine the next time (in milliseconds) that is 'included' by the Calendar after the given time. Return the original value if timeStamp is included. Return 0 if all days are excluded. Returns the start time of the time range of the day specified in . a DateTime representing the start time of the time range for the specified date. Returns the end time of the time range of the day specified in A DateTime representing the end time of the time range for the specified date. Returns a that represents the current . A that represents the current . Sets the time range for the to the times represented in the specified Strings. The range starting time string. The range ending time string. Sets the time range for the to the times represented in the specified values. The range starting hour of day. The range starting minute. The range starting second. The range starting millis. The range ending hour of day. The range ending minute. The range ending second. The range ending millis. Sets the time range for the to the times represented in the specified s. The range starting calendar. The range ending calendar. Sets the time range for the to the times represented in the specified values. The range starting time. The range ending time. Gets the start of day, practically zeroes time part. The time. Gets the end of day, practically sets time parts to maximum allowed values. The time. Checks the specified values for validity as a set of time values. The hour of day. The minute. The second. The millis. Indicates whether the time range represents an inverted time range (see class description). true if invert time range; otherwise, false. This implementation of the Calendar stores a list of holidays (full days that are excluded from scheduling). The implementation DOES take the year into consideration, so if you want to exclude July 4th for the next 10 years, you need to add 10 entries to the exclude list. Sharada Jambula Juergen Donnerstag Marko Lahma (.NET) Initializes a new instance of the class. Initializes a new instance of the class. The base calendar. Serialization constructor. Determine whether the given time (in milliseconds) is 'included' by the Calendar. Note that this Calendar is only has full-day precision. Determine the next time (in milliseconds) that is 'included' by the Calendar after the given time. Note that this Calendar is only has full-day precision. Creates a new object that is a copy of the current instance. A new object that is a copy of this instance. Add the given Date to the list of excluded days. Only the month, day and year of the returned dates are significant. Removes the excluded date. The date to remove. Returns a of Dates representing the excluded days. Only the month, day and year of the returned dates are significant. This implementation of the Calendar excludes a set of days of the month. You may use it to exclude every 1. of each month for example. But you may define any day of a month. Juergen Donnerstag Marko Lahma (.NET) Initializes a new instance of the class. Constructor The base calendar. Serialization constructor. Initialize internal variables Return true, if day is defined to be excluded. Redefine a certain day of the month to be excluded (true) or included (false). Check if all days are excluded. That is no day is included. boolean Determine whether the given time (in milliseconds) is 'included' by the Calendar. Note that this Calendar is only has full-day precision. Determine the next time (in milliseconds) that is 'included' by the Calendar after the given time. Return the original value if timeStamp is included. Return DateTime.MinValue if all days are excluded. Note that this Calendar is only has full-day precision. Creates a new object that is a copy of the current instance. A new object that is a copy of this instance. Get or set the array which defines the exclude-value of each day of month Setting will redefine the array of days excluded. The array must of size greater or equal 31. This implementation of the Calendar excludes a set of days of the week. You may use it to exclude weekends for example. But you may define any day of the week. Juergen Donnerstag Marko Lahma (.NET) Initializes a new instance of the class. Initializes a new instance of the class. The base calendar. Serialization constructor. Initialize internal variables Return true, if wday is defined to be excluded. E. g. saturday and sunday. Redefine a certain day of the week to be excluded (true) or included (false). Use enum to determine the weekday. Check if all week ays are excluded. That is no day is included. Determine whether the given time (in milliseconds) is 'included' by the Calendar. Note that this Calendar is only has full-day precision. Determine the next time (in milliseconds) that is 'included' by the Calendar after the given time. Return the original value if timeStamp is included. Return DateTime.MinValue if all days are excluded. Note that this Calendar is only has full-day precision. Get the array with the week days. Setting will redefine the array of days excluded. The array must of size greater or equal 8. java.util.Calendar's constants like MONDAY should be used as index. A value of true is regarded as: exclude it. Matches using an AND operator on two Matcher operands. James House Marko Lahma (.NET) Matchers can be used in various API methods to select the entities that should be operated upon. James House Create an AndMatcher that depends upon the result of both of the given matchers. Matches on the complete key being equal (both name and group). jhouse Create an EverythingMatcher that matches all jobs. Create an EverythingMatcher that matches all triggers. Matches on group (ignores name) property of Keys. James House Marko Lahma (.NET) An abstract base class for some types of matchers. James House Marko Lahma (.NET) Create a GroupMatcher that matches groups equaling the given string. Create a GroupMatcher that matches groups starting with the given string. Create a GroupMatcher that matches groups ending with the given string. Create a GroupMatcher that matches groups containing the given string. Create a GroupMatcher that matches all. Matches on the complete key being equal (both name and group). James House Marko Lahma (.NET) Create a KeyMatcher that matches Keys that equal the given key. Matches on name (ignores group) property of Keys. James House Marko Lahma (.NET) Create a NameMatcher that matches names equaling the given string. Create a NameMatcher that matches names starting with the given string. Create a NameMatcher that matches names ending with the given string. Create a NameMatcher that matches names containing the given string. Matches using an NOT operator on another Matcher. James House Marko Lahma (.NET) Create a NotMatcher that reverses the result of the given matcher. Matches using an OR operator on two Matcher operands. James House Marko Lahma (.NET) Create an OrMatcher that depends upon the result of at least one of the given matchers. Operators available for comparing string values. The base abstract class to be extended by all triggers. s have a name and group associated with them, which should uniquely identify them within a single . s are the 'mechanism' by which s are scheduled. Many s can point to the same , but a single can only point to one . Triggers can 'send' parameters/data to s by placing contents into the on the . James House Sharada Jambula Marko Lahma (.NET) Internal interface for managing triggers. This interface should not be used by the Quartz client. Should not be used by end users. The base interface with properties common to all s - use to instantiate an actual Trigger. s have a associated with them, which should uniquely identify them within a single . s are the 'mechanism' by which s are scheduled. Many s can point to the same , but a single can only point to one . Triggers can 'send' parameters/data to s by placing contents into the on the . James House Sharada Jambula Marko Lahma (.NET) Get a that is configured to produce a trigger identical to this one. Get a that is configured to produce a schedule identical to this trigger's schedule. Used by the to determine whether or not it is possible for this to fire again. If the returned value is then the may remove the from the . Returns the next time at which the is scheduled to fire. If the trigger will not fire again, will be returned. Note that the time returned can possibly be in the past, if the time that was computed for the trigger to next fire has already arrived, but the scheduler has not yet been able to fire the trigger (which would likely be due to lack of resources e.g. threads). The value returned is not guaranteed to be valid until after the has been added to the scheduler. Returns the previous time at which the fired. If the trigger has not yet fired, will be returned. Returns the next time at which the will fire, after the given time. If the trigger will not fire after the given time, will be returned. Get or set the description given to the instance by its creator (if any). Get or set the with the given name with this Trigger. Use when setting to dis-associate a Calendar. Get or set the that is associated with the . Changes made to this map during job execution are not re-persisted, and in fact typically result in an illegal state. Returns the last UTC time at which the will fire, if the Trigger will repeat indefinitely, null will be returned. Note that the return time *may* be in the past. Get or set the instruction the should be given for handling misfire situations for this - the concrete type that you are using will have defined a set of additional MISFIRE_INSTRUCTION_XXX constants that may be set to this property. If not explicitly set, the default value is . Gets and sets the date/time on which the trigger must stop firing. This defines the final boundary for trigger firings 舒 the trigger will not fire after to this date and time. If this value is null, no end time boundary is assumed, and the trigger can continue indefinitely. The time at which the trigger's scheduling should start. May or may not be the first actual fire time of the trigger, depending upon the type of trigger and the settings of the other properties of the trigger. However the first actual first time will not be before this date. Setting a value in the past may cause a new trigger to compute a first fire time that is in the past, which may cause an immediate misfire of the trigger. The priority of a acts as a tie breaker such that if two s have the same scheduled fire time, then Quartz will do its best to give the one with the higher priority first access to a worker thread. If not explicitly set, the default value is 5. Set a description for the instance - may be useful for remembering/displaying the purpose of the trigger, though the description has no meaning to Quartz. Associate the with the given name with this Trigger. Set the to be associated with the . The priority of a acts as a tie breaker such that if two s have the same scheduled fire time, then Quartz will do its best to give the one with the higher priority first access to a worker thread. If not explicitly set, the default value is 5. The time at which the trigger's scheduling should start. May or may not be the first actual fire time of the trigger, depending upon the type of trigger and the settings of the other properties of the trigger. However the first actual first time will not be before this date. Setting a value in the past may cause a new trigger to compute a first fire time that is in the past, which may cause an immediate misfire of the trigger. ew DateTimeOffset StartTimeUtc { get; set; } Set the time at which the should quit repeating - regardless of any remaining repeats (based on the trigger's particular repeat settings). Set the instruction the should be given for handling misfire situations for this - the concrete type that you are using will have defined a set of additional MisfireInstruction.XXX constants that may be passed to this method. If not explicitly set, the default value is . This method should not be used by the Quartz client. Called when the has decided to 'fire' the trigger (Execute the associated ), in order to give the a chance to update itself for its next triggering (if any). This method should not be used by the Quartz client. Called by the scheduler at the time a is first added to the scheduler, in order to have the compute its first fire time, based on any associated calendar. After this method has been called, should return a valid answer. The first time at which the will be fired by the scheduler, which is also the same value will return (until after the first firing of the ). This method should not be used by the Quartz client. Called after the has executed the associated with the in order to get the final instruction code from the trigger. is the that was used by the 's method. is the thrown by the , if any (may be null). One of the members. This method should not be used by the Quartz client. To be implemented by the concrete classes that extend this class. The implementation should update the 's state based on the MISFIRE_INSTRUCTION_XXX that was selected when the was created. This method should not be used by the Quartz client. The implementation should update the 's state based on the given new version of the associated (the state should be updated so that it's next fire time is appropriate given the Calendar's new settings). Validates whether the properties of the are valid for submission into a . This method should not be used by the Quartz client. Usable by implementations, in order to facilitate 'recognizing' instances of fired s as their jobs complete execution. Returns the previous time at which the fired. If the trigger has not yet fired, will be returned. Create a with no specified name, group, or . Note that the , and the and properties must be set before the can be placed into a . Create a with the given name, and default group. Note that the and properties must be set before the can be placed into a . The name. Create a with the given name, and group. Note that the and properties must be set before the can be placed into a . The name. if , Scheduler.DefaultGroup will be used. Create a with the given name, and group. The name. if , Scheduler.DefaultGroup will be used. Name of the job. The job group. ArgumentException if name is null or empty, or the group is an empty string. This method should not be used by the Quartz client. Called when the has decided to 'fire' the trigger (Execute the associated ), in order to give the a chance to update itself for its next triggering (if any). This method should not be used by the Quartz client. Called by the scheduler at the time a is first added to the scheduler, in order to have the compute its first fire time, based on any associated calendar. After this method has been called, should return a valid answer. The first time at which the will be fired by the scheduler, which is also the same value will return (until after the first firing of the ). This method should not be used by the Quartz client. Called after the has executed the associated with the in order to get the final instruction code from the trigger. is the that was used by the 's method. is the thrown by the , if any (may be null). One of the members. Used by the to determine whether or not it is possible for this to fire again. If the returned value is then the may remove the from the . Returns the next time at which the is scheduled to fire. If the trigger will not fire again, will be returned. Note that the time returned can possibly be in the past, if the time that was computed for the trigger to next fire has already arrived, but the scheduler has not yet been able to fire the trigger (which would likely be due to lack of resources e.g. threads). The value returned is not guaranteed to be valid until after the has been added to the scheduler. Returns the next time at which the will fire, after the given time. If the trigger will not fire after the given time, will be returned. Validates the misfire instruction. The misfire instruction. This method should not be used by the Quartz client. To be implemented by the concrete classes that extend this class. The implementation should update the 's state based on the MISFIRE_INSTRUCTION_XXX that was selected when the was created. This method should not be used by the Quartz client. The implementation should update the 's state based on the given new version of the associated (the state should be updated so that it's next fire time is appropriate given the Calendar's new settings). Validates whether the properties of the are valid for submission into a . Return a simple string representation of this object. Compare the next fire time of this to that of another by comparing their keys, or in other words, sorts them according to the natural (i.e. alphabetical) order of their keys. Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. Trigger equality is based upon the equality of the TriggerKey. true if the key of this Trigger equals that of the given Trigger Serves as a hash function for a particular type. is suitable for use in hashing algorithms and data structures like a hash table. A hash code for the current . Creates a new object that is a copy of the current instance. A new object that is a copy of this instance. Get or sets the name of this . If name is null or empty. Get the group of this . If , Scheduler.DefaultGroup will be used. if group is an empty string. Get or set the name of the associated . if jobName is null or empty. Gets or sets the name of the associated 's group. If set with , Scheduler.DefaultGroup will be used. ArgumentException if group is an empty string. Returns the 'full name' of the in the format "group.name". Gets the key. The key. Returns the 'full name' of the that the points to, in the format "group.name". Get or set the description given to the instance by its creator (if any). Get or set the with the given name with this Trigger. Use when setting to dis-associate a Calendar. Get or set the that is associated with the . Changes made to this map during job execution are not re-persisted, and in fact typically result in an illegal state. Returns the last UTC time at which the will fire, if the Trigger will repeat indefinitely, null will be returned. Note that the return time *may* be in the past. Get or set the instruction the should be given for handling misfire situations for this - the concrete type that you are using will have defined a set of additional MISFIRE_INSTRUCTION_XXX constants that may be passed to this method. If not explicitly set, the default value is . This method should not be used by the Quartz client. Usable by implementations, in order to facilitate 'recognizing' instances of fired s as their jobs complete execution. Gets and sets the date/time on which the trigger must stop firing. This defines the final boundary for trigger firings 舒 the trigger will not fire after to this date and time. If this value is null, no end time boundary is assumed, and the trigger can continue indefinitely. The time at which the trigger's scheduling should start. May or may not be the first actual fire time of the trigger, depending upon the type of trigger and the settings of the other properties of the trigger. However the first actual first time will not be before this date. Setting a value in the past may cause a new trigger to compute a first fire time that is in the past, which may cause an immediate misfire of the trigger. Tells whether this Trigger instance can handle events in millisecond precision. The priority of a acts as a tie breaker such that if two s have the same scheduled fire time, then Quartz will do its best to give the one with the higher priority first access to a worker thread. If not explicitly set, the default value is 5. Gets a value indicating whether this instance has additional properties that should be considered when for example saving to database. If trigger implementation has additional properties that need to be saved with base properties you need to make your class override this property with value true. Returning true will effectively mean that ADOJobStore needs to serialize this trigger instance to make sure additional properties are also saved. true if this instance has additional properties; otherwise, false. A concrete that is used to fire a based upon repeating calendar time intervals. The trigger will fire every N (see ) units of calendar time (see ) as specified in the trigger's definition. This trigger can achieve schedules that are not possible with (e.g because months are not a fixed number of seconds) or (e.g. because "every 5 months" is not an even divisor of 12). If you use an interval unit of then care should be taken when setting a value that is on a day near the end of the month. For example, if you choose a start time that occurs on January 31st, and have a trigger with unit and interval 1, then the next fire time will be February 28th, and the next time after that will be March 28th - and essentially each subsequent firing will occur on the 28th of the month, even if a 31st day exists. If you want a trigger that always fires on the last day of the month - regardless of the number of days in the month, you should use . 2.0 James House Marko Lahma (.NET) A that is used to fire a based upon repeating calendar time intervals. Get or set the interval unit - the time unit on with the interval applies. Get the the time interval that will be added to the 's fire time (in the set repeat interval unit) in order to calculate the time of the next trigger repeat. Get the number of times the has already fired. Gets the time zone within which time calculations related to this trigger will be performed. If null, the system default TimeZone will be used. If intervals are a day or greater, this property (set to true) will cause the firing of the trigger to always occur at the same time of day, (the time of day of the startTime) regardless of daylight saving time transitions. Default value is false. For example, without the property set, your trigger may have a start time of 9:00 am on March 1st, and a repeat interval of 2 days. But after the daylight saving transition occurs, the trigger may start firing at 8:00 am every other day. If however, the time of day does not exist on a given day to fire (e.g. 2:00 am in the United States on the days of daylight saving transition), the trigger will go ahead and fire one hour off on that day, and then resume the normal hour on other days. If you wish for the trigger to never fire at the "wrong" hour, then you should set the property skipDayIfHourDoesNotExist. If intervals are a day or greater, and preserveHourOfDayAcrossDaylightSavings property is set to true, and the hour of the day does not exist on a given day for which the trigger would fire, the day will be skipped and the trigger advanced a second interval if this property is set to true. Defaults to false. CAUTION! If you enable this property, and your hour of day happens to be that of daylight savings transition (e.g. 2:00 am in the United States) and the trigger's interval would have had the trigger fire on that day, then you may actually completely miss a firing on the day of transition if that hour of day does not exist on that day! In such a case the next fire time of the trigger will be computed as double (if the interval is 2 days, then a span of 4 days between firings will occur). Create a with no settings. Create a that will occur immediately, and repeat at the the given interval. Name for the trigger instance. The repeat interval unit (minutes, days, months, etc). The number of milliseconds to pause between the repeat firing. Create a that will occur immediately, and repeat at the the given interval Name for the trigger instance. Group for the trigger instance. The repeat interval unit (minutes, days, months, etc). The number of milliseconds to pause between the repeat firing. Create a that will occur at the given time, and repeat at the the given interval until the given end time. Name for the trigger instance. A set to the time for the to fire. A set to the time for the to quit repeat firing. The repeat interval unit (minutes, days, months, etc). The number of milliseconds to pause between the repeat firing. Create a that will occur at the given time, and repeat at the the given interval until the given end time. Name for the trigger instance. Group for the trigger instance. A set to the time for the to fire. A set to the time for the to quit repeat firing. The repeat interval unit (minutes, days, months, etc). The number of milliseconds to pause between the repeat firing. Create a that will occur at the given time, and repeat at the the given interval until the given end time. Name for the trigger instance. Group for the trigger instance. Name of the associated job. Group of the associated job. A set to the time for the to fire. A set to the time for the to quit repeat firing. The repeat interval unit (minutes, days, months, etc). The number of milliseconds to pause between the repeat firing. Validates the misfire instruction. The misfire instruction. Updates the 's state based on the MisfireInstruction.XXX that was selected when the was created. If the misfire instruction is set to , then the following scheme will be used:
  • The instruction will be interpreted as
This method should not be used by the Quartz client. Called when the has decided to 'fire' the trigger (Execute the associated ), in order to give the a chance to update itself for its next triggering (if any). This method should not be used by the Quartz client. The implementation should update the 's state based on the given new version of the associated (the state should be updated so that it's next fire time is appropriate given the Calendar's new settings). This method should not be used by the Quartz client. Called by the scheduler at the time a is first added to the scheduler, in order to have the compute its first fire time, based on any associated calendar. After this method has been called, should return a valid answer. The first time at which the will be fired by the scheduler, which is also the same value will return (until after the first firing of the ). Returns the next time at which the is scheduled to fire. If the trigger will not fire again, will be returned. Note that the time returned can possibly be in the past, if the time that was computed for the trigger to next fire has already arrived, but the scheduler has not yet been able to fire the trigger (which would likely be due to lack of resources e.g. threads). The value returned is not guaranteed to be valid until after the has been added to the scheduler. Returns the previous time at which the fired. If the trigger has not yet fired, will be returned. Returns the next time at which the will fire, after the given time. If the trigger will not fire after the given time, will be returned. Determines whether or not the will occur again. Validates whether the properties of the are valid for submission into a . Get the time at which the should occur. Tells whether this Trigger instance can handle events in millisecond precision. Get the time at which the should quit repeating. Get or set the interval unit - the time unit on with the interval applies. Get the the time interval that will be added to the 's fire time (in the set repeat interval unit) in order to calculate the time of the next trigger repeat. If intervals are a day or greater, this property (set to true) will cause the firing of the trigger to always occur at the same time of day, (the time of day of the startTime) regardless of daylight saving time transitions. Default value is false. For example, without the property set, your trigger may have a start time of 9:00 am on March 1st, and a repeat interval of 2 days. But after the daylight saving transition occurs, the trigger may start firing at 8:00 am every other day. If however, the time of day does not exist on a given day to fire (e.g. 2:00 am in the United States on the days of daylight saving transition), the trigger will go ahead and fire one hour off on that day, and then resume the normal hour on other days. If you wish for the trigger to never fire at the "wrong" hour, then you should set the property skipDayIfHourDoesNotExist. If intervals are a day or greater, and preserveHourOfDayAcrossDaylightSavings property is set to true, and the hour of the day does not exist on a given day for which the trigger would fire, the day will be skipped and the trigger advanced a second interval if this property is set to true. Defaults to false. CAUTION! If you enable this property, and your hour of day happens to be that of daylight savings transition (e.g. 2:00 am in the United States) and the trigger's interval would have had the trigger fire on that day, then you may actually completely miss a firing on the day of transition if that hour of day does not exist on that day! In such a case the next fire time of the trigger will be computed as double (if the interval is 2 days, then a span of 4 days between firings will occur). Get the number of times the has already fired. Returns the final time at which the will fire, if there is no end time set, null will be returned. Note that the return time may be in the past. A concrete that is used to fire a at given moments in time, defined with Unix 'cron-like' definitions. For those unfamiliar with "cron", this means being able to create a firing schedule such as: "At 8:00am every Monday through Friday" or "At 1:30am every last Friday of the month". The format of a "Cron-Expression" string is documented on the class. Here are some full examples:
Expression Meaning
"0 0 12 * * ?"" /> Fire at 12pm (noon) every day" />
"0 15 10 ? * *"" /> Fire at 10:15am every day" />
"0 15 10 * * ?"" /> Fire at 10:15am every day" />
"0 15 10 * * ? *"" /> Fire at 10:15am every day" />
"0 15 10 * * ? 2005"" /> Fire at 10:15am every day during the year 2005" />
"0 * 14 * * ?"" /> Fire every minute starting at 2pm and ending at 2:59pm, every day" />
"0 0/5 14 * * ?"" /> Fire every 5 minutes starting at 2pm and ending at 2:55pm, every day" />
"0 0/5 14,18 * * ?"" /> Fire every 5 minutes starting at 2pm and ending at 2:55pm, AND fire every 5 minutes starting at 6pm and ending at 6:55pm, every day" />
"0 0-5 14 * * ?"" /> Fire every minute starting at 2pm and ending at 2:05pm, every day" />
"0 10,44 14 ? 3 WED"" /> Fire at 2:10pm and at 2:44pm every Wednesday in the month of March." />
"0 15 10 ? * MON-FRI"" /> Fire at 10:15am every Monday, Tuesday, Wednesday, Thursday and Friday" />
"0 15 10 15 * ?"" /> Fire at 10:15am on the 15th day of every month" />
"0 15 10 L * ?"" /> Fire at 10:15am on the last day of every month" />
"0 15 10 ? * 6L"" /> Fire at 10:15am on the last Friday of every month" />
"0 15 10 ? * 6L"" /> Fire at 10:15am on the last Friday of every month" />
"0 15 10 ? * 6L 2002-2005"" /> Fire at 10:15am on every last Friday of every month during the years 2002, 2003, 2004 and 2005" />
"0 15 10 ? * 6#3"" /> Fire at 10:15am on the third Friday of every month" />
Pay attention to the effects of '?' and '*' in the day-of-week and day-of-month fields! NOTES:
  • Support for specifying both a day-of-week and a day-of-month value is not complete (you'll need to use the '?' character in on of these fields).
  • Be careful when setting fire times between mid-night and 1:00 AM - "daylight savings" can cause a skip or a repeat depending on whether the time moves back or jumps forward.
Sharada Jambula James House Contributions from Mads Henderson Marko Lahma (.NET)
The public interface for inspecting settings specific to a CronTrigger, which is used to fire a at given moments in time, defined with Unix 'cron-like' schedule definitions. For those unfamiliar with "cron", this means being able to create a firing schedule such as: "At 8:00am every Monday through Friday" or "At 1:30am every last Friday of the month". The format of a "Cron-Expression" string is documented on the class. Here are some full examples:
Expression Meaning
"0 0 12 * * ?"" /> Fire at 12pm (noon) every day" />
"0 15 10 ? * *"" /> Fire at 10:15am every day" />
"0 15 10 * * ?"" /> Fire at 10:15am every day" />
"0 15 10 * * ? *"" /> Fire at 10:15am every day" />
"0 15 10 * * ? 2005"" /> Fire at 10:15am every day during the year 2005" />
"0 * 14 * * ?"" /> Fire every minute starting at 2pm and ending at 2:59pm, every day" />
"0 0/5 14 * * ?"" /> Fire every 5 minutes starting at 2pm and ending at 2:55pm, every day" />
"0 0/5 14,18 * * ?"" /> Fire every 5 minutes starting at 2pm and ending at 2:55pm, AND fire every 5 minutes starting at 6pm and ending at 6:55pm, every day" />
"0 0-5 14 * * ?"" /> Fire every minute starting at 2pm and ending at 2:05pm, every day" />
"0 10,44 14 ? 3 WED"" /> Fire at 2:10pm and at 2:44pm every Wednesday in the month of March." />
"0 15 10 ? * MON-FRI"" /> Fire at 10:15am every Monday, Tuesday, Wednesday, Thursday and Friday" />
"0 15 10 15 * ?"" /> Fire at 10:15am on the 15th day of every month" />
"0 15 10 L * ?"" /> Fire at 10:15am on the last day of every month" />
"0 15 10 ? * 6L"" /> Fire at 10:15am on the last Friday of every month" />
"0 15 10 ? * 6L"" /> Fire at 10:15am on the last Friday of every month" />
"0 15 10 ? * 6L 2002-2005"" /> Fire at 10:15am on every last Friday of every month during the years 2002, 2003, 2004 and 2005" />
"0 15 10 ? * 6#3"" /> Fire at 10:15am on the third Friday of every month" />
Pay attention to the effects of '?' and '*' in the day-of-week and day-of-month fields! NOTES:
  • Support for specifying both a day-of-week and a day-of-month value is not complete (you'll need to use the '?' character in on of these fields).
  • Be careful when setting fire times between mid-night and 1:00 AM - "daylight savings" can cause a skip or a repeat depending on whether the time moves back or jumps forward.
Sharada Jambula James House Contributions from Mads Henderson Marko Lahma (.NET)
Gets the expression summary. Gets or sets the cron expression string. The cron expression string. Sets the time zone for which the of this will be resolved. If is set after this property, the TimeZone setting on the CronExpression will "win". However if is set after this property, the time zone applied by this method will remain in effect, since the string cron expression does not carry a time zone! The time zone. Create a with no settings. The start-time will also be set to the current time, and the time zone will be set the the system's default time zone. Create a with the given name and default group. The start-time will also be set to the current time, and the time zone will be set the the system's default time zone. The name of the Create a with the given name and group. The start-time will also be set to the current time, and the time zone will be set the the system's default time zone. The name of the The group of the Create a with the given name, group and expression. The start-time will also be set to the current time, and the time zone will be set the the system's default time zone. The name of the The group of the A cron expression dictating the firing sequence of the Create a with the given name and group, and associated with the identified . The start-time will also be set to the current time, and the time zone will be set the the system's default time zone. The name of the . The group of the name of the executed on firetime Group of the executed on firetime Create a with the given name and group, associated with the identified , and with the given "cron" expression. The start-time will also be set to the current time, and the time zone will be set the the system's default time zone. The name of the The group of the name of the executed on firetime Group of the executed on firetime A cron expression dictating the firing sequence of the Create a with the given name and group, associated with the identified , and with the given "cron" expression resolved with respect to the . The name of the The group of the name of the executed on firetime Group of the executed on firetime A cron expression dictating the firing sequence of the Specifies for which time zone the cronExpression should be interpreted, i.e. the expression 0 0 10 * * ?, is resolved to 10:00 am in this time zone. Create a that will occur at the given time, until the given end time. If null, the start-time will also be set to the current time, the time zone will be set the the system's default. The name of the The group of the name of the executed on firetime Group of the executed on firetime A set to the earliest time for the to start firing. A set to the time for the to quit repeat firing. A cron expression dictating the firing sequence of the Create a with fire time dictated by the resolved with respect to the specified occurring from the until the given . The name of the The group of the name of the executed on firetime Group of the executed on firetime A set to the earliest time for the to start firing. A set to the time for the to quit repeat firing. A cron expression dictating the firing sequence of the Specifies for which time zone the cronExpression should be interpreted, i.e. the expression 0 0 10 * * ?, is resolved to 10:00 am in this time zone. Clones this instance. Returns the next time at which the is scheduled to fire. If the trigger will not fire again, will be returned. Note that the time returned can possibly be in the past, if the time that was computed for the trigger to next fire has already arrived, but the scheduler has not yet been able to fire the trigger (which would likely be due to lack of resources e.g. threads). The value returned is not guaranteed to be valid until after the has been added to the scheduler. Returns the previous time at which the fired. If the trigger has not yet fired, will be returned. Sets the next fire time. This method should not be invoked by client code. The fire time. Sets the previous fire time. This method should not be invoked by client code. The fire time. Returns the next time at which the will fire, after the given time. If the trigger will not fire after the given time, will be returned. Used by the to determine whether or not it is possible for this to fire again. If the returned value is then the may remove the from the . Validates the misfire instruction. The misfire instruction. This method should not be used by the Quartz client. To be implemented by the concrete classes that extend this class. The implementation should update the 's state based on the MISFIRE_INSTRUCTION_XXX that was selected when the was created. Determines whether the date and (optionally) time of the given Calendar instance falls on a scheduled fire-time of this trigger. Equivalent to calling . The date to compare. Determines whether the date and (optionally) time of the given Calendar instance falls on a scheduled fire-time of this trigger. Note that the value returned is NOT validated against the related ICalendar (if any). The date to compare If set to true, the method will only determine if the trigger will fire during the day represented by the given Calendar (hours, minutes and seconds will be ignored). Called when the has decided to 'fire' the trigger (Execute the associated ), in order to give the a chance to update itself for its next triggering (if any). Updates the trigger with new calendar. The calendar to update with. The misfire threshold. Called by the scheduler at the time a is first added to the scheduler, in order to have the compute its first fire time, based on any associated calendar. After this method has been called, should return a valid answer. the first time at which the will be fired by the scheduler, which is also the same value will return (until after the first firing of the ). Gets the expression summary. Gets the next time to fire after the given time. The time to compute from. NOT YET IMPLEMENTED: Returns the time before the given time that this will fire. The date. Gets or sets the cron expression string. The cron expression string. Set the CronExpression to the given one. The TimeZone on the passed-in CronExpression over-rides any that was already set on the Trigger. The cron expression. Returns the date/time on which the trigger may begin firing. This defines the initial boundary for trigger firings the trigger will not fire prior to this date and time. Get or sets the time at which the CronTrigger should quit repeating - even if repeatCount isn't yet satisfied. Sets the time zone for which the of this will be resolved. If is set after this property, the TimeZone setting on the CronExpression will "win". However if is set after this property, the time zone applied by this method will remain in effect, since the string cron expression does not carry a time zone! The time zone. Returns the last UTC time at which the will fire, if the Trigger will repeat indefinitely, null will be returned. Note that the return time *may* be in the past. Tells whether this Trigger instance can handle events in millisecond precision. A concrete implementation of DailyTimeIntervalTrigger that is used to fire a based upon daily repeating time intervals. The trigger will fire every N ( ) seconds, minutes or hours (see ) during a given time window on specified days of the week. For example#1, a trigger can be set to fire every 72 minutes between 8:00 and 11:00 everyday. It's fire times would be 8:00, 9:12, 10:24, then next day would repeat: 8:00, 9:12, 10:24 again. For example#2, a trigger can be set to fire every 23 minutes between 9:20 and 16:47 Monday through Friday. On each day, the starting fire time is reset to startTimeOfDay value, and then it will add repeatInterval value to it until the endTimeOfDay is reached. If you set daysOfWeek values, then fire time will only occur during those week days period. Again, remember this trigger will reset fire time each day with startTimeOfDay, regardless of your interval or endTimeOfDay! The default values for fields if not set are: startTimeOfDay defaults to 00:00:00, the endTimeOfDay default to 23:59:59, and daysOfWeek is default to every day. The startTime default to current time-stamp now, while endTime has not value. If startTime is before startTimeOfDay, then startTimeOfDay will be used and startTime has no affect other than to specify the first day of firing. Else if startTime is after startTimeOfDay, then the first fire time for that day will be the next interval after the startTime. For example, if you set startingTimeOfDay=9am, endingTimeOfDay=11am, interval=15 mins, and startTime=9:33am, then the next fire time will be 9:45pm. Note also that if you do not set startTime value, the trigger builder will default to current time, and current time maybe before or after the startTimeOfDay! So be aware how you set your startTime. This trigger also supports "repeatCount" feature to end the trigger fire time after a certain number of count is reached. Just as the SimpleTrigger, setting repeatCount=0 means trigger will fire once only! Setting any positive count then the trigger will repeat count + 1 times. Unlike SimpleTrigger, the default value of repeatCount of this trigger is set to REPEAT_INDEFINITELY instead of 0 though. 2.0 James House Zemian Deng saltnlight5@gmail.com Nuno Maia (.NET) A that is used to fire a based upon daily repeating time intervals. The trigger will fire every N (see ) seconds, minutes or hours (see during a given time window on specified days of the week. For example#1, a trigger can be set to fire every 72 minutes between 8:00 and 11:00 everyday. It's fire times be 8:00, 9:12, 10:24, then next day would repeat: 8:00, 9:12, 10:24 again. For example#2, a trigger can be set to fire every 23 minutes between 9:20 and 16:47 Monday through Friday. On each day, the starting fire time is reset to startTimeOfDay value, and then it will add repeatInterval value to it until the endTimeOfDay is reached. If you set daysOfWeek values, then fire time will only occur during those week days period. The default values for fields if not set are: startTimeOfDay defaults to 00:00:00, the endTimeOfDay default to 23:59:59, and daysOfWeek is default to every day. The startTime default to current time-stamp now, while endTime has not value. If startTime is before startTimeOfDay, then it has no affect. Else if startTime after startTimeOfDay, then the first fire time for that day will be normal startTimeOfDay incremental values after startTime value. Same reversal logic is applied to endTime with endTimeOfDay. James House Zemian Deng saltnlight5@gmail.com Nuno Maia (.NET) Get the the number of times for interval this trigger should repeat, after which it will be automatically deleted. Get the interval unit - the time unit on with the interval applies. The only intervals that are valid for this type of trigger are , , and Get the the time interval that will be added to the 's fire time (in the set repeat interval unit) in order to calculate the time of the next trigger repeat. The time of day to start firing at the given interval. The time of day to complete firing at the given interval. The days of the week upon which to fire. A Set containing the integers representing the days of the week, per the values 0-6 as defined by DayOfWees.Sunday - DayOfWeek.Saturday. Get the number of times the has already fired. Gets the time zone within which time calculations related to this trigger will be performed. If null, the system default TimeZone will be used. Used to indicate the 'repeat count' of the trigger is indefinite. Or in other words, the trigger should repeat continually until the trigger's ending timestamp. Create a with no settings. Create a that will occur immediately, and repeat at the the given interval. The that the repeating should begin occurring. The that the repeating should stop occurring. The repeat interval unit. The only intervals that are valid for this type of trigger are , , and . Create a that will occur immediately, and repeat at the the given interval. The that the repeating should begin occurring. The that the repeating should stop occurring. The repeat interval unit. The only intervals that are valid for this type of trigger are , , and . Create a that will occur at the given time, and repeat at the the given interval until the given end time. A set to the time for the to fire. A set to the time for the to quit repeat firing. The that the repeating should begin occurring. The that the repeating should stop occurring. The repeat interval unit. The only intervals that are valid for this type of trigger are , , and . The number of milliseconds to pause between the repeat firing. Create a that will occur at the given time, and repeat at the the given interval until the given end time. A set to the time for the to fire. A set to the time for the to quit repeat firing. The that the repeating should begin occurring. The that the repeating should stop occurring. The repeat interval unit. The only intervals that are valid for this type of trigger are , , and . The number of milliseconds to pause between the repeat firing. Create a that will occur at the given time, fire the identified job and repeat at the the given interval until the given end time. A set to the time for the to fire. A set to the time for the to quit repeat firing. The that the repeating should begin occurring. The that the repeating should stop occurring. The repeat interval unit. The only intervals that are valid for this type of trigger are , , and . The number of milliseconds to pause between the repeat firing. Updates the 's state based on the MisfireInstruction.XXX that was selected when the was created. If the misfire instruction is set to , then the following scheme will be used:
  • The instruction will be interpreted as
Called when the scheduler has decided to 'fire' the trigger (execute the associated job), in order to give the trigger a chance to update itself for its next triggering (if any). This method should not be used by the Quartz client. Called by the scheduler at the time a is first added to the scheduler, in order to have the compute its first fire time, based on any associated calendar. After this method has been called, should return a valid answer. The first time at which the will be fired by the scheduler, which is also the same value will return (until after the first firing of the ). Returns the next time at which the is scheduled to fire. If the trigger will not fire again, will be returned. Note that the time returned can possibly be in the past, if the time that was computed for the trigger to next fire has already arrived, but the scheduler has not yet been able to fire the trigger (which would likely be due to lack of resources e.g. threads). The value returned is not guaranteed to be valid until after the has been added to the scheduler. Returns the previous time at which the fired. If the trigger has not yet fired, will be returned. Set the next time at which the should fire. This method should not be invoked by client code. Set the previous time at which the fired. This method should not be invoked by client code. Returns the next time at which the will fire, after the given time. If the trigger will not fire after the given time, will be returned. Given fireTime time determine if it is on a valid day of week. If so, simply return it unaltered, if not, advance to the next valid week day, and set the time of day to the start time of day. given next fireTime. flag to whether to advance day without check existing week day. This scenario can happen when a caller determine fireTime has passed the endTimeOfDay that fireTime should move to next day anyway. a next day fireTime. Determines whether or not the will occur again. Validates whether the properties of the are valid for submission into a . Get a that is configured to produce a schedule identical to this trigger's schedule. The time at which the should occur. the time at which the should quit repeating. Get the the number of times for interval this trigger should repeat, after which it will be automatically deleted. the interval unit - the time unit on with the interval applies. The repeat interval unit. The only intervals that are valid for this type of trigger are , , and . the the time interval that will be added to the 's fire time (in the set repeat interval unit) in order to calculate the time of the next trigger repeat. the number of times the has already fired. Returns the final time at which the will fire, if there is no end time set, null will be returned. Note that the return time may be in the past. The days of the week upon which to fire. A Set containing the integers representing the days of the week, per the values 0-6 as defined by DayOfWees.Sunday - DayOfWeek.Saturday. The time of day to start firing at the given interval. The time of day to complete firing at the given interval. This trigger has no additional properties besides what's defined in this class. Tells whether this Trigger instance can handle events in millisecond precision. A concrete that is used to fire a at a given moment in time, and optionally repeated at a specified interval. James House Contributions by Lieven Govaerts of Ebitec Nv, Belgium. Marko Lahma (.NET) A that is used to fire a at a given moment in time, and optionally repeated at a specified interval. James House Contributions by Lieven Govaerts of Ebitec Nv, Belgium. Marko Lahma (.NET) Get or set the number of times the should repeat, after which it will be automatically deleted. Get or set the the time interval at which the should repeat. Get or set the number of times the has already fired. Used to indicate the 'repeat count' of the trigger is indefinite. Or in other words, the trigger should repeat continually until the trigger's ending timestamp. Create a with no settings. Create a that will occur immediately, and not repeat. Create a that will occur immediately, and not repeat. Create a that will occur immediately, and repeat at the the given interval the given number of times. Create a that will occur immediately, and repeat at the the given interval the given number of times. Create a that will occur at the given time, and not repeat. Create a that will occur at the given time, and not repeat. Create a that will occur at the given time, and repeat at the the given interval the given number of times, or until the given end time. The name. A UTC set to the time for the to fire. A UTC set to the time for the to quit repeat firing. The number of times for the to repeat firing, use for unlimited times. The time span to pause between the repeat firing. Create a that will occur at the given time, and repeat at the the given interval the given number of times, or until the given end time. The name. The group. A UTC set to the time for the to fire. A UTC set to the time for the to quit repeat firing. The number of times for the to repeat firing, use for unlimited times. The time span to pause between the repeat firing. Create a that will occur at the given time, fire the identified and repeat at the the given interval the given number of times, or until the given end time. The name. The group. Name of the job. The job group. A set to the time for the to fire. A set to the time for the to quit repeat firing. The number of times for the to repeat firing, use RepeatIndefinitely for unlimited times. The time span to pause between the repeat firing. Validates the misfire instruction. The misfire instruction. Updates the 's state based on the MisfireInstruction value that was selected when the was created. If MisfireSmartPolicyEnabled is set to true, then the following scheme will be used:
  • If the Repeat Count is 0, then the instruction will be interpreted as .
  • If the Repeat Count is , then the instruction will be interpreted as . WARNING: using MisfirePolicy.SimpleTrigger.RescheduleNowWithRemainingRepeatCount with a trigger that has a non-null end-time may cause the trigger to never fire again if the end-time arrived during the misfire time span.
  • If the Repeat Count is > 0, then the instruction will be interpreted as .
Called when the has decided to 'fire' the trigger (Execute the associated ), in order to give the a chance to update itself for its next triggering (if any). Updates the instance with new calendar. The calendar. The misfire threshold. Called by the scheduler at the time a is first added to the scheduler, in order to have the compute its first fire time, based on any associated calendar. After this method has been called, should return a valid answer. The first time at which the will be fired by the scheduler, which is also the same value will return (until after the first firing of the ). Returns the next time at which the will fire. If the trigger will not fire again, will be returned. The value returned is not guaranteed to be valid until after the has been added to the scheduler. Returns the previous time at which the fired. If the trigger has not yet fired, will be returned. Returns the next UTC time at which the will fire, after the given UTC time. If the trigger will not fire after the given time, will be returned. Returns the last UTC time at which the will fire, before the given time. If the trigger will not fire before the given time, will be returned. Computes the number of times fired between the two UTC date times. The UTC start date and time. The UTC end date and time. Determines whether or not the will occur again. Validates whether the properties of the are valid for submission into a . Get or set the number of times the should repeat, after which it will be automatically deleted. Get or set the the time interval at which the should repeat. Get or set the number of times the has already fired. Returns the final UTC time at which the will fire, if repeatCount is RepeatIndefinitely, null will be returned. Note that the return time may be in the past. Tells whether this Trigger instance can handle events in millisecond precision. Schedules work on a newly spawned thread. This is the default Quartz behavior. matt.accola Allows different strategies for scheduling threads. The method is required to be called before the first call to . The Thread containing the work to be performed is passed to execute and the work is scheduled by the underlying implementation. matt.accola Submit a task for execution. Thread to execute. Initialize any state prior to calling . A singleton implementation of . Here are some examples of using this class: To create a scheduler that does not write anything to the database (is not persistent), you can call : DirectSchedulerFactory.Instance.CreateVolatileScheduler(10); // 10 threads // don't forget to start the scheduler: DirectSchedulerFactory.Instance.GetScheduler().Start(); Several create methods are provided for convenience. All create methods eventually end up calling the create method with all the parameters: public void CreateScheduler(string schedulerName, string schedulerInstanceId, IThreadPool threadPool, IJobStore jobStore) Here is an example of using this method: // create the thread pool SimpleThreadPool threadPool = new SimpleThreadPool(maxThreads, ThreadPriority.Normal); threadPool.Initialize(); // create the job store JobStore jobStore = new RAMJobStore(); DirectSchedulerFactory.Instance.CreateScheduler("My Quartz Scheduler", "My Instance", threadPool, jobStore); // don't forget to start the scheduler: DirectSchedulerFactory.Instance.GetScheduler("My Quartz Scheduler", "My Instance").Start(); > Mohammad Rezaei James House Marko Lahma (.NET) Provides a mechanism for obtaining client-usable handles to instances. James House Marko Lahma (.NET) Returns a client-usable handle to a . Returns a handle to the Scheduler with the given name, if it exists. Returns handles to all known Schedulers (made by any SchedulerFactory within this app domain.). Initializes a new instance of the class. Creates an in memory job store () The thread priority is set to Thread.NORM_PRIORITY The number of threads in the thread pool Creates a proxy to a remote scheduler. This scheduler can be retrieved via . SchedulerException Same as , with the addition of specifying the scheduler name and instance ID. This scheduler can only be retrieved via . The name for the scheduler. The instance ID for the scheduler. SchedulerException Creates a scheduler using the specified thread pool and job store. This scheduler can be retrieved via DirectSchedulerFactory#GetScheduler() The thread pool for executing jobs The type of job store SchedulerException if initialization failed Same as DirectSchedulerFactory#createScheduler(ThreadPool threadPool, JobStore jobStore), with the addition of specifying the scheduler name and instance ID. This scheduler can only be retrieved via DirectSchedulerFactory#getScheduler(String) The name for the scheduler. The instance ID for the scheduler. The thread pool for executing jobs The type of job store Creates a scheduler using the specified thread pool and job store and binds it for remote access. The name for the scheduler. The instance ID for the scheduler. The thread pool for executing jobs The type of job store The idle wait time. You can specify "-1" for the default value, which is currently 30000 ms. The db failure retry interval. Creates a scheduler using the specified thread pool and job store and binds it for remote access. The name for the scheduler. The instance ID for the scheduler. The thread pool for executing jobs The type of job store The idle wait time. You can specify TimeSpan.Zero for the default value, which is currently 30000 ms. The db failure retry interval. Creates a scheduler using the specified thread pool and job store and binds it for remote access. The name for the scheduler. The instance ID for the scheduler. The thread pool for executing jobs Thread executor. The type of job store The idle wait time. You can specify TimeSpan.Zero for the default value, which is currently 30000 ms. The db failure retry interval. Creates a scheduler using the specified thread pool and job store and binds it for remote access. The name for the scheduler. The instance ID for the scheduler. The thread pool for executing jobs Thread executor. The type of job store The idle wait time. You can specify TimeSpan.Zero for the default value, which is currently 30000 ms. The maximum batch size of triggers, when acquiring them The time window for which it is allowed to "pre-acquire" triggers to fire Creates a scheduler using the specified thread pool and job store and binds it for remote access. The name for the scheduler. The instance ID for the scheduler. The thread pool for executing jobs Thread executor. The type of job store The idle wait time. You can specify TimeSpan.Zero for the default value, which is currently 30000 ms. The maximum batch size of triggers, when acquiring them The time window for which it is allowed to "pre-acquire" triggers to fire The scheduler exporter to use Returns a handle to the Scheduler produced by this factory. you must call createRemoteScheduler or createScheduler methods before calling getScheduler() SchedulerException Returns a handle to the Scheduler with the given name, if it exists. Gets the log. The log. Gets the instance. The instance. Returns a handle to all known Schedulers (made by any StdSchedulerFactory instance.). Conveys the detail properties of a given job instance. Quartz does not store an actual instance of a type, but instead allows you to define an instance of one, through the use of a . s have a name and group associated with them, which should uniquely identify them within a single . s are the 'mechanism' by which s are scheduled. Many s can point to the same , but a single can only point to one . James House Marko Lahma (.NET) Conveys the detail properties of a given job instance. JobDetails are to be created/defined with . Quartz does not store an actual instance of a type, but instead allows you to define an instance of one, through the use of a . s have a name and group associated with them, which should uniquely identify them within a single . s are the 'mechanism' by which s are scheduled. Many s can point to the same , but a single can only point to one . James House Marko Lahma (.NET) Get a that is configured to produce a identical to this one. The key that identifies this jobs uniquely. Get or set the description given to the instance by its creator (if any). Get or sets the instance of that will be executed. Get or set the that is associated with the . Whether or not the should remain stored after it is orphaned (no s point to it). If not explicitly set, the default value is . if the Job should remain persisted after being orphaned. Whether the associated Job class carries the . Whether the associated Job class carries the . Set whether or not the the should re-Execute the if a 'recovery' or 'fail-over' situation is encountered. If not explicitly set, the default value is . Create a with no specified name or group, and the default settings of all the other properties. Note that the , and properties must be set before the job can be placed into a . Create a with the given name, default group, and the default settings of all the other properties. If , SchedulerConstants.DefaultGroup will be used. If name is null or empty, or the group is an empty string. Create a with the given name, and group, and the default settings of all the other properties. If , SchedulerConstants.DefaultGroup will be used. If name is null or empty, or the group is an empty string. Create a with the given name, and group, and the given settings of all the other properties. The name. if , SchedulerConstants.DefaultGroup will be used. Type of the job. if set to true, job will be durable. if set to true, job will request recovery. ArgumentException if name is null or empty, or the group is an empty string. Validates whether the properties of the are valid for submission into a . Return a simple string representation of this object. Creates a new object that is a copy of the current instance. A new object that is a copy of this instance. Determines whether the specified detail is equal to this instance. The detail to examine. true if the specified detail is equal; otherwise, false. Determines whether the specified is equal to the current . The to compare with the current . if the specified is equal to the current ; otherwise, . Checks equality between given job detail and this instance. The detail to compare this instance with. Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. A hash code for the current . Get or sets the name of this . if name is null or empty. Get or sets the group of this . If , will be used. If the group is an empty string. Returns the 'full name' of the in the format "group.name". Gets the key. The key. Get or set the description given to the instance by its creator (if any). May be useful for remembering/displaying the purpose of the job, though the description has no meaning to Quartz. Get or sets the instance of that will be executed. if jobType is null or the class is not a . Get or set the that is associated with the . Set whether or not the the should re-Execute the if a 'recovery' or 'fail-over' situation is encountered. If not explicitly set, the default value is . Whether or not the should remain stored after it is orphaned (no s point to it). If not explicitly set, the default value is . if the Job should remain persisted after being orphaned. Whether the associated Job class carries the attribute. Whether the associated Job class carries the attribute. A context bundle containing handles to various environment information, that is given to a instance as it is executed, and to a instance after the execution completes. The found on this object (via the method) serves as a convenience - it is a merge of the found on the and the one found on the , with the value in the latter overriding any same-named values in the former. It is thus considered a 'best practice' that the Execute code of a Job retrieve data from the JobDataMap found on this object NOTE: Do not expect value 'set' into this JobDataMap to somehow be set back onto a job's own JobDataMap. s are also returned from the method. These are the same instances as those past into the jobs that are currently executing within the scheduler. The exception to this is when your application is using Quartz remotely (i.e. via remoting or WCF) - in which case you get a clone of the s, and their references to the and instances have been lost (a clone of the is still available - just not a handle to the job instance that is running). James House Marko Lahma (.NET) A context bundle containing handles to various environment information, that is given to a instance as it is executed, and to a instance after the execution completes. Put the specified value into the context's data map with the given key. Possibly useful for sharing data between listeners and jobs. NOTE: this data is volatile - it is lost after the job execution completes, and all TriggerListeners and JobListeners have been notified. Get the value with the given key from the context's data map. Get a handle to the instance that fired the . Get a handle to the instance that fired the . Get a handle to the referenced by the instance that fired the . If the is being re-executed because of a 'recovery' situation, this method will return . Returns the of the originally scheduled and now recovering job. When recovering a previously failed job execution this property returns the identity of the originally firing trigger. This recovering job will have been scheduled for the same firing time as the original job, and so is available via the property. The original firing time of the job can be accessed via the element of this job's . Gets the refire count. The refire count. Get the convenience of this execution context. The found on this object serves as a convenience - it is a merge of the found on the and the one found on the , with the value in the latter overriding any same-named values in the former. It is thus considered a 'best practice' that the Execute code of a Job retrieve data from the JobDataMap found on this object. NOTE: Do not expect value 'set' into this JobDataMap to somehow be set back onto a job's own JobDataMap. Attempts to change the contents of this map typically result in an illegal state. Get the associated with the . Get the instance of the that was created for this execution. Note: The Job instance is not available through remote scheduler interfaces. The actual time the trigger fired. For instance the scheduled time may have been 10:00:00 but the actual fire time may have been 10:00:03 if the scheduler was too busy. Returns the fireTimeUtc. The scheduled time the trigger fired for. For instance the scheduled time may have been 10:00:00 but the actual fire time may have been 10:00:03 if the scheduler was too busy. Returns the scheduledFireTimeUtc. Gets the previous fire time. The previous fire time. Gets the next fire time. The next fire time. Get the unique Id that identifies this particular firing instance of the trigger that triggered this job execution. It is unique to this JobExecutionContext instance as well. the unique fire instance id Returns the result (if any) that the set before its execution completed (the type of object set as the result is entirely up to the particular job). The result itself is meaningless to Quartz, but may be informative to s or s that are watching the job's execution. Set the result (if any) of the 's execution (the type of object set as the result is entirely up to the particular job). The result itself is meaningless to Quartz, but may be informative to s or s that are watching the job's execution. The amount of time the job ran for. The returned value will be until the job has actually completed (or thrown an exception), and is therefore generally only useful to s and s. Create a JobExecutionContext with the given context data. Increments the refire count. Returns a that represents the current . A that represents the current . Put the specified value into the context's data map with the given key. Possibly useful for sharing data between listeners and jobs. NOTE: this data is volatile - it is lost after the job execution completes, and all TriggerListeners and JobListeners have been notified. Get the value with the given key from the context's data map. Get a handle to the instance that fired the . Get a handle to the instance that fired the . Get a handle to the referenced by the instance that fired the . If the is being re-executed because of a 'recovery' situation, this method will return . Gets the refire count. The refire count. Get the convenience of this execution context. The found on this object serves as a convenience - it is a merge of the found on the and the one found on the , with the value in the latter overriding any same-named values in the former. It is thus considered a 'best practice' that the Execute code of a Job retrieve data from the JobDataMap found on this object. NOTE: Do not expect value 'set' into this JobDataMap to somehow be set back onto a job's own JobDataMap. Attempts to change the contents of this map typically result in an illegal state. Get the associated with the . Get the instance of the that was created for this execution. Note: The Job instance is not available through remote scheduler interfaces. The actual time the trigger fired. For instance the scheduled time may have been 10:00:00 but the actual fire time may have been 10:00:03 if the scheduler was too busy. Returns the fireTimeUtc. The scheduled time the trigger fired for. For instance the scheduled time may have been 10:00:00 but the actual fire time may have been 10:00:03 if the scheduler was too busy. Returns the scheduledFireTimeUtc. Gets the previous fire time. The previous fire time. Gets the next fire time. The next fire time. Returns the result (if any) that the set before its execution completed (the type of object set as the result is entirely up to the particular job). The result itself is meaningless to Quartz, but may be informative to s or s that are watching the job's execution. Set the result (if any) of the 's execution (the type of object set as the result is entirely up to the particular job). The result itself is meaningless to Quartz, but may be informative to s or s that are watching the job's execution. The amount of time the job ran for. The returned value will be until the job has actually completed (or thrown an exception), and is therefore generally only useful to s and s. Returns the fire instance id. An implementation of the interface that remotely proxies all method calls to the equivalent call on a given instance, via remoting or similar technology. James House Marko Lahma (.NET) This is the main interface of a Quartz Scheduler. A maintains a registry of s and s. Once registered, the is responsible for executing s when their associated s fire (when their scheduled time arrives). instances are produced by a . A scheduler that has already been created/initialized can be found and used through the same factory that produced it. After a has been created, it is in "stand-by" mode, and must have its method called before it will fire any s. s are to be created by the 'client program', by defining a class that implements the interface. objects are then created (also by the client) to define a individual instances of the . instances can then be registered with the via the %IScheduler.ScheduleJob(JobDetail, Trigger)% or %IScheduler.AddJob(JobDetail, bool)% method. s can then be defined to fire individual instances based on given schedules. s are most useful for one-time firings, or firing at an exact moment in time, with N repeats with a given delay between them. s allow scheduling based on time of day, day of week, day of month, and month of year. s and s have a name and group associated with them, which should uniquely identify them within a single . The 'group' feature may be useful for creating logical groupings or categorizations of s and s. If you don't have need for assigning a group to a given s of s, then you can use the constant defined on this interface. Stored s can also be 'manually' triggered through the use of the %IScheduler.TriggerJob(string, string)% function. Client programs may also be interested in the 'listener' interfaces that are available from Quartz. The interface provides notifications of executions. The interface provides notifications of firings. The interface provides notifications of events and errors. Listeners can be associated with local schedulers through the interface. The setup/configuration of a instance is very customizable. Please consult the documentation distributed with Quartz. Marko Lahma (.NET) returns true if the given JobGroup is paused returns true if the given TriggerGroup is paused Get a object describing the settings and capabilities of the scheduler instance. Note that the data returned is an 'instantaneous' snap-shot, and that as soon as it's returned, the meta data values may be different. Return a list of objects that represent all currently executing Jobs in this Scheduler instance. This method is not cluster aware. That is, it will only return Jobs currently executing in this Scheduler instance, not across the entire cluster. Note that the list returned is an 'instantaneous' snap-shot, and that as soon as it's returned, the true list of executing jobs may be different. Also please read the doc associated with - especially if you're using remoting. Get the names of all known groups. Get the names of all known groups. Get the names of all groups that are paused. Starts the 's threads that fire s. When a scheduler is first created it is in "stand-by" mode, and will not fire triggers. The scheduler can also be put into stand-by mode by calling the method. The misfire/recovery process will be started, if it is the initial call to this method on this scheduler instance. Calls after the indicated delay. (This call does not block). This can be useful within applications that have initializers that create the scheduler immediately, before the resources needed by the executing jobs have been fully initialized. Temporarily halts the 's firing of s. When is called (to bring the scheduler out of stand-by mode), trigger misfire instructions will NOT be applied during the execution of the method - any misfires will be detected immediately afterward (by the 's normal process). The scheduler is not destroyed, and can be re-started at any time. Halts the 's firing of s, and cleans up all resources associated with the Scheduler. Equivalent to Shutdown(false). The scheduler cannot be re-started. Halts the 's firing of s, and cleans up all resources associated with the Scheduler. The scheduler cannot be re-started. if the scheduler will not allow this method to return until all currently executing jobs have completed. Add the given to the Scheduler, and associate the given with it. If the given Trigger does not reference any , then it will be set to reference the Job passed with it into this method. Schedule the given with the identified by the 's settings. Schedule all of the given jobs with the related set of triggers. If any of the given jobs or triggers already exist (or more specifically, if the keys are not unique) and the replace parameter is not set to true then an exception will be thrown. Schedule the given job with the related set of triggers. If any of the given job or triggers already exist (or more specifically, if the keys are not unique) and the replace parameter is not set to true then an exception will be thrown. Remove the indicated from the scheduler. If the related job does not have any other triggers, and the job is not durable, then the job will also be deleted. Remove all of the indicated s from the scheduler. If the related job does not have any other triggers, and the job is not durable, then the job will also be deleted. Note that while this bulk operation is likely more efficient than invoking several times, it may have the adverse affect of holding data locks for a single long duration of time (rather than lots of small durations of time). Remove (delete) the with the given key, and store the new given one - which must be associated with the same job (the new trigger must have the job name & group specified) - however, the new trigger need not have the same name as the old trigger. The to be replaced. The new to be stored. if a with the given name and group was not found and removed from the store (and the new trigger is therefore not stored), otherwise the first fire time of the newly scheduled trigger. Add the given to the Scheduler - with no associated . The will be 'dormant' until it is scheduled with a , or is called for it. The must by definition be 'durable', if it is not, SchedulerException will be thrown. Add the given to the Scheduler - with no associated . The will be 'dormant' until it is scheduled with a , or is called for it. With the parameter set to true, a non-durable job can be stored. Once it is scheduled, it will resume normal non-durable behavior (i.e. be deleted once there are no remaining associated triggers). Delete the identified from the Scheduler - and any associated s. true if the Job was found and deleted. Delete the identified jobs from the Scheduler - and any associated s. Note that while this bulk operation is likely more efficient than invoking several times, it may have the adverse affect of holding data locks for a single long duration of time (rather than lots of small durations of time). true if all of the Jobs were found and deleted, false if one or more were not deleted. Trigger the identified (Execute it now). Trigger the identified (Execute it now). the (possibly ) JobDataMap to be associated with the trigger that fires the job immediately. The of the to be executed. Pause the with the given key - by pausing all of its current s. Pause all of the s in the matching groups - by pausing all of their s. The Scheduler will "remember" that the groups are paused, and impose the pause on any new jobs that are added to any of those groups until it is resumed. NOTE: There is a limitation that only exactly matched groups can be remembered as paused. For example, if there are pre-existing job in groups "aaa" and "bbb" and a matcher is given to pause groups that start with "a" then the group "aaa" will be remembered as paused and any subsequently added jobs in group "aaa" will be paused, however if a job is added to group "axx" it will not be paused, as "axx" wasn't known at the time the "group starts with a" matcher was applied. HOWEVER, if there are pre-existing groups "aaa" and "bbb" and a matcher is given to pause the group "axx" (with a group equals matcher) then no jobs will be paused, but it will be remembered that group "axx" is paused and later when a job is added in that group, it will become paused. Pause the with the given key. Pause all of the s in the groups matching. The Scheduler will "remember" all the groups paused, and impose the pause on any new triggers that are added to any of those groups until it is resumed. NOTE: There is a limitation that only exactly matched groups can be remembered as paused. For example, if there are pre-existing triggers in groups "aaa" and "bbb" and a matcher is given to pause groups that start with "a" then the group "aaa" will be remembered as paused and any subsequently added triggers in that group be paused, however if a trigger is added to group "axx" it will not be paused, as "axx" wasn't known at the time the "group starts with a" matcher was applied. HOWEVER, if there are pre-existing groups "aaa" and "bbb" and a matcher is given to pause the group "axx" (with a group equals matcher) then no triggers will be paused, but it will be remembered that group "axx" is paused and later when a trigger is added in that group, it will become paused. Resume (un-pause) the with the given key. If any of the 's s missed one or more fire-times, then the 's misfire instruction will be applied. Resume (un-pause) all of the s in matching groups. If any of the s had s that missed one or more fire-times, then the 's misfire instruction will be applied. Resume (un-pause) the with the given key. If the missed one or more fire-times, then the 's misfire instruction will be applied. Resume (un-pause) all of the s in matching groups. If any missed one or more fire-times, then the 's misfire instruction will be applied. Pause all triggers - similar to calling on every group, however, after using this method must be called to clear the scheduler's state of 'remembering' that all new triggers will be paused as they are added. When is called (to un-pause), trigger misfire instructions WILL be applied. Resume (un-pause) all triggers - similar to calling on every group. If any missed one or more fire-times, then the 's misfire instruction will be applied. Get the keys of all the s in the matching groups. Get all s that are associated with the identified . The returned Trigger objects will be snap-shots of the actual stored triggers. If you wish to modify a trigger, you must re-store the trigger afterward (e.g. see ). Get the names of all the s in the given groups. Get the for the instance with the given key . The returned JobDetail object will be a snap-shot of the actual stored JobDetail. If you wish to modify the JobDetail, you must re-store the JobDetail afterward (e.g. see ). Get the instance with the given key. The returned Trigger object will be a snap-shot of the actual stored trigger. If you wish to modify the trigger, you must re-store the trigger afterward (e.g. see ). Get the current state of the identified . Add (register) the given to the Scheduler. Name of the calendar. The calendar. if set to true [replace]. whether or not to update existing triggers that referenced the already existing calendar so that they are 'correct' based on the new trigger. Delete the identified from the Scheduler. If removal of the Calendar would result in s pointing to non-existent calendars, then a will be thrown. Name of the calendar. true if the Calendar was found and deleted. Get the instance with the given name. Get the names of all registered . Request the interruption, within this Scheduler instance, of all currently executing instances of the identified , which must be an implementor of the interface. If more than one instance of the identified job is currently executing, the method will be called on each instance. However, there is a limitation that in the case that on one instances throws an exception, all remaining instances (that have not yet been interrupted) will not have their method called. If you wish to interrupt a specific instance of a job (when more than one is executing) you can do so by calling to obtain a handle to the job instance, and then invoke on it yourself. This method is not cluster aware. That is, it will only interrupt instances of the identified InterruptableJob currently executing in this Scheduler instance, not across the entire cluster. true is at least one instance of the identified job was found and interrupted. Request the interruption, within this Scheduler instance, of the identified executing job instance, which must be an implementor of the interface. This method is not cluster aware. That is, it will only interrupt instances of the identified InterruptableJob currently executing in this Scheduler instance, not across the entire cluster. the unique identifier of the job instance to be interrupted (see true if the identified job instance was found and interrupted. Determine whether a with the given identifier already exists within the scheduler. the identifier to check for true if a Job exists with the given identifier Determine whether a with the given identifier already exists within the scheduler. the identifier to check for true if a Trigger exists with the given identifier Clears (deletes!) all scheduling data - all s, s s. Returns the name of the . Returns the instance Id of the . Returns the of the . Reports whether the is in stand-by mode. Reports whether the has been Shutdown. Set the that will be responsible for producing instances of classes. JobFactories may be of use to those wishing to have their application produce instances via some special mechanism, such as to give the opportunity for dependency injection. Get a reference to the scheduler's , through which listeners may be registered. the scheduler's Whether the scheduler has been started. Note: This only reflects whether has ever been called on this Scheduler, so it will return even if the is currently in standby mode or has been since shutdown. Construct a instance to proxy the given RemoteableQuartzScheduler instance. returns true if the given JobGroup is paused returns true if the given TriggerGroup is paused Get a object describing the settings and capabilities of the scheduler instance. Note that the data returned is an 'instantaneous' snap-shot, and that as soon as it's returned, the meta data values may be different. Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Get the names of all groups that are paused. Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Get the names of all registered . Calls the equivalent method on the 'proxied' . Returns the name of the . Returns the instance Id of the . Returns the of the . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Set the that will be responsible for producing instances of classes. JobFactories may be of use to those wishing to have their application produce instances via some special mechanism, such as to give the opportunity for dependency injection. SchedulerException Whether the scheduler has been started. Note: This only reflects whether has ever been called on this Scheduler, so it will return even if the is currently in standby mode or has been since shutdown. This utility calls methods reflectively on the given objects even though the methods are likely on a proper interface (ThreadPool, JobStore, etc). The motivation is to be tolerant of older implementations that have not been updated for the changes in the interfaces (eg. LocalTaskExecutorThreadPool in spring quartz helpers) teck Marko Lahma (.NET) Holds references to Scheduler instances - ensuring uniqueness, and preventing garbage collection, and allowing 'global' lookups. James House Marko Lahma (.NET) Binds the specified sched. The sched. Removes the specified sched name. Name of the sched. Lookups the specified sched name. Name of the sched. Lookups all. Gets the singleton instance. The instance. Responsible for creating the instances of to be used within the instance. James House Marko Lahma (.NET) Initialize the factory, providing a handle to the that should be made available within the and the s within it. Called by the to obtain instances of . An implementation of the interface that directly proxies all method calls to the equivalent call on a given instance. James House Marko Lahma (.NET) Construct a instance to proxy the given instance. returns true if the given JobGroup is paused returns true if the given TriggerGroup is paused Get a object describing the settings and capabilities of the scheduler instance. Note that the data returned is an 'instantaneous' snap-shot, and that as soon as it's returned, the meta data values may be different. Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Get the names of all registered . Request the interruption, within this Scheduler instance, of all currently executing instances of the identified , which must be an implementor of the interface. If more than one instance of the identified job is currently executing, the method will be called on each instance. However, there is a limitation that in the case that on one instances throws an exception, all remaining instances (that have not yet been interrupted) will not have their method called. If you wish to interrupt a specific instance of a job (when more than one is executing) you can do so by calling to obtain a handle to the job instance, and then invoke on it yourself. This method is not cluster aware. That is, it will only interrupt instances of the identified InterruptableJob currently executing in this Scheduler instance, not across the entire cluster. true is at least one instance of the identified job was found and interrupted. UnableToInterruptJobException if the job does not implement Returns the name of the . Returns the instance Id of the . Returns the of the . Whether the scheduler has been started. Note: This only reflects whether has ever been called on this Scheduler, so it will return even if the is currently in standby mode or has been since shutdown. Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . Calls the equivalent method on the 'proxied' . An implementation of that does all of it's work of creating a instance based on the contents of a properties file. By default a properties are loaded from App.config's quartz section. If that fails, then the file is loaded "quartz.properties". If file does not exist, default configuration located (as a embedded resource) in Quartz.dll is loaded. If you wish to use a file other than these defaults, you must define the system property 'quartz.properties' to point to the file you want. See the sample properties that are distributed with Quartz for information about the various settings available within the file. Alternatively, you can explicitly Initialize the factory by calling one of the methods before calling . Instances of the specified , , classes will be created by name, and then any additional properties specified for them in the config file will be set on the instance by calling an equivalent 'set' method. For example if the properties file contains the property 'quartz.jobStore. myProp = 10' then after the JobStore class has been instantiated, the property 'MyProp' will be set with the value. Type conversion to primitive CLR types (int, long, float, double, boolean, enum and string) are performed before calling the property's setter method. James House Anthony Eden Mohammad Rezaei Marko Lahma (.NET) Returns a handle to the default Scheduler, creating it if it does not yet exist. Initializes a new instance of the class. Initializes a new instance of the class. The props. Initialize the . By default a properties file named "quartz.properties" is loaded from the 'current working directory'. If that fails, then the "quartz.properties" file located (as an embedded resource) in the Quartz.NET assembly is loaded. If you wish to use a file other than these defaults, you must define the system property 'quartz.properties' to point to the file you want. Creates a new name value collection and overrides its values with system values (environment variables). The base properties to override. A new NameValueCollection instance. Initialize the with the contents of the given key value collection object. Needed while loadhelper is not constructed. Returns a handle to the Scheduler produced by this factory. If one of the methods has not be previously called, then the default (no-arg) method will be called by this method. Returns a handle to the Scheduler with the given name, if it exists (if it has already been instantiated). Returns a handle to all known Schedulers (made by any StdSchedulerFactory instance.). Inspects a directory and compares whether any files' "last modified dates" have changed since the last time it was inspected. If one or more files have been updated (or created), the job invokes a "call-back" method on an identified that can be found in the . pl47ypus James House Marko Lahma (.NET) The interface to be implemented by classes which represent a 'job' to be performed. Instances of this interface must have a no-argument constructor. provides a mechanism for 'instance member data' that may be required by some implementations of this interface. James House Marko Lahma (.NET) Called by the when a fires that is associated with the . The implementation may wish to set a result object on the JobExecutionContext before this method exits. The result itself is meaningless to Quartz, but may be informative to s or s that are watching the job's execution. The execution context. key with which to specify the directory to be monitored - an absolute path is recommended. key with which to specify the to be notified when the directory contents change. key with which to specify a value that represents the minimum number of milliseconds that must have passed since the file's last modified time in order to consider the file new/altered. This is necessary because another process may still be in the middle of writing to the file when the scan occurs, and the file may therefore not yet be ready for processing. If this parameter is not specified, a default value of 5000 (five seconds) will be used. This is the main entry point for job execution. The scheduler will call this method on the job once it is triggered. The that the job will use during execution. Inspects a file and compares whether it's "last modified date" has changed since the last time it was inspected. If the file has been updated, the job invokes a "call-back" method on an identified that can be found in the . James House Marko Lahma (.NET) JobDataMap key with which to specify the name of the file to monitor. JobDataMap key with which to specify the to be notified when the file contents change. key with which to specify a long value that represents the minimum number of milliseconds that must have past since the file's last modified time in order to consider the file new/altered. This is necessary because another process may still be in the middle of writing to the file when the scan occurs, and the file may therefore not yet be ready for processing. If this parameter is not specified, a default value of 5000 (five seconds) will be used. Initializes a new instance of the class. Called by the when a fires that is associated with the . The implementation may wish to set a result object on the JobExecutionContext before this method exits. The result itself is meaningless to Quartz, but may be informative to s or s that are watching the job's execution. The execution context. Gets the last modified date. Name of the file. Gets the log. The log. Interface for objects wishing to receive a 'call-back' from a Instances should be stored in the such that the can find it. James House Marko Lahma (.NET) An array of objects that were updated/added since the last scan of the directory Interface for objects wishing to receive a 'call-back' from a . James House Marko Lahma (.NET) Informs that certain file has been updated. Name of the file. Built in job for executing native executables in a separate process. JobDetail job = new JobDetail("dumbJob", null, typeof(Quartz.Jobs.NativeJob)); job.JobDataMap.Put(Quartz.Jobs.NativeJob.PropertyCommand, "echo \"hi\" >> foobar.txt"); Trigger trigger = TriggerUtils.MakeSecondlyTrigger(5); trigger.Name = "dumbTrigger"; sched.ScheduleJob(job, trigger); If PropertyWaitForProcess is true, then the integer exit value of the process will be saved as the job execution result in the JobExecutionContext. Matthew Payne James House Steinar Overbeck Cook Marko Lahma (.NET) Required parameter that specifies the name of the command (executable) to be ran. Optional parameter that specifies the parameters to be passed to the executed command. Optional parameter (value should be 'true' or 'false') that specifies whether the job should wait for the execution of the native process to complete before it completes. Defaults to . Optional parameter (value should be 'true' or 'false') that specifies whether the spawned process's stdout and stderr streams should be consumed. If the process creates output, it is possible that it might 'hang' if the streams are not consumed. Defaults to . Optional parameter that specifies the working directory to be used by the executed command. Initializes a new instance of the class. Called by the when a fires that is associated with the . The implementation may wish to set a result object on the JobExecutionContext before this method exits. The result itself is meaningless to Quartz, but may be informative to s or s that are watching the job's execution. Gets the log. The log. Consumes data from the given input stream until EOF and prints the data to stdout cooste James House Initializes a new instance of the class. The enclosing instance. The input stream. The type. Runs this object as a separate thread, printing the contents of the input stream supplied during instantiation, to either Console. or stderr An implementation of Job, that does absolutely nothing - useful for system which only wish to use s and s, rather than writing Jobs that perform work. James House Marko Lahma (.NET) Do nothing. A Job which sends an e-mail with the configured content to the configured recipient. James House Marko Lahma (.NET) The host name of the smtp server. REQUIRED. The port of the smtp server. Optional. Username for authenticated session. Password must also be set if username is used. Optional. Password for authenticated session. Optional. The e-mail address to send the mail to. REQUIRED. The e-mail address to cc the mail to. Optional. The e-mail address to claim the mail is from. REQUIRED. The e-mail address the message should say to reply to. Optional. The subject to place on the e-mail. REQUIRED. The e-mail message body. REQUIRED. The message subject and body content type. Optional. Executes the job. The job execution context. Holds a List of references to JobListener instances and broadcasts all events to them (in order). The broadcasting behavior of this listener to delegate listeners may be more convenient than registering all of the listeners directly with the Scheduler, and provides the flexibility of easily changing which listeners get notified. James House (jhouse AT revolition DOT net) Construct an instance with the given name. (Remember to add some delegate listeners!) the name of this instance Construct an instance with the given name, and List of listeners. the name of this instance the initial List of JobListeners to broadcast to. Holds a List of references to SchedulerListener instances and broadcasts all events to them (in order). This may be more convenient than registering all of the listeners directly with the Scheduler, and provides the flexibility of easily changing which listeners get notified. James House Marko Lahma (.NET) Construct an instance with the given List of listeners. The initial List of SchedulerListeners to broadcast to. Holds a List of references to TriggerListener instances and broadcasts all events to them (in order). The broadcasting behavior of this listener to delegate listeners may be more convenient than registering all of the listeners directly with the Scheduler, and provides the flexibility of easily changing which listeners get notified. James House (jhouse AT revolition DOT net) The interface to be implemented by classes that want to be informed when a fires. In general, applications that use a will not have use for this mechanism. James House Marko Lahma (.NET) Called by the when a has fired, and it's associated is about to be executed. It is called before the method of this interface. The that has fired. The that will be passed to the 's method. Called by the when a has fired, and it's associated is about to be executed. It is called after the method of this interface. If the implementation vetoes the execution (via returning ), the job's execute method will not be called. The that has fired. The that will be passed to the 's method. Returns true if job execution should be vetoed, false otherwise. Called by the when a has misfired. Consideration should be given to how much time is spent in this method, as it will affect all triggers that are misfiring. If you have lots of triggers misfiring at once, it could be an issue it this method does a lot. The that has misfired. Called by the when a has fired, it's associated has been executed, and it's method has been called. The that was fired. The that was passed to the 's method. The result of the call on the 's method. Get the name of the . Construct an instance with the given name. (Remember to add some delegate listeners!) the name of this instance Construct an instance with the given name, and List of listeners. the name of this instance the initial List of TriggerListeners to broadcast to. Keeps a collection of mappings of which Job to trigger after the completion of a given job. If this listener is notified of a job completing that has a mapping, then it will then attempt to trigger the follow-up job. This achieves "job chaining", or a "poor man's workflow". Generally an instance of this listener would be registered as a global job listener, rather than being registered directly to a given job. If for some reason there is a failure creating the trigger for the follow-up job (which would generally only be caused by a rare serious failure in the system, or the non-existence of the follow-up job), an error message is logged, but no other action is taken. If you need more rigorous handling of the error, consider scheduling the triggering of the flow-up job within your job itself. James House Marko Lahma (.NET) A helpful abstract base class for implementors of . The methods in this class are empty so you only need to override the subset for the events you care about. You are required to implement to return the unique name of your . Marko Lahma (.NET) Initializes a new instance of the class. Called by the when a is about to be executed (an associated has occurred). This method will not be invoked if the execution of the Job was vetoed by a . Called by the when a was about to be executed (an associated has occurred), but a vetoed it's execution. Called by the after a has been executed, and be for the associated 's method has been called. Get the for this class's category. This should be used by subclasses for logging. Get the name of the . Construct an instance with the given name. The name of this instance. Add a chain mapping - when the Job identified by the first key completes the job identified by the second key will be triggered. a JobKey with the name and group of the first job a JobKey with the name and group of the follow-up job A helpful abstract base class for implementors of . The methods in this class are empty so you only need to override the subset for the events you care about. You are required to implement to return the unique name of your . Marko Lahma (.NET) Get the for this class's category. This should be used by subclasses for logging. Get the name of the . Logs a history of all job executions (and execution vetoes) via common logging. The logged message is customizable by setting one of the following message properties to a string that conforms to the syntax of . JobToBeFiredMessage - available message data are:
Element Data Type Description
0 String The Job's Name.
1 String The Job's Group.
2 Date The current time.
3 String The Trigger's name.
4 String The Trigger's group.
5 Date The scheduled fire time.
6 Date The next scheduled fire time.
7 Integer The re-fire count from the JobExecutionContext.
The default message text is "Job {1}.{0} fired (by trigger {4}.{3}) at: {2:HH:mm:ss MM/dd/yyyy}"
JobSuccessMessage - available message data are:
Element Data Type Description
0 String The Job's Name.
1 String The Job's Group.
2 Date The current time.
3 String The Trigger's name.
4 String The Trigger's group.
5 Date The scheduled fire time.
6 Date The next scheduled fire time.
7 Integer The re-fire count from the JobExecutionContext.
8 Object The string value (toString() having been called) of the result (if any) that the Job set on the JobExecutionContext, with on it. "NULL" if no result was set.
The default message text is "Job {1}.{0} execution complete at {2:HH:mm:ss MM/dd/yyyy} and reports: {8}"
JobFailedMessage - available message data are:
Element Data Type Description
0 String The Job's Name.
1 String The Job's Group.
2 Date The current time.
3 String The Trigger's name.
4 String The Trigger's group.
5 Date The scheduled fire time.
6 Date The next scheduled fire time.
7 Integer The re-fire count from the JobExecutionContext.
8 String The message from the thrown JobExecution Exception.
The default message text is "Job {1}.{0} execution failed at {2:HH:mm:ss MM/dd/yyyy} and reports: {8}"
JobWasVetoedMessage - available message data are:
Element Data Type Description
0 String The Job's Name.
1 String The Job's Group.
2 Date The current time.
3 String The Trigger's name.
4 String The Trigger's group.
5 Date The scheduled fire time.
6 Date The next scheduled fire time.
7 Integer The re-fire count from the JobExecutionContext.
The default message text is "Job {1}.{0} was vetoed. It was to be fired (by trigger {4}.{3}) at: {2:HH:mm:ss MM/dd/yyyy}"
Marko Lahma (.NET)
Provides an interface for a class to become a "plugin" to Quartz. Plugins can do virtually anything you wish, though the most interesting ones will obviously interact with the scheduler in some way - either actively: by invoking actions on the scheduler, or passively: by being a , , and/or . If you use to Initialize your Scheduler, it can also create and Initialize your plugins - look at the configuration docs for details. If you need direct access your plugin, you can have it explicitly put a reference to itself in the 's as part of its method. James House Marko Lahma (.NET) Called during creation of the in order to give the a chance to Initialize. At this point, the Scheduler's is not yet If you need direct access your plugin, you can have it explicitly put a reference to itself in the 's as part of its method. The name by which the plugin is identified. The scheduler to which the plugin is registered. Called when the associated is started, in order to let the plug-in know it can now make calls into the scheduler if it needs to. Called in order to inform the that it should free up all of it's resources because the scheduler is shutting down. Called during creation of the in order to give the a chance to Initialize. Called when the associated is started, in order to let the plug-in know it can now make calls into the scheduler if it needs to. Called in order to inform the that it should free up all of it's resources because the scheduler is shutting down. Called by the when a is about to be executed (an associated has occurred). This method will not be invoked if the execution of the Job was vetoed by a . Called by the after a has been executed, and be for the associated 's method has been called. Called by the when a was about to be executed (an associated has occurred), but a vetoed it's execution. Logger instance to use. Defaults to common logging. Get or sets the message that is logged when a Job successfully completes its execution. Get or sets the message that is logged when a Job fails its execution. Gets or sets the message that is logged when a Job is about to Execute. Gets or sets the message that is logged when a Job execution is vetoed by a trigger listener. Get the name of the . Logs a history of all trigger firings via the Jakarta Commons-Logging framework. The logged message is customizable by setting one of the following message properties to a string that conforms to the syntax of . TriggerFiredMessage - available message data are:
Element Data Type Description
0 String The Trigger's Name.
1 String The Trigger's Group.
2 Date The scheduled fire time.
3 Date The next scheduled fire time.
4 Date The actual fire time.
5 String The Job's name.
6 String The Job's group.
7 Integer The re-fire count from the JobExecutionContext.
The default message text is "Trigger {1}.{0} fired job {6}.{5} at: {4, date, HH:mm:ss MM/dd/yyyy"
TriggerMisfiredMessage - available message data are:
Element Data Type Description
0 String The Trigger's Name.
1 String The Trigger's Group.
2 Date The scheduled fire time.
3 Date The next scheduled fire time.
4 Date The actual fire time. (the time the misfire was detected/handled)
5 String The Job's name.
6 String The Job's group.
The default message text is "Trigger {1}.{0} misfired job {6}.{5} at: {4, date, HH:mm:ss MM/dd/yyyy}. Should have fired at: {3, date, HH:mm:ss MM/dd/yyyy"
TriggerCompleteMessage - available message data are:
Element Data Type Description
0 String The Trigger's Name.
1 String The Trigger's Group.
2 Date The scheduled fire time.
3 Date The next scheduled fire time.
4 Date The job completion time.
5 String The Job's name.
6 String The Job's group.
7 Integer The re-fire count from the JobExecutionContext.
8 Integer The trigger's resulting instruction code.
9 String A human-readable translation of the trigger's resulting instruction code.
The default message text is "Trigger {1}.{0} completed firing job {6}.{5} at {4, date, HH:mm:ss MM/dd/yyyy} with resulting trigger instruction code: {9"
James House Marko Lahma (.NET)
Called during creation of the in order to give the a chance to Initialize. Called when the associated is started, in order to let the plug-in know it can now make calls into the scheduler if it needs to. Called in order to inform the that it should free up all of it's resources because the scheduler is shutting down. Called by the when a has fired, and it's associated is about to be executed. It is called before the method of this interface. The that has fired. The that will be passed to the 's method. Called by the when a has misfired. Consideration should be given to how much time is spent in this method, as it will affect all triggers that are misfiring. If you have lots of triggers misfiring at once, it could be an issue it this method does a lot. The that has misfired. Called by the when a has fired, it's associated has been executed, and it's method has been called. The that was fired. The that was passed to the 's method. The result of the call on the 's method. Called by the when a has fired, and it's associated is about to be executed. It is called after the method of this interface. The that has fired. The that will be passed to the 's method. Logger instance to use. Defaults to common logging. Get or set the message that is printed upon the completion of a trigger's firing. Get or set the message that is printed upon a trigger's firing. Get or set the message that is printed upon a trigger's mis-firing. Get the name of the . This plugin catches the event of the VM terminating (such as upon a CRTL-C) and tells the scheduler to Shutdown. James House Marko Lahma (.NET) Called during creation of the in order to give the a chance to Initialize. Called when the associated is started, in order to let the plug-in know it can now make calls into the scheduler if it needs to. Called in order to inform the that it should free up all of it's resources because the scheduler is shutting down. Determine whether or not the plug-in is configured to cause a clean Shutdown of the scheduler. The default value is . This plugin loads XML file(s) to add jobs and schedule them with triggers as the scheduler is initialized, and can optionally periodically scan the file for changes. The periodically scanning of files for changes is not currently supported in a clustered environment. James House Pierre Awaragi Initializes a new instance of the class. Called during creation of the in order to give the a chance to initialize. The name. The scheduler. SchedulerConfigException Called when the associated is started, in order to let the plug-in know it can now make calls into the scheduler if it needs to. Helper method for generating unique job/trigger name for the file scanning jobs (one per FileJob). The unique names are saved in jobTriggerNameSet. Called in order to inform the that it should free up all of it's resources because the scheduler is shutting down. Gets the log. The log. Comma separated list of file names (with paths) to the XML files that should be read. The interval at which to scan for changes to the file. If the file has been changed, it is re-loaded and parsed. The default value for the interval is 0, which disables scanning. Whether or not initialization of the plugin should fail (throw an exception) if the file cannot be found. Default is . Information about a file that should be processed by . Default object serialization strategy that uses under the hood. Marko Lahma Interface for object serializers. Marko Lahma Serializes given object as bytes that can be stored to permanent stores. Object to serialize, always non-null. Deserializes object from byte array presentation. Data to deserialize object from, always non-null and non-empty. Serializes given object as bytes that can be stored to permanent stores. Object to serialize. Deserializes object from byte array presentation. Data to deserialize object from. Helper base class for host name lookup requiring instance id generators. Marko Lahma An IInstanceIdGenerator is responsible for generating the clusterwide unique instance id for a node. This interface may be of use to those wishing to have specific control over the mechanism by which the instances in their application are named. Marko Lahma (.NET) Generate the instance id for a The clusterwide unique instance id. Generate the instance id for a The clusterwide unique instance id. that names the scheduler instance using just the machine hostname. This class is useful when you know that your scheduler instance will be the only one running on a particular machine. Each time the scheduler is restarted, it will get the same instance id as long as the machine is not renamed. Marko Lahma (.NET) Generate the instance id for a The clusterwide unique instance id. A JobFactory that instantiates the Job instance (using the default no-arg constructor, or more specifically: ), and then attempts to set all values from the and the 's merged onto properties of the job. Set the WarnIfPropertyNotFound property to true if you'd like noisy logging in the case of values in the not mapping to properties on your job class. This may be useful for troubleshooting typos of property names, etc. but very noisy if you regularly (and purposely) have extra things in your . Also of possible interest is the ThrowIfPropertyNotFound property which will throw exceptions on unmatched JobDataMap keys. James Houser Marko Lahma (.NET) The default JobFactory used by Quartz - simply calls on the job class. James House Marko Lahma (.NET) A JobFactory is responsible for producing instances of classes. This interface may be of use to those wishing to have their application produce instances via some special mechanism, such as to give the opportunity for dependency injection. James House Marko Lahma (.NET) Called by the scheduler at the time of the trigger firing, in order to produce a instance on which to call Execute. It should be extremely rare for this method to throw an exception - basically only the the case where there is no way at all to instantiate and prepare the Job for execution. When the exception is thrown, the Scheduler will move all triggers associated with the Job into the state, which will require human intervention (e.g. an application restart after fixing whatever configuration problem led to the issue with instantiating the Job. The TriggerFiredBundle from which the and other info relating to the trigger firing can be obtained. a handle to the scheduler that is about to execute the job SchedulerException if there is a problem instantiating the Job. the newly instantiated Job Allows the the job factory to destroy/cleanup the job if needed. Called by the scheduler at the time of the trigger firing, in order to produce a instance on which to call Execute. It should be extremely rare for this method to throw an exception - basically only the the case where there is no way at all to instantiate and prepare the Job for execution. When the exception is thrown, the Scheduler will move all triggers associated with the Job into the state, which will require human intervention (e.g. an application restart after fixing whatever configuration problem led to the issue with instantiating the Job. The TriggerFiredBundle from which the and other info relating to the trigger firing can be obtained. the newly instantiated Job SchedulerException if there is a problem instantiating the Job. Allows the the job factory to destroy/cleanup the job if needed. No-op when using SimpleJobFactory. Called by the scheduler at the time of the trigger firing, in order to produce a instance on which to call Execute. It should be extremely rare for this method to throw an exception - basically only the the case where there is no way at all to instantiate and prepare the Job for execution. When the exception is thrown, the Scheduler will move all triggers associated with the Job into the state, which will require human intervention (e.g. an application restart after fixing whatever configuration problem led to the issue with instantiating the Job. The TriggerFiredBundle from which the and other info relating to the trigger firing can be obtained. the newly instantiated Job SchedulerException if there is a problem instantiating the Job. Sets the object properties. The object to set properties to. The data to set. Whether the JobInstantiation should fail and throw and exception if a key (name) and value (type) found in the JobDataMap does not correspond to a property setter on the Job class. Get or set whether a warning should be logged if a key (name) and value (type) found in the JobDataMap does not correspond to a property setter on the Job class. This class implements a that utilizes RAM as its storage device. As you should know, the ramification of this is that access is extremely fast, but the data is completely volatile - therefore this should not be used if true persistence between program shutdowns is required. James House Sharada Jambula Marko Lahma (.NET) Initializes a new instance of the class. Gets the fired trigger record id. The fired trigger record id. Called by the QuartzScheduler before the is used, in order to give the it a chance to Initialize. Called by the QuartzScheduler to inform the that the scheduler has started. Called by the QuartzScheduler to inform the JobStore that the scheduler has been paused. Called by the QuartzScheduler to inform the JobStore that the scheduler has resumed after being paused. Called by the QuartzScheduler to inform the that it should free up all of it's resources because the scheduler is shutting down. Clears (deletes!) all scheduling data - all s, s s. Store the given and . The to be stored. The to be stored. Returns true if the given job group is paused. Job group name returns true if the given TriggerGroup is paused. Store the given . The to be stored. If , any existing in the with the same name and group should be over-written. Remove (delete) the with the given name, and any s that reference it. if a with the given name and group was found and removed from the store. Remove (delete) the with the given name. if a with the given name and group was found and removed from the store. Store the given . The to be stored. If , any existing in the with the same name and group should be over-written. Remove (delete) the with the given name. if a with the given name and group was found and removed from the store. The to be removed. Whether to delete orphaned job details from scheduler if job becomes orphaned from removing the trigger. Replaces the trigger. The of the to be replaced. The new trigger. Retrieve the for the given . The desired , or null if there is no match. Retrieve the given . The desired , or null if there is no match. Determine whether a with the given identifier already exists within the scheduler. the identifier to check for true if a calendar exists with the given identifier Determine whether a with the given identifier already exists within the scheduler. the identifier to check for true if a Job exists with the given identifier Determine whether a with the given identifier already exists within the scheduler. triggerKey the identifier to check for true if a Trigger exists with the given identifier Get the current state of the identified . Store the given . The name. The to be stored. If , any existing in the with the same name and group should be over-written. If , any s existing in the that reference an existing Calendar with the same name with have their next fire time re-computed with the new . Remove (delete) the with the given name. If removal of the would result in s pointing to non-existent calendars, then a will be thrown. The name of the to be removed. if a with the given name was found and removed from the store. Retrieve the given . The name of the to be retrieved. The desired , or null if there is no match. Get the number of s that are stored in the . Get the number of s that are stored in the . Get the number of s that are stored in the . Get the names of all of the s that match the given group matcher. Get the names of all of the s in the . If there are no ICalendars in the given group name, the result should be a zero-length array (not ). Get the names of all of the s that have the given group name. Get the names of all of the groups. Get the names of all of the groups. Get all of the Triggers that are associated to the given Job. If there are no matches, a zero-length array should be returned. Gets the trigger wrappers for job. Gets the trigger wrappers for calendar. Name of the cal. Pause the with the given name. Pause all of the s in the given group. The JobStore should "remember" that the group is paused, and impose the pause on any new triggers that are added to the group while the group is paused. Pause the with the given name - by pausing all of its current s. Pause all of the s in the given group - by pausing all of their s. The JobStore should "remember" that the group is paused, and impose the pause on any new jobs that are added to the group while the group is paused. Resume (un-pause) the with the given key. If the missed one or more fire-times, then the 's misfire instruction will be applied. Resume (un-pause) all of the s in the given group. If any missed one or more fire-times, then the 's misfire instruction will be applied. Resume (un-pause) the with the given name. If any of the 's s missed one or more fire-times, then the 's misfire instruction will be applied. Resume (un-pause) all of the s in the given group. If any of the s had s that missed one or more fire-times, then the 's misfire instruction will be applied. Pause all triggers - equivalent of calling on every group. When is called (to un-pause), trigger misfire instructions WILL be applied. Resume (un-pause) all triggers - equivalent of calling on every trigger group and setting all job groups unpaused />. If any missed one or more fire-times, then the 's misfire instruction will be applied. Applies the misfire. The trigger wrapper. Get a handle to the next trigger to be fired, and mark it as 'reserved' by the calling scheduler. Inform the that the scheduler no longer plans to fire the given , that it had previously acquired (reserved). Inform the that the scheduler is now firing the given (executing its associated ), that it had previously acquired (reserved). Inform the that the scheduler has completed the firing of the given (and the execution its associated ), and that the in the given should be updated if the is stateful. Sets the state of all triggers of job to specified state. Peeks the triggers. The time span by which a trigger must have missed its next-fire-time, in order for it to be considered "misfired" and thus have its misfire instruction applied. Returns whether this instance supports persistence. Inform the of the Scheduler instance's Id, prior to initialize being invoked. Inform the of the Scheduler instance's name, prior to initialize being invoked. Comparer for trigger wrappers. Indicates whether the current object is equal to another object of the same type. true if the current object is equal to the parameter; otherwise, false. An object to compare with this object. Serves as a hash function for a particular type. A hash code for the current . 2 Possible internal trigger states in RAMJobStore Waiting Acquired Executing Complete Paused Blocked Paused and Blocked Error Helper wrapper class The key used Job's key The trigger Current state Determines whether the specified is equal to the current . The to compare with the current . true if the specified is equal to the current ; otherwise, false. Serves as a hash function for a particular type. is suitable for use in hashing algorithms and data structures like a hash table. A hash code for the current . Scheduler exporter that exports scheduler to remoting context. Marko Lahma Service interface for scheduler exporters. Marko Lahma Binds (exports) scheduler to external context. Unbinds scheduler from external context. Registers remoting channel if needed. This is determined by checking whether there is a positive value for port. Gets or sets the port used for remoting. Gets or sets the name to use when exporting scheduler to remoting context. Gets or sets the name to use when binding to tcp channel. Sets the channel type when registering remoting. Sets the used when exporting to remoting context. Defaults to . A Boolean value (true or false) that specifies whether to refuse requests from other computers. Specifying true allows only remoting calls from the local computer. The default is false. A implementation that creates connection to remote scheduler using remoting. Client Proxy to a IRemotableQuartzScheduler Returns a client proxy to a remote . Returns a client proxy to a remote . Gets or sets the remote scheduler address. The remote scheduler address. The default InstanceIdGenerator used by Quartz when instance id is to be automatically generated. Instance id is of the form HOSTNAME + CURRENT_TIME. Marko Lahma (.NET) Generate the instance id for a The clusterwide unique instance id. This is class is a simple implementation of a thread pool, based on the interface. objects are sent to the pool with the method, which blocks until a becomes available. The pool has a fixed number of s, and does not grow or shrink based on demand. James House Juergen Donnerstag Marko Lahma (.NET) The interface to be implemented by classes that want to provide a thread pool for the 's use. implementation instances should ideally be made for the sole use of Quartz. Most importantly, when the method returns a value of 1 or greater, there must still be at least one available thread in the pool when the method is called a few moments (or many moments) later. If this assumption does not hold true, it may result in extra JobStore queries and updates, and if clustering features are being used, it may result in greater imbalance of load. James House Marko Lahma (.NET) Execute the given in the next available . The implementation of this interface should not throw exceptions unless there is a serious problem (i.e. a serious misconfiguration). If there are no available threads, rather it should either queue the Runnable, or block until a thread is available, depending on the desired strategy. Determines the number of threads that are currently available in in the pool. Useful for determining the number of times can be called before returning false. The implementation of this method should block until there is at least one available thread. the number of currently available threads Must be called before the is used, in order to give the it a chance to Initialize. Typically called by the . Called by the QuartzScheduler to inform the that it should free up all of it's resources because the scheduler is shutting down. Get the current number of threads in the . Inform the of the Scheduler instance's Id, prior to initialize being invoked. Inform the of the Scheduler instance's name, prior to initialize being invoked. Create a new (unconfigured) . Create a new with the specified number of s that have the given priority. the number of worker s in the pool, must be > 0. the thread priority for the worker threads. Called by the QuartzScheduler before the is used, in order to give the it a chance to Initialize. Terminate any worker threads in this thread group. Jobs currently in progress will complete. Run the given object in the next available . If while waiting the thread pool is asked to shut down, the Runnable is executed immediately within a new additional thread. The to be added. Creates the worker threads. The thread count. Terminate any worker threads in this thread group. Jobs currently in progress will complete. Gets or sets the number of worker threads in the pool. Set has no effect after has been called. Get or set the thread priority of worker threads in the pool. Set operation has no effect after has been called. Gets or sets the thread name prefix. The thread name prefix. Gets or sets the value of makeThreadsDaemons. Gets the size of the pool. The size of the pool. Inform the of the Scheduler instance's Id, prior to initialize being invoked. Inform the of the Scheduler instance's name, prior to initialize being invoked. A Worker loops, waiting to Execute tasks. Create a worker thread and start it. Waiting for the next Runnable, executing it, and waiting for the next Runnable, until the Shutdown flag is set. Create a worker thread, start it, Execute the runnable and terminate the thread (one time execution). Signal the thread that it should terminate. Loop, executing targets as they are received. A that simply calls . James House Marko Lahma (.NET) Called to give the ClassLoadHelper a chance to Initialize itself, including the opportunity to "steal" the class loader off of the calling thread, which is the thread that is initializing Quartz. Return the class with the given name. Finds a resource with a given name. This method returns null if no resource with this name is found. name of the desired resource a Uri object Finds a resource with a given name. This method returns null if no resource with this name is found. name of the desired resource a Stream object InstanceIdGenerator that will use a to configure the scheduler. If no value set for the property, a is thrown. Alex Snaps System property to read the instanceId from. Returns the cluster wide value for this scheduler instance's id, based on a system property. A string of text to prepend (add to the beginning) to the instanceId found in the system property. A string of text to postpend (add to the end) to the instanceId found in the system property. The name of the system property from which to obtain the instanceId. Defaults to . This is class is a simple implementation of a zero size thread pool, based on the interface. The pool has zero s and does not grow or shrink based on demand. Which means it is obviously not useful for most scenarios. When it may be useful is to prevent creating any worker threads at all - which may be desirable for the sole purpose of preserving system resources in the case where the scheduler instance only exists in order to schedule jobs, but which will never execute jobs (e.g. will never have Start() called on it). Wayne Fay Marko Lahma (.NET) Initializes a new instance of the class. Called by the QuartzScheduler before the is used, in order to give the it a chance to Initialize. Shutdowns this instance. Called by the QuartzScheduler to inform the that it should free up all of it's resources because the scheduler is shutting down. Execute the given in the next available . The implementation of this interface should not throw exceptions unless there is a serious problem (i.e. a serious misconfiguration). If there are no available threads, rather it should either queue the Runnable, or block until a thread is available, depending on the desired strategy. Determines the number of threads that are currently available in in the pool. Useful for determining the number of times can be called before returning false. the number of currently available threads The implementation of this method should block until there is at least one available thread. Gets the log. The log. Gets the size of the pool. The size of the pool. Inform the of the Scheduler instance's Id, prior to initialize being invoked. Inform the of the Scheduler instance's name, prior to initialize being invoked. A simple class (structure) used for returning execution-time data from the JobStore to the . James House Marko Lahma (.NET) Initializes a new instance of the class. The job. The trigger. The calendar. if set to true [job is recovering]. The fire time. The scheduled fire time. The previous fire time. The next fire time. Gets the job detail. The job detail. Gets the trigger. The trigger. Gets the calendar. The calendar. Gets a value indicating whether this is recovering. true if recovering; otherwise, false. Returns the UTC fire time. Gets the next UTC fire time. The next fire time. Returns the nextFireTimeUtc. Gets the previous UTC fire time. The previous fire time. Returns the previous fire time. Returns the scheduled UTC fire time. Result holder for trigger firing event. Constructor. Constructor. Bundle. Possible exception. Extension methods for . Tries to read value and returns the value if successfully read. Otherwise return default value for value's type. Extension methods for simplified access. Returns string from given column name, or null if DbNull. Returns int from given column name. Returns long from given column name. Returns long from given column name, or null if DbNull. Returns decimal from given column name. Manages a collection of IDbProviders, and provides transparent access to their database. James House Sharada Jambula Mohammad Rezaei Marko Lahma (.NET) Manages a collection of IDbProviders, and provides transparent access to their database. Shuts down database connections from the data source with the given name, if applicable for the underlying provider. Get a database connection from the data source with the given name. Returns meta data for data source with the given name. Gets db provider for data source with the given name. Adds a connection provider to data source with the given name. Private constructor Adds the connection provider. Name of the data source. The provider. Get a database connection from the DataSource with the given name. a database connection Shuts down database connections from the DataSource with the given name, if applicable for the underlying provider. Gets the db provider. Name of the ds. Get the class instance. an instance of this class An implementation of that wraps another and flags itself 'dirty' when it is modified. James House Marko Lahma (.NET) Create a DirtyFlagMap that 'wraps' a . Create a DirtyFlagMap that 'wraps' a that has the given initial capacity. Serialization constructor. Creates a new object that is a copy of the current instance. A new object that is a copy of this instance. Gets the value behind the specified key. The key. When implemented by a class, removes all elements from the . The is read-only. When implemented by a class, determines whether the contains an element with the specified key. The key to locate in the . if the contains an element with the key; otherwise, . is . When implemented by a class, removes the element with the specified key from the . The key of the element to remove. is . The is read-only. -or- The has a fixed size. When implemented by a class, returns an for the . An for the . When implemented by a class, adds an element with the provided key and value to the . The to use as the key of the element to add. The to use as the value of the element to add. is . An element with the same key already exists in the . The is read-only. -or- The has a fixed size. When implemented by a class, copies the elements of the to an , starting at a particular index. The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. The zero-based index in at which copying begins. is . is less than zero. is multidimensional. -or- is equal to or greater than the length of . -or- The number of elements in the source is greater than the available space from to the end of the destination . The type of the source cannot be cast automatically to the type of the destination . Clear the 'dirty' flag (set dirty flag to ). Determines whether the specified obj contains value. The obj. true if the specified obj contains value; otherwise, false. Gets the entries as a set. Determines whether the specified is equal to the current . The to compare with the current . if the specified is equal to the current ; otherwise, . Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. A hash code for the current . Gets keyset for this map. Puts the value behind a specified key. The key. The val. Puts all. The t. Determine whether the is flagged dirty. Get a direct handle to the underlying Map. Gets a value indicating whether this instance is empty. true if this instance is empty; otherwise, false. Gets or sets the with the specified key. When implemented by a class, gets the number of elements contained in the . When implemented by a class, gets an containing the values in the . When implemented by a class, gets an containing the keys of the . When implemented by a class, gets a value indicating whether the is read-only. When implemented by a class, gets a value indicating whether the has a fixed size. When implemented by a class, gets an object that can be used to synchronize access to the . When implemented by a class, gets a value indicating whether access to the is synchronized (thread-safe). Utility class for file handling related things. Marko Lahma Resolves file to actual file if for example relative '~' used. File name to check Expanded file name or actual no resolving was done. Object representing a job or trigger key. Jeffrey Wescott Marko Lahma (.NET) The default group for scheduling entities, with the value "DEFAULT". Construct a new key with the given name and group. the name the group Return the string representation of the key. The format will be: <group>.<name>. the string representation of the key Get the name portion of the key. the name Get the group portion of the key. the group Wrapper class to access thread local data. Data is either accessed from thread or HTTP Context's data if HTTP Context is available. Marko Lahma .NET Retrieves an object with the specified name. The name of the item. The object in the call context associated with the specified name or null if no object has been stored previously Stores a given object and associates it with the specified name. The name with which to associate the new item. The object to store in the call context. Empties a data slot with the specified name. The name of the data slot to empty. Generic extension methods for objects. Creates a deep copy of object by serializing to memory stream. Utility methods that are used to convert objects from one type into another. Aleksandar Seovic Marko Lahma Convert the value to the required (if necessary from a string). The proposed change value. The we must convert to. The new value, possibly the result of type conversion. Determines whether value is assignable to required type. The value to check. Type of the required. true if value can be assigned as given type; otherwise, false. Instantiates an instance of the type specified. Sets the object properties using reflection. Sets the object properties using reflection. The object to set values to. The properties to set to object. This is an utility class used to parse the properties. James House Marko Lahma (.NET) Initializes a new instance of the class. The props. Gets the string property. The name. Gets the string property. The name. The default value. Gets the string array property. The name. Gets the string array property. The name. The default value. Gets the boolean property. The name. Gets the boolean property. The name. if set to true [defaultValue]. Gets the byte property. The name. Gets the byte property. The name. The default value. Gets the char property. The name. Gets the char property. The name. The default value. Gets the double property. The name. Gets the double property. The name. The default value. Gets the float property. The name. Gets the float property. The name. The default value. Gets the int property. The name. Gets the int property. The name. The default value. Gets the int array property. The name. Gets the int array property. The name. The default value. Gets the long property. The name. Gets the long property. The name. The def. Gets the TimeSpan property. The name. The def. Gets the short property. The name. Gets the short property. The name. The default value. Gets the property groups. The prefix. Gets the property group. The prefix. Gets the property group. The prefix. if set to true [strip prefix]. Get all properties that start with the given prefix. The prefix for which to search. If it does not end in a "." then one will be added to it for search purposes. Whether to strip off the given in the result's keys. Optional array of fully qualified prefixes to exclude. For example if is "a.b.c", then might be "a.b.c.ignore". Group of that start with the given prefix, optionally have that prefix removed, and do not include properties that start with one of the given excluded prefixes. Reads the properties from assembly (embedded resource). The file name to read resources from. Reads the properties from file system. The file name to read resources from. Gets the underlying properties. The underlying properties. Environment access helpers that fail gracefully if under medium trust. Retrieves the value of an environment variable from the current process. Retrieves all environment variable names and their values from the current process. Return whether we are currently running under Mono runtime. Extension methods for . Allows null-safe trimming of string. Trims string and if resulting string is empty, null is returned. An implementation of that wraps another and flags itself 'dirty' when it is modified, enforces that all keys are strings. Marko Lahma (.NET) Initializes a new instance of the class. Initializes a new instance of the class. The initial capacity. Serialization constructor. Determines whether the specified is equal to the current . The to compare with the current . if the specified is equal to the current ; otherwise, . Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table. A hash code for the current . Gets the keys. Adds the name-value pairs in the given to the . All keys must be s, and all values must be serializable. Adds the given value to the 's data map. Adds the given value to the 's data map. Adds the given value to the 's data map. Adds the given value to the 's data map. Adds the given value to the 's data map. Adds the given value to the 's data map. Adds the given value to the 's data map. Retrieve the identified value from the . Retrieve the identified value from the . Retrieve the identified value from the . Retrieve the identified value from the . Retrieve the identified value from the . Retrieve the identified value from the . Retrieve the identified value from the . Retrieve the identified value from the . Retrieve the identified value from the . Retrieve the identified value from the . TimeZoneInfo.ConvertTime is not supported under mono TimeZoneInfo.GetUtcOffset(DateTimeOffset) is not supported under mono Tries to find time zone with given id, has ability do some fallbacks when necessary. System id of the time zone. Reports JobSchedulingDataProcessor validation exceptions. Chris Bonham Marko Lahma (.NET) Constructor for ValidationException. Constructor for ValidationException. exception message. Constructor for ValidationException. collection of validation exceptions. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The class name is null or is zero (0). The info parameter is null. Gets the validation exceptions. The validation exceptions. Returns the detail message string. Parses an XML file that declares Jobs and their schedules (Triggers). The xml document must conform to the format defined in "job_scheduling_data_2_0.xsd" After creating an instance of this class, you should call one of the functions, after which you may call the ScheduledJobs() function to get a handle to the defined Jobs and Triggers, which can then be scheduled with the . Alternatively, you could call the function to do all of this in one step. The same instance can be used again and again, with the list of defined Jobs being cleared each time you call a method, however a single instance is not thread-safe. Chris Bonham James House Marko Lahma (.NET) Christian Krumm (.NET Bugfix) Constructor for XMLSchedulingDataProcessor. Process the xml file in the default location (a file named "quartz_jobs.xml" in the current working directory). Process the xml file named . meta data file name. Process the xmlfile named with the given system ID. Name of the file. The system id. Process the xmlfile named with the given system ID. The stream. The system id. Process the xml file in the default location, and schedule all of the jobs defined within it. Note that we will set overWriteExistingJobs after the default xml is parsed. Process the xml file in the default location, and schedule all of the jobs defined within it. Process the xml file in the given location, and schedule all of the jobs defined within it. meta data file name. The scheduler. Process the xml file in the given location, and schedule all of the jobs defined within it. Name of the file. The system id. The sched. Process the xml file in the given location, and schedule all of the jobs defined within it. stream to read XML data from. The sched. Schedules the given sets of jobs and triggers. The sched. Adds a detected validation exception. The exception. Resets the the number of detected validation exceptions. Throws a ValidationException if the number of validationExceptions detected is greater than zero. DTD validation exception. Whether the existing scheduling data (with same identifiers) will be overwritten. If false, and is not false, and jobs or triggers with the same names already exist as those in the file, an error will occur. If true (and is false) then any job/triggers encountered in this file that have names that already exist in the scheduler will be ignored, and no error will be produced. If true (and is true) then any job/triggers encountered in this file that already exist is scheduler will be updated with start time relative to old trigger. Effectively new trigger's last fire time will be updated to old trigger's last fire time and trigger's next fire time will updated to be next from this last fire time. Gets the log. The log. Helper class to map constant names to their values. CalendarIntervalScheduleBuilder is a that defines calendar time (day, week, month, year) interval-based schedules for Triggers. Quartz provides a builder-style API for constructing scheduling-related entities via a Domain-Specific Language (DSL). The DSL can best be utilized through the usage of static imports of the methods on the classes , , , , and the various implementations. Client code can then use the DSL to write code such as this: JobDetail job = JobBuilder.Create<MyJob>() .WithIdentity("myJob") .Build(); Trigger trigger = TriggerBuilder.Create() .WithIdentity("myTrigger", "myTriggerGroup") .WithSimpleSchedule(x => x .WithIntervalInHours(1) .RepeatForever()) .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) .Build(); scheduler.scheduleJob(job, trigger); Base class for implementors. Schedule builders offer fluent interface and are responsible for creating schedules. Build the actual Trigger -- NOT intended to be invoked by end users, but will rather be invoked by a TriggerBuilder which this ScheduleBuilder is given to. Build the actual Trigger -- NOT intended to be invoked by end users, but will rather be invoked by a TriggerBuilder which this ScheduleBuilder is given to. Create a CalendarIntervalScheduleBuilder. Build the actual Trigger -- NOT intended to be invoked by end users, but will rather be invoked by a TriggerBuilder which this ScheduleBuilder is given to. Specify the time unit and interval for the Trigger to be produced. the interval at which the trigger should repeat. the time unit (IntervalUnit) of the interval. the updated CalendarIntervalScheduleBuilder Specify an interval in the IntervalUnit.SECOND that the produced Trigger will repeat at. the number of seconds at which the trigger should repeat. the updated CalendarIntervalScheduleBuilder Specify an interval in the IntervalUnit.MINUTE that the produced Trigger will repeat at. the number of minutes at which the trigger should repeat. the updated CalendarIntervalScheduleBuilder Specify an interval in the IntervalUnit.HOUR that the produced Trigger will repeat at. the number of hours at which the trigger should repeat. the updated CalendarIntervalScheduleBuilder Specify an interval in the IntervalUnit.DAY that the produced Trigger will repeat at. the number of days at which the trigger should repeat. the updated CalendarIntervalScheduleBuilder Specify an interval in the IntervalUnit.WEEK that the produced Trigger will repeat at. the number of weeks at which the trigger should repeat. the updated CalendarIntervalScheduleBuilder Specify an interval in the IntervalUnit.MONTH that the produced Trigger will repeat at. the number of months at which the trigger should repeat. the updated CalendarIntervalScheduleBuilder Specify an interval in the IntervalUnit.YEAR that the produced Trigger will repeat at. the number of years at which the trigger should repeat. the updated CalendarIntervalScheduleBuilder If the Trigger misfires, use the instruction. the updated CronScheduleBuilder If the Trigger misfires, use the instruction. the updated CalendarIntervalScheduleBuilder If the Trigger misfires, use the instruction. the updated CalendarIntervalScheduleBuilder TimeZone in which to base the schedule. the time-zone for the schedule the updated CalendarIntervalScheduleBuilder If intervals are a day or greater, this property (set to true) will cause the firing of the trigger to always occur at the same time of day, (the time of day of the startTime) regardless of daylight saving time transitions. Default value is false. For example, without the property set, your trigger may have a start time of 9:00 am on March 1st, and a repeat interval of 2 days. But after the daylight saving transition occurs, the trigger may start firing at 8:00 am every other day. If however, the time of day does not exist on a given day to fire (e.g. 2:00 am in the United States on the days of daylight saving transition), the trigger will go ahead and fire one hour off on that day, and then resume the normal hour on other days. If you wish for the trigger to never fire at the "wrong" hour, then you should set the property skipDayIfHourDoesNotExist. If intervals are a day or greater, and preserveHourOfDayAcrossDaylightSavings property is set to true, and the hour of the day does not exist on a given day for which the trigger would fire, the day will be skipped and the trigger advanced a second interval if this property is set to true. Defaults to false. CAUTION! If you enable this property, and your hour of day happens to be that of daylight savings transition (e.g. 2:00 am in the United States) and the trigger's interval would have had the trigger fire on that day, then you may actually completely miss a firing on the day of transition if that hour of day does not exist on that day! In such a case the next fire time of the trigger will be computed as double (if the interval is 2 days, then a span of 4 days between firings will occur). Extension methods that attach to . Provides a parser and evaluator for unix-like cron expressions. Cron expressions provide the ability to specify complex time combinations such as "At 8:00am every Monday through Friday" or "At 1:30am every last Friday of the month". Cron expressions are comprised of 6 required fields and one optional field separated by white space. The fields respectively are described as follows:
Field Name Allowed Values Allowed Special Characters
Seconds 0-59 , - /// /
Minutes 0-59 , - /// /
Hours 0-23 , - /// /
Day-of-month 1-31 , - /// ? / L W C
Month 1-12 or JAN-DEC , - /// /
Day-of-Week 1-7 or SUN-SAT , - /// ? / L #
Year (Optional) empty, 1970-2199 , - /// /
The '*' character is used to specify all values. For example, "*" in the minute field means "every minute". The '?' character is allowed for the day-of-month and day-of-week fields. It is used to specify 'no specific value'. This is useful when you need to specify something in one of the two fields, but not the other. The '-' character is used to specify ranges For example "10-12" in the hour field means "the hours 10, 11 and 12". The ',' character is used to specify additional values. For example "MON,WED,FRI" in the day-of-week field means "the days Monday, Wednesday, and Friday". The '/' character is used to specify increments. For example "0/15" in the seconds field means "the seconds 0, 15, 30, and 45". And "5/15" in the seconds field means "the seconds 5, 20, 35, and 50". Specifying '*' before the '/' is equivalent to specifying 0 is the value to start with. Essentially, for each field in the expression, there is a set of numbers that can be turned on or off. For seconds and minutes, the numbers range from 0 to 59. For hours 0 to 23, for days of the month 0 to 31, and for months 1 to 12. The "/" character simply helps you turn on every "nth" value in the given set. Thus "7/6" in the month field only turns on month "7", it does NOT mean every 6th month, please note that subtlety. The 'L' character is allowed for the day-of-month and day-of-week fields. This character is short-hand for "last", but it has different meaning in each of the two fields. For example, the value "L" in the day-of-month field means "the last day of the month" - day 31 for January, day 28 for February on non-leap years. If used in the day-of-week field by itself, it simply means "7" or "SAT". But if used in the day-of-week field after another value, it means "the last xxx day of the month" - for example "6L" means "the last friday of the month". You can also specify an offset from the last day of the month, such as "L-3" which would mean the third-to-last day of the calendar month. When using the 'L' option, it is important not to specify lists, or ranges of values, as you'll get confusing/unexpected results. The 'W' character is allowed for the day-of-month field. This character is used to specify the weekday (Monday-Friday) nearest the given day. As an example, if you were to specify "15W" as the value for the day-of-month field, the meaning is: "the nearest weekday to the 15th of the month". So if the 15th is a Saturday, the trigger will fire on Friday the 14th. If the 15th is a Sunday, the trigger will fire on Monday the 16th. If the 15th is a Tuesday, then it will fire on Tuesday the 15th. However if you specify "1W" as the value for day-of-month, and the 1st is a Saturday, the trigger will fire on Monday the 3rd, as it will not 'jump' over the boundary of a month's days. The 'W' character can only be specified when the day-of-month is a single day, not a range or list of days. The 'L' and 'W' characters can also be combined for the day-of-month expression to yield 'LW', which translates to "last weekday of the month". The '#' character is allowed for the day-of-week field. This character is used to specify "the nth" XXX day of the month. For example, the value of "6#3" in the day-of-week field means the third Friday of the month (day 6 = Friday and "#3" = the 3rd one in the month). Other examples: "2#1" = the first Monday of the month and "4#5" = the fifth Wednesday of the month. Note that if you specify "#5" and there is not 5 of the given day-of-week in the month, then no firing will occur that month. If the '#' character is used, there can only be one expression in the day-of-week field ("3#1,6#3" is not valid, since there are two expressions). The legal characters and the names of months and days of the week are not case sensitive. NOTES:
  • Support for specifying both a day-of-week and a day-of-month value is not complete (you'll need to use the '?' character in one of these fields).
  • Overflowing ranges is supported - that is, having a larger number on the left hand side than the right. You might do 22-2 to catch 10 o'clock at night until 2 o'clock in the morning, or you might have NOV-FEB. It is very important to note that overuse of overflowing ranges creates ranges that don't make sense and no effort has been made to determine which interpretation CronExpression chooses. An example would be "0 0 14-6 ? * FRI-MON".
Sharada Jambula James House Contributions from Mads Henderson Refactoring from CronTrigger to CronExpression by Aaron Craven Marko Lahma (.NET)
Field specification for second. Field specification for minute. Field specification for hour. Field specification for day of month. Field specification for month. Field specification for day of week. Field specification for year. Field specification for all wildcard value '*'. Field specification for not specified value '?'. Field specification for wildcard '*'. Field specification for no specification at all '?'. Seconds. minutes. Hours. Days of month. Months. Days of week. Years. Last day of week. Nth day of week. Last day of month. Nearest weekday. Calendar day of week. Calendar day of month. Expression parsed. Constructs a new based on the specified parameter. String representation of the cron expression the new object should represent Indicates whether the given date satisfies the cron expression. Note that milliseconds are ignored, so two Dates falling on different milliseconds of the same second will always have the same result here. The date to evaluate. a boolean indicating whether the given date satisfies the cron expression Returns the next date/time after the given date/time which satisfies the cron expression. the date/time at which to begin the search for the next valid date/time the next valid date/time Returns the next date/time after the given date/time which does not satisfy the expression. the date/time at which to begin the search for the next invalid date/time the next valid date/time Returns the string representation of the The string representation of the Indicates whether the specified cron expression can be parsed into a valid cron expression the expression to evaluate a boolean indicating whether the given expression is a valid cron expression Builds the expression. The expression. Stores the expression values. The position. The string to traverse. The type of value. Checks the next value. The position. The string to check. The value. The type to search. Gets the expression summary. Gets the expression set summary. The data. Skips the white space. The i. The s. Finds the next white space. The i. The s. Adds to set. The val. The end. The incr. The type. Gets the set of given type. The type of set to get. Gets the value. The v. The s. The i. Gets the numeric value from string. The string to parse from. The i. Gets the month number. The string to map with. Gets the day of week number. The s. Gets the time from given time parts. The seconds. The minutes. The hours. The day of month. The month. Gets the next fire time after the given time. The UTC time to start searching from. Creates the date time without milliseconds. The time. Advance the calendar to the particular hour paying particular attention to daylight saving problems. The date. The hour. Gets the time before. The end time. NOT YET IMPLEMENTED: Returns the final time that the will match. Determines whether given year is a leap year. The year. true if the specified year is a leap year; otherwise, false. Gets the last day of month. The month num. The year. Creates a new object that is a copy of the current instance. A new object that is a copy of this instance. Determines whether the specified is equal to the current . true if the specified is equal to the current ; otherwise, false. The to compare with the current . Determines whether the specified is equal to the current . true if the specified is equal to the current ; otherwise, false. The to compare with the current . Serves as a hash function for a particular type. A hash code for the current . 2 Sets or gets the time zone for which the of this will be resolved. Gets the cron expression string. The cron expression string. Helper class for cron expression handling. The value. The position. CronScheduleBuilder is a that defines -based schedules for s. Quartz provides a builder-style API for constructing scheduling-related entities via a Domain-Specific Language (DSL). The DSL can best be utilized through the usage of static imports of the methods on the classes , , , , and the various implementations. Client code can then use the DSL to write code such as this: IJobDetail job = JobBuilder.Create<MyJob>() .WithIdentity("myJob") .Build(); ITrigger trigger = newTrigger() .WithIdentity(triggerKey("myTrigger", "myTriggerGroup")) .WithSimpleSchedule(x => x.WithIntervalInHours(1).RepeatForever()) .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) .Build(); scheduler.scheduleJob(job, trigger); Build the actual Trigger -- NOT intended to be invoked by end users, but will rather be invoked by a TriggerBuilder which this ScheduleBuilder is given to. Create a CronScheduleBuilder with the given cron-expression - which is presumed to b e valid cron expression (and hence only a RuntimeException will be thrown if it is not). the cron expression to base the schedule on. the new CronScheduleBuilder Create a CronScheduleBuilder with the given cron-expression string - which may not be a valid cron expression (and hence a ParseException will be thrown f it is not). the cron expression string to base the schedule on the new CronScheduleBuilder Create a CronScheduleBuilder with the given cron-expression. the cron expression to base the schedule on. the new CronScheduleBuilder Create a CronScheduleBuilder with a cron-expression that sets the schedule to fire every day at the given time (hour and minute). the hour of day to fire the minute of the given hour to fire the new CronScheduleBuilder Create a CronScheduleBuilder with a cron-expression that sets the schedule to fire at the given day at the given time (hour and minute) on the given days of the week. the hour of day to fire the minute of the given hour to fire the days of the week to fire the new CronScheduleBuilder Create a CronScheduleBuilder with a cron-expression that sets the schedule to fire one per week on the given day at the given time (hour and minute). the day of the week to fire the hour of day to fire the minute of the given hour to fire the new CronScheduleBuilder Create a CronScheduleBuilder with a cron-expression that sets the schedule to fire one per month on the given day of month at the given time (hour and minute). the day of the month to fire the hour of day to fire the minute of the given hour to fire the new CronScheduleBuilder The in which to base the schedule. the time-zone for the schedule. the updated CronScheduleBuilder If the Trigger misfires, use the instruction. the updated CronScheduleBuilder If the Trigger misfires, use the instruction. the updated CronScheduleBuilder If the Trigger misfires, use the instruction. the updated CronScheduleBuilder Extension methods that attach to . A implementation that build schedule for DailyTimeIntervalTrigger. This builder provide an extra convenient method for you to set the trigger's EndTimeOfDay. You may use either endingDailyAt() or EndingDailyAfterCount() to set the value. The later will auto calculate your EndTimeOfDay by using the interval, IntervalUnit and StartTimeOfDay to perform the calculation. When using EndingDailyAfterCount(), you should note that it is used to calculating EndTimeOfDay. So if your startTime on the first day is already pass by a time that would not add up to the count you expected, until the next day comes. Remember that DailyTimeIntervalTrigger will use StartTimeOfDay and endTimeOfDay as fresh per each day! Quartz provides a builder-style API for constructing scheduling-related entities via a Domain-Specific Language (DSL). The DSL can best be utilized through the usage of static imports of the methods on the classes , , , , and the various implementations. Client code can then use the DSL to write code such as this: IJobDetail job = JobBuilder.Create<MyJob>() .WithIdentity("myJob") .Build(); ITrigger trigger = TriggerBuilder.Create() .WithIdentity(triggerKey("myTrigger", "myTriggerGroup")) .WithDailyTimeIntervalSchedule(x => x.WithIntervalInMinutes(15) .StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(8, 0)) .Build(); scheduler.scheduleJob(job, trigger); James House Zemian Deng saltnlight5@gmail.com Nuno Maia (.NET) A set of all days of the week. The set contains all values between and A set of the business days of the week (for locales similar to the USA). The set contains all values between and A set of the weekend days of the week (for locales similar to the USA). The set contains and Create a DailyTimeIntervalScheduleBuilder The new DailyTimeIntervalScheduleBuilder Build the actual Trigger -- NOT intended to be invoked by end users, but will rather be invoked by a TriggerBuilder which this ScheduleBuilder is given to. Specify the time unit and interval for the Trigger to be produced. the interval at which the trigger should repeat. the time unit (IntervalUnit) of the interval. the updated CalendarIntervalScheduleBuilder Specify an interval in the IntervalUnit.Second that the produced Trigger will repeat at. The number of seconds at which the trigger should repeat. the updated DailyTimeIntervalScheduleBuilder> Specify an interval in the IntervalUnit.Minute that the produced Trigger will repeat at. The number of minutes at which the trigger should repeat. the updated DailyTimeIntervalScheduleBuilder> Specify an interval in the IntervalUnit.Hour that the produced Trigger will repeat at. The number of hours at which the trigger should repeat. the updated DailyTimeIntervalScheduleBuilder> Set the trigger to fire on the given days of the week. a Set containing the integers representing the days of the week, defined by - . the updated DailyTimeIntervalScheduleBuilder Set the trigger to fire on the given days of the week. a variable length list of week days representing the days of the week the updated DailyTimeIntervalScheduleBuilder Set the trigger to fire on the days from Monday through Friday. the updated DailyTimeIntervalScheduleBuilder Set the trigger to fire on the days Saturday and Sunday. the updated DailyTimeIntervalScheduleBuilder Set the trigger to fire on all days of the week. the updated DailyTimeIntervalScheduleBuilder Set the trigger to begin firing each day at the given time. the updated DailyTimeIntervalScheduleBuilder Set the startTimeOfDay for this trigger to end firing each day at the given time. the updated DailyTimeIntervalScheduleBuilder Calculate and set the EndTimeOfDay using count, interval and StarTimeOfDay. This means that these must be set before this method is call. the updated DailyTimeIntervalScheduleBuilder If the Trigger misfires, use the instruction. the updated DailyTimeIntervalScheduleBuilder If the Trigger misfires, use the instruction. the updated DailyTimeIntervalScheduleBuilder If the Trigger misfires, use the instruction. the updated DailyTimeIntervalScheduleBuilder Set number of times for interval to repeat. Note: if you want total count = 1 (at start time) + repeatCount TimeZone in which to base the schedule. the time-zone for the schedule the updated CalendarIntervalScheduleBuilder Extension methods that attach to . DateBuilder is used to conveniently create instances that meet particular criteria. Quartz provides a builder-style API for constructing scheduling-related entities via a Domain-Specific Language (DSL). The DSL can best be utilized through the usage of static imports of the methods on the classes , , , , and the various implementations. Client code can then use the DSL to write code such as this: IJobDetail job = JobBuilder.Create<MyJob>() .WithIdentity("myJob") .Build(); ITrigger trigger = newTrigger() .WithIdentity(triggerKey("myTrigger", "myTriggerGroup")) .WithSimpleSchedule(x => x .WithIntervalInHours(1) .RepeatForever()) .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minutes)) .Build(); scheduler.scheduleJob(job, trigger); Create a DateBuilder, with initial settings for the current date and time in the system default timezone. Create a DateBuilder, with initial settings for the current date and time in the given timezone. Create a DateBuilder, with initial settings for the current date and time in the system default timezone. Create a DateBuilder, with initial settings for the current date and time in the given timezone. Time zone to use. Build the defined by this builder instance. New date time based on builder parameters. Set the hour (0-23) for the Date that will be built by this builder. Set the minute (0-59) for the Date that will be built by this builder. Set the second (0-59) for the Date that will be built by this builder, and truncate the milliseconds to 000. Set the day of month (1-31) for the Date that will be built by this builder. Set the month (1-12) for the Date that will be built by this builder. Set the year for the Date that will be built by this builder. Set the TimeZoneInfo for the Date that will be built by this builder (if "null", system default will be used) Get a object that represents the given time, on tomorrow's date. Get a object that represents the given time, on today's date (equivalent to . Get a object that represents the given time, on today's date. The value (0-59) to give the seconds field of the date The value (0-59) to give the minutes field of the date The value (0-23) to give the hours field of the date the new date Get a object that represents the given time, on the given date. The value (0-59) to give the seconds field of the date The value (0-59) to give the minutes field of the date The value (0-23) to give the hours field of the date The value (1-31) to give the day of month field of the date The value (1-12) to give the month field of the date the new date Get a object that represents the given time, on the given date. The value (0-59) to give the seconds field of the date The value (0-59) to give the minutes field of the date The value (0-23) to give the hours field of the date The value (1-31) to give the day of month field of the date The value (1-12) to give the month field of the date The value (1970-2099) to give the year field of the date the new date Returns a date that is rounded to the next even hour after the current time. For example a current time of 08:13:54 would result in a date with the time of 09:00:00. If the date's time is in the 23rd hour, the date's 'day' will be promoted, and the time will be set to 00:00:00. the new rounded date Returns a date that is rounded to the next even hour above the given date. For example an input date with a time of 08:13:54 would result in a date with the time of 09:00:00. If the date's time is in the 23rd hour, the date's 'day' will be promoted, and the time will be set to 00:00:00. the Date to round, if the current time will be used the new rounded date Returns a date that is rounded to the previous even hour below the given date. For example an input date with a time of 08:13:54 would result in a date with the time of 08:00:00. the Date to round, if the current time will be used the new rounded date Returns a date that is rounded to the next even minute after the current time. For example a current time of 08:13:54 would result in a date with the time of 08:14:00. If the date's time is in the 59th minute, then the hour (and possibly the day) will be promoted. the new rounded date Returns a date that is rounded to the next even minute above the given date. For example an input date with a time of 08:13:54 would result in a date with the time of 08:14:00. If the date's time is in the 59th minute, then the hour (and possibly the day) will be promoted. The Date to round, if the current time will be used The new rounded date Returns a date that is rounded to the previous even minute below the given date. For example an input date with a time of 08:13:54 would result in a date with the time of 08:13:00. the Date to round, if the current time will be used the new rounded date Returns a date that is rounded to the next even second after the current time. the new rounded date Returns a date that is rounded to the next even second above the given date. the Date to round, if the current time will be used the new rounded date Returns a date that is rounded to the previous even second below the given date. For example an input date with a time of 08:13:54.341 would result in a date with the time of 08:13:00.000. the Date to round, if the current time will be used the new rounded date Returns a date that is rounded to the next even multiple of the given minute. For example an input date with a time of 08:13:54, and an input minute-base of 5 would result in a date with the time of 08:15:00. The same input date with an input minute-base of 10 would result in a date with the time of 08:20:00. But a date with the time 08:53:31 and an input minute-base of 45 would result in 09:00:00, because the even-hour is the next 'base' for 45-minute intervals. More examples:
Input Time Minute-Base Result Time
11:16:41 20 11:20:00
11:36:41 20 11:40:00
11:46:41 20 12:00:00
11:26:41 30 11:30:00
11:36:41 30 12:00:00
11:16:41 17 11:17:00
11:17:41 17 11:34:00
11:52:41 17 12:00:00
11:52:41 5 11:55:00
11:57:41 5 12:00:00
11:17:41 0 12:00:00
11:17:41 1 11:08:00
the Date to round, if the current time will be used the base-minute to set the time on the new rounded date
Returns a date that is rounded to the next even multiple of the given minute. The rules for calculating the second are the same as those for calculating the minute in the method . the Date to round, if the current time will be used the base-second to set the time on the new rounded date An attribute that marks a class as one that must not have multiple instances executed concurrently (where instance is based-upon a definition - or in other words based upon a . This can be used in lieu of implementing the StatefulJob marker interface that was used prior to Quartz 2.0 James House Marko Lahma (.NET) The interface to be implemented by s that provide a mechanism for having their execution interrupted. It is NOT a requirement for jobs to implement this interface - in fact, for most people, none of their jobs will. The means of actually interrupting the Job must be implemented within the itself (the method of this interface is simply a means for the scheduler to inform the that a request has been made for it to be interrupted). The mechanism that your jobs use to interrupt themselves might vary between implementations. However the principle idea in any implementation should be to have the body of the job's periodically check some flag to see if an interruption has been requested, and if the flag is set, somehow abort the performance of the rest of the job's work. An example of interrupting a job can be found in the source for the class Example7's DumbInterruptableJob It is legal to use some combination of and synchronization within and in order to have the method block until the signals that it has noticed the set flag. If the Job performs some form of blocking I/O or similar functions, you may want to consider having the method store a reference to the calling as a member variable. Then the implementation of this interfaces method can call on that Thread. Before attempting this, make sure that you fully understand what does and doesn't do. Also make sure that you clear the Job's member reference to the Thread when the Execute(..) method exits (preferably in a block. James House Marko Lahma (.NET) Called by the when a user interrupts the . void (nothing) if job interrupt is successful. Supported interval units used by . A marker interface for s that wish to have their state maintained between executions. instances follow slightly different rules from regular instances. The key difference is that their associated is re-persisted after every execution of the job, thus preserving state for the next execution. The other difference is that stateful jobs are not allowed to Execute concurrently, which means new triggers that occur before the completion of the method will be delayed. James House Marko Lahma (.NET) JobBuilder is used to instantiate s. The builder will always try to keep itself in a valid state, with reasonable defaults set for calling Build() at any point. For instance if you do not invoke WithIdentity(..) a job name will be generated for you. Quartz provides a builder-style API for constructing scheduling-related entities via a Domain-Specific Language (DSL). The DSL can best be utilized through the usage of static imports of the methods on the classes , , , , and the various implementations. Client code can then use the DSL to write code such as this: IJobDetail job = JobBuilder.Create<MyJob>() .WithIdentity("myJob") .Build(); ITrigger trigger = TriggerBuilder.Create() .WithIdentity("myTrigger", "myTriggerGroup") .WithSimpleSchedule(x => x.WithIntervalInHours(1).RepeatForever()) .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) .Build(); scheduler.scheduleJob(job, trigger); Create a JobBuilder with which to define a . a new JobBuilder Create a JobBuilder with which to define a , and set the class name of the job to be executed. a new JobBuilder Create a JobBuilder with which to define a , and set the class name of the job to be executed. a new JobBuilder Produce the instance defined by this JobBuilder. the defined JobDetail. Use a with the given name and default group to identify the JobDetail. If none of the 'withIdentity' methods are set on the JobBuilder, then a random, unique JobKey will be generated. the name element for the Job's JobKey the updated JobBuilder Use a with the given name and group to identify the JobDetail. If none of the 'withIdentity' methods are set on the JobBuilder, then a random, unique JobKey will be generated. the name element for the Job's JobKey the group element for the Job's JobKey the updated JobBuilder Use a to identify the JobDetail. If none of the 'withIdentity' methods are set on the JobBuilder, then a random, unique JobKey will be generated. the Job's JobKey the updated JobBuilder Set the given (human-meaningful) description of the Job. the description for the Job the updated JobBuilder Set the class which will be instantiated and executed when a Trigger fires that is associated with this JobDetail. the updated JobBuilder Set the class which will be instantiated and executed when a Trigger fires that is associated with this JobDetail. the updated JobBuilder Instructs the whether or not the job should be re-executed if a 'recovery' or 'fail-over' situation is encountered. If not explicitly set, the default value is . the updated JobBuilder Instructs the whether or not the job should be re-executed if a 'recovery' or 'fail-over' situation is encountered. If not explicitly set, the default value is . the updated JobBuilder Whether or not the job should remain stored after it is orphaned (no s point to it). If not explicitly set, the default value is - this method sets the value to true. the updated JobBuilder Whether or not the job should remain stored after it is orphaned (no s point to it). If not explicitly set, the default value is . the value to set for the durability property. the updated JobBuilder Add the given key-value pair to the JobDetail's . the updated JobBuilder Add the given key-value pair to the JobDetail's . the updated JobBuilder Add the given key-value pair to the JobDetail's . the updated JobBuilder Add the given key-value pair to the JobDetail's . the updated JobBuilder Add the given key-value pair to the JobDetail's . the updated JobBuilder Add the given key-value pair to the JobDetail's . the updated JobBuilder Add all the data from the given to the 's . the updated JobBuilder Replace the 's with the given . Holds state information for instances. instances are stored once when the is added to a scheduler. They are also re-persisted after every execution of instances that have present. instances can also be stored with a . This can be useful in the case where you have a Job that is stored in the scheduler for regular/repeated use by multiple Triggers, yet with each independent triggering, you want to supply the Job with different data inputs. The passed to a Job at execution time also contains a convenience that is the result of merging the contents of the trigger's JobDataMap (if any) over the Job's JobDataMap (if any). James House Marko Lahma (.NET) Create an empty . Create a with the given data. Create a with the given data. Serialization constructor. Adds the given value as a string version to the 's data map. Adds the given value as a string version to the 's data map. Adds the given value as a string version to the 's data map. Adds the given value as a string version to the 's data map. Adds the given value as a string version to the 's data map. Adds the given value as a string version to the 's data map. Adds the given value as a string version to the 's data map. Adds the given value as a string version to the 's data map. Adds the given value as a string version to the 's data map. Retrieve the identified value from the . Retrieve the identified value from the . Retrieve the identified value from the . Retrieve the identified value from the . Retrieve the identified value from the . Retrieve the identified value from the . Retrieve the identified value from the . Retrieve the identified value from the . Retrieve the identified value from the . Retrieve the identified value from the . Retrieve the identified value from the . Retrieve the identified value from the . Retrieve the identified value from the . Retrieve the identified value from the . Gets the date time. The key. Gets the date time offset. The key. Retrieve the identified value from the . An exception that can be thrown by a to indicate to the Quartz that an error occurred while executing, and whether or not the requests to be re-fired immediately (using the same , or whether it wants to be unscheduled. Note that if the flag for 'refire immediately' is set, the flags for unscheduling the Job are ignored. James House Marko Lahma (.NET) Create a JobExecutionException, with the 're-fire immediately' flag set to . Create a JobExecutionException, with the given cause. The cause. Create a JobExecutionException, with the given message. Initializes a new instance of the class. The message. The original cause. Create a JobExecutionException with the 're-fire immediately' flag set to the given value. Create a JobExecutionException with the given underlying exception, and the 're-fire immediately' flag set to the given value. Create a JobExecutionException with the given message, and underlying exception, and the 're-fire immediately' flag set to the given value. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The class name is null or is zero (0). The info parameter is null. Creates and returns a string representation of the current exception. A string representation of the current exception. Gets or sets a value indicating whether to unschedule firing trigger. true if firing trigger should be unscheduled; otherwise, false. Gets or sets a value indicating whether to unschedule all triggers. true if all triggers should be unscheduled; otherwise, false. Gets or sets a value indicating whether to refire immediately. true if to refire immediately; otherwise, false. Uniquely identifies a . Keys are composed of both a name and group, and the name must be unique within the group. If only a group is specified then the default group name will be used. Quartz provides a builder-style API for constructing scheduling-related entities via a Domain-Specific Language (DSL). The DSL can best be utilized through the usage of static imports of the methods on the classes , , , , and the various implementations. Client code can then use the DSL to write code such as this: IJobDetail job = JobBuilder.Create<MyJob>() .WithIdentity("myJob") .Build(); ITrigger trigger = TriggerBuilder.Create() .WithIdentity("myTrigger", "myTriggerGroup") .WithSimpleSchedule(x => x .WithIntervalInHours(1) .RepeatForever()) .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) .Build(); scheduler.scheduleJob(job, trigger); Misfire instructions. Marko Lahma (.NET) Instruction not set (yet). Use smart policy. Instructs the that the will never be evaluated for a misfire situation, and that the scheduler will simply try to fire it as soon as it can, and then update the Trigger as if it had fired at the proper time. NOTE: if a trigger uses this instruction, and it has missed several of its scheduled firings, then several rapid firings may occur as the trigger attempt to catch back up to where it would have been. For example, a SimpleTrigger that fires every 15 seconds which has misfired for 5 minutes will fire 20 times once it gets the chance to fire. Misfire policy settings for SimpleTrigger. Instructs the that upon a mis-fire situation, the wants to be fired now by . NOTE: This instruction should typically only be used for 'one-shot' (non-repeating) Triggers. If it is used on a trigger with a repeat count > 0 then it is equivalent to the instruction . Instructs the that upon a mis-fire situation, the wants to be re-scheduled to 'now' (even if the associated excludes 'now') with the repeat count left as-is. This does obey the end-time however, so if 'now' is after the end-time the will not fire again. NOTE: Use of this instruction causes the trigger to 'forget' the start-time and repeat-count that it was originally setup with (this is only an issue if you for some reason wanted to be able to tell what the original values were at some later time). Instructs the that upon a mis-fire situation, the wants to be re-scheduled to 'now' (even if the associated excludes 'now') with the repeat count set to what it would be, if it had not missed any firings. This does obey the end-time however, so if 'now' is after the end-time the will not fire again. NOTE: Use of this instruction causes the trigger to 'forget' the start-time and repeat-count that it was originally setup with. Instead, the repeat count on the trigger will be changed to whatever the remaining repeat count is (this is only an issue if you for some reason wanted to be able to tell what the original values were at some later time). NOTE: This instruction could cause the to go to the 'COMPLETE' state after firing 'now', if all the repeat-fire-times where missed. Instructs the that upon a mis-fire situation, the wants to be re-scheduled to the next scheduled time after 'now' - taking into account any associated , and with the repeat count set to what it would be, if it had not missed any firings. NOTE/WARNING: This instruction could cause the to go directly to the 'COMPLETE' state if all fire-times where missed. Instructs the that upon a mis-fire situation, the wants to be re-scheduled to the next scheduled time after 'now' - taking into account any associated , and with the repeat count left unchanged. NOTE/WARNING: This instruction could cause the to go directly to the 'COMPLETE' state if all the end-time of the trigger has arrived. misfire instructions for CronTrigger Instructs the that upon a mis-fire situation, the wants to be fired now by . Instructs the that upon a mis-fire situation, the wants to have it's next-fire-time updated to the next time in the schedule after the current time (taking into account any associated , but it does not want to be fired now. Misfire instructions for DateIntervalTrigger Instructs the that upon a mis-fire situation, the wants to be fired now by . Instructs the that upon a mis-fire situation, the wants to have it's next-fire-time updated to the next time in the schedule after the current time (taking into account any associated , but it does not want to be fired now. Misfire instructions for DailyTimeIntervalTrigger Instructs the that upon a mis-fire situation, the wants to be fired now by . Instructs the that upon a mis-fire situation, the wants to have it's next-fire-time updated to the next time in the schedule after the current time (taking into account any associated , but it does not want to be fired now. An exception that is thrown to indicate that an attempt to store a new object (i.e. , or ) in a failed, because one with the same name and group already exists. James House Marko Lahma (.NET) Create a with the given message. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The class name is null or is zero (0). The info parameter is null. Create a and auto-generate a message using the name/group from the given . The message will read:
"Unable to store Job with name: '__' and group: '__', because one already exists with this identification."
Create a and auto-generate a message using the name/group from the given . The message will read:
"Unable to store Trigger with name: '__' and group: '__', because one already exists with this identification."
An attribute that marks a class as one that makes updates to its during execution, and wishes the scheduler to re-store the when execution completes. Jobs that are marked with this annotation should also seriously consider using the attribute, to avoid data storage race conditions with concurrently executing job instances. This can be used in lieu of implementing the StatefulJob marker interface that was used prior to Quartz 2.0 James House Marko Lahma (.NET) An exception that is thrown to indicate that there is a misconfiguration of the - or one of the components it configures. James House Marko Lahma (.NET) Create a with the given message. Create a with the given message and cause. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The class name is null or is zero (0). The info parameter is null. Scheduler constants. Marko Lahma (.NET) A (possibly) useful constant that can be used for specifying the group that and instances belong to. A constant group name used internally by the scheduler - clients should not use the value of this constant ("RECOVERING_JOBS") for the name of a 's group. A constant group name used internally by the scheduler - clients should not use the value of this constant ("FAILED_OVER_JOBS") for the name of a 's group. A constant key that can be used to retrieve the name of the original from a recovery trigger's data map in the case of a job recovering after a failed scheduler instance. A constant key that can be used to retrieve the group of the original from a recovery trigger's data map in the case of a job recovering after a failed scheduler instance. A constant key that can be used to retrieve the fire time of the original from a recovery trigger's data map in the case of a job recovering after a failed scheduler instance. Note that this is the time the original firing actually occurred, which may be different from the scheduled fire time - as a trigger doesn't always fire exactly on time. A constant JobDataMap key that can be used to retrieve the scheduled fire time of the original Trigger from a recovery trigger's data map in the case of a job recovering after a failed scheduler instance. Note that this is the time the original firing was scheduled for, which may be different from the actual firing time - as a trigger doesn't always fire exactly on time. A special date time to check against when signaling scheduling change when the signaled fire date suggestion is actually irrelevant. We only want to signal the change. Holds context/environment data that can be made available to Jobs as they are executed. Future versions of Quartz may make distinctions on how it propagates data in between instances of proxies to a single scheduler instance - i.e. if Quartz is being used via WCF of Remoting. James House Marko Lahma (.NET) Create an empty . Create a with the given data. Serialization constructor. Instructs Scheduler what to do with a trigger and job. Marko Lahma (.NET) Instructs the that the has no further instructions. Instructs the that the wants the to re-Execute immediately. If not in a 'RECOVERING' or 'FAILED_OVER' situation, the execution context will be re-used (giving the the ability to 'see' anything placed in the context by its last execution). Instructs the that the should be put in the state. Instructs the that the wants itself deleted. Instructs the that all s referencing the same as this one should be put in the state. Instructs the that all s referencing the same as this one should be put in the state. Instructs the that the should be put in the state. Describes the settings and capabilities of a given instance. James House Marko Lahma (.NET) Initializes a new instance of the class. Name of the scheduler. The scheduler instance. The scheduler type. if set to true, scheduler is a remote scheduler. if set to true, scheduler is started. if set to true, scheduler is in standby mode. if set to true, scheduler is shutdown. The start time. The number of jobs executed. The job store type. if set to true, job store is persistent. if set to true, the job store is clustered The thread pool type. Size of the thread pool. The version string. Returns a formatted (human readable) string describing all the 's meta-data values. The format of the string looks something like this:
            Quartz Scheduler 'SchedulerName' with instanceId 'SchedulerInstanceId' Scheduler class: 'Quartz.Impl.StdScheduler' - running locally. Running since: '11:33am on Jul 19, 2002' Not currently paused. Number of Triggers fired: '123' Using thread pool 'Quartz.Simpl.SimpleThreadPool' - with '8' threads Using job-store 'Quartz.Impl.JobStore' - which supports persistence.
            
Return a simple string representation of this object. Returns the name of the . Returns the instance Id of the . Returns the class-name of the instance. Returns whether the is being used remotely (via remoting). Returns whether the scheduler has been started. Note: may return even if returns . Reports whether the is in standby mode. Note: may return even if returns . Reports whether the has been Shutdown. Returns the class-name of the instance that is being used by the . Returns the type name of the instance that is being used by the . Returns the number of threads currently in the 's Returns the version of Quartz that is running. Returns the at which the Scheduler started running. null if the scheduler has not been started. Returns the number of jobs executed since the started.. Returns whether or not the 's instance supports persistence. Returns whether or not the 's is clustered. SimpleScheduleBuilder is a that defines strict/literal interval-based schedules for s. Quartz provides a builder-style API for constructing scheduling-related entities via a Domain-Specific Language (DSL). The DSL can best be utilized through the usage of static imports of the methods on the classes , , , , and the various implementations. Client code can then use the DSL to write code such as this: JobDetail job = JobBuilder.Create<MyJob>() .WithIdentity("myJob") .Build(); Trigger trigger = TriggerBuilder.Create() .WithIdentity(triggerKey("myTrigger", "myTriggerGroup")) .WithSimpleSchedule(x => x .WithIntervalInHours(1) .RepeatForever()) .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) .Build(); scheduler.scheduleJob(job, trigger); Create a SimpleScheduleBuilder. the new SimpleScheduleBuilder Create a SimpleScheduleBuilder set to repeat forever with a 1 minute interval. the new SimpleScheduleBuilder Create a SimpleScheduleBuilder set to repeat forever with an interval of the given number of minutes. the new SimpleScheduleBuilder Create a SimpleScheduleBuilder set to repeat forever with a 1 second interval. the new SimpleScheduleBuilder Create a SimpleScheduleBuilder set to repeat forever with an interval of the given number of seconds. the new SimpleScheduleBuilder Create a SimpleScheduleBuilder set to repeat forever with a 1 hour interval. the new SimpleScheduleBuilder Create a SimpleScheduleBuilder set to repeat forever with an interval of the given number of hours. the new SimpleScheduleBuilder Create a SimpleScheduleBuilder set to repeat the given number of times - 1 with a 1 minute interval. Note: Total count = 1 (at start time) + repeat count the new SimpleScheduleBuilder Create a SimpleScheduleBuilder set to repeat the given number of times - 1 with an interval of the given number of minutes. Note: Total count = 1 (at start time) + repeat count the new SimpleScheduleBuilder Create a SimpleScheduleBuilder set to repeat the given number of times - 1 with a 1 second interval. Note: Total count = 1 (at start time) + repeat count the new SimpleScheduleBuilder Create a SimpleScheduleBuilder set to repeat the given number of times - 1 with an interval of the given number of seconds. Note: Total count = 1 (at start time) + repeat count the new SimpleScheduleBuilder Create a SimpleScheduleBuilder set to repeat the given number of times - 1 with a 1 hour interval. Note: Total count = 1 (at start time) + repeat count the new SimpleScheduleBuilder Create a SimpleScheduleBuilder set to repeat the given number of times - 1 with an interval of the given number of hours. Note: Total count = 1 (at start time) + repeat count the new SimpleScheduleBuilder Build the actual Trigger -- NOT intended to be invoked by end users, but will rather be invoked by a TriggerBuilder which this ScheduleBuilder is given to. Specify a repeat interval in milliseconds. the time span at which the trigger should repeat. the updated SimpleScheduleBuilder Specify a repeat interval in seconds. the time span at which the trigger should repeat. the updated SimpleScheduleBuilder Specify a the number of time the trigger will repeat - total number of firings will be this number + 1. the number of seconds at which the trigger should repeat. the updated SimpleScheduleBuilder Specify that the trigger will repeat indefinitely. the updated SimpleScheduleBuilder If the Trigger misfires, use the instruction. the updated CronScheduleBuilder If the Trigger misfires, use the instruction. the updated SimpleScheduleBuilder If the Trigger misfires, use the instruction. the updated SimpleScheduleBuilder If the Trigger misfires, use the instruction. the updated SimpleScheduleBuilder If the Trigger misfires, use the instruction. the updated SimpleScheduleBuilder If the Trigger misfires, use the instruction. the updated SimpleScheduleBuilder Extension methods that attach to . A time source for Quartz.NET that returns the current time. Original idea by Ayende Rahien: http://ayende.com/Blog/archive/2008/07/07/Dealing-with-time-in-tests.aspx Return current UTC time via . Allows easier unit testing. Return current time in current time zone via . Allows easier unit testing. Represents a time in hour, minute and second of any given day. The hour is in 24-hour convention, meaning values are from 0 to 23. James House Zemian Deng saltnlight5@gmail.com Nuno Maia (.NET) Create a TimeOfDay instance for the given hour, minute and second. The hour of day, between 0 and 23. The minute of the hour, between 0 and 59. The second of the minute, between 0 and 59. Create a TimeOfDay instance for the given hour, minute (at the zero second of the minute). The hour of day, between 0 and 23. The minute of the hour, between 0 and 59. Create a TimeOfDay instance for the given hour, minute and second. The hour of day, between 0 and 23. The minute of the hour, between 0 and 59. The second of the minute, between 0 and 59. Create a TimeOfDay instance for the given hour, minute (at the zero second of the minute).. The hour of day, between 0 and 23. The minute of the hour, between 0 and 59. The newly instantiated TimeOfDay Determine with this time of day is before the given time of day. True this time of day is before the given time of day. Return a date with time of day reset to this object values. The millisecond value will be zero. The hour of the day (between 0 and 23). The minute of the hour (between 0 and 59). The second of the minute (between 0 and 59). Attribute to use with public properties that can be set with Quartz configuration. Attribute can be used to advice parsing to use correct type of time span (milliseconds, seconds, minutes, hours) as it may depend on property. Marko Lahma (.NET) Initializes a new instance of the class. The rule. Gets the rule. The rule. Possible parse rules for s. TriggerBuilder is used to instantiate s. The builder will always try to keep itself in a valid state, with reasonable defaults set for calling build() at any point. For instance if you do not invoke WithSchedule(..) method, a default schedule of firing once immediately will be used. As another example, if you do not invoked WithIdentity(..) a trigger name will be generated for you. Quartz provides a builder-style API for constructing scheduling-related entities via a Domain-Specific Language (DSL). The DSL can best be utilized through the usage of static imports of the methods on the classes , , , , and the various implementations. Client code can then use the DSL to write code such as this: IJobDetail job = JobBuilder.Create<MyJob>() .WithIdentity("myJob") .Build(); ITrigger trigger = TriggerBuilder.Create() .WithIdentity("myTrigger", "myTriggerGroup") .WithSimpleSchedule(x => x .WithIntervalInHours(1) .RepeatForever()) .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) .Build(); scheduler.scheduleJob(job, trigger); Create a new TriggerBuilder with which to define a specification for a Trigger. the new TriggerBuilder Produce the . a Trigger that meets the specifications of the builder. Use a with the given name and default group to identify the Trigger. If none of the 'withIdentity' methods are set on the TriggerBuilder, then a random, unique TriggerKey will be generated. the name element for the Trigger's TriggerKey the updated TriggerBuilder Use a TriggerKey with the given name and group to identify the Trigger. If none of the 'withIdentity' methods are set on the TriggerBuilder, then a random, unique TriggerKey will be generated. the name element for the Trigger's TriggerKey the group element for the Trigger's TriggerKey the updated TriggerBuilder Use the given TriggerKey to identify the Trigger. If none of the 'withIdentity' methods are set on the TriggerBuilder, then a random, unique TriggerKey will be generated. the TriggerKey for the Trigger to be built the updated TriggerBuilder Set the given (human-meaningful) description of the Trigger. the description for the Trigger the updated TriggerBuilder Set the Trigger's priority. When more than one Trigger have the same fire time, the scheduler will fire the one with the highest priority first. the priority for the Trigger the updated TriggerBuilder Set the name of the that should be applied to this Trigger's schedule. the name of the Calendar to reference. the updated TriggerBuilder Set the time the Trigger should start at - the trigger may or may not fire at this time - depending upon the schedule configured for the Trigger. However the Trigger will NOT fire before this time, regardless of the Trigger's schedule. the start time for the Trigger. the updated TriggerBuilder Set the time the Trigger should start at to the current moment - the trigger may or may not fire at this time - depending upon the schedule configured for the Trigger. the updated TriggerBuilder Set the time at which the Trigger will no longer fire - even if it's schedule has remaining repeats. the end time for the Trigger. If null, the end time is indefinite. the updated TriggerBuilder Set the that will be used to define the Trigger's schedule. The particular used will dictate the concrete type of Trigger that is produced by the TriggerBuilder. the SchedulerBuilder to use. the updated TriggerBuilder Set the identity of the Job which should be fired by the produced Trigger. the identity of the Job to fire. the updated TriggerBuilder Set the identity of the Job which should be fired by the produced Trigger - a will be produced with the given name and default group. the name of the job (in default group) to fire. the updated TriggerBuilder Set the identity of the Job which should be fired by the produced Trigger - a will be produced with the given name and group. the name of the job to fire. the group of the job to fire. the updated TriggerBuilder Set the identity of the Job which should be fired by the produced Trigger, by extracting the JobKey from the given job. the Job to fire. the updated TriggerBuilder Add the given key-value pair to the Trigger's . the updated TriggerBuilder Add the given key-value pair to the Trigger's . the updated TriggerBuilder Add the given key-value pair to the Trigger's . the updated TriggerBuilder Add the given key-value pair to the Trigger's . the updated TriggerBuilder Add the given key-value pair to the Trigger's . the updated TriggerBuilder Add the given key-value pair to the Trigger's . the updated TriggerBuilder Add the given key-value pair to the Trigger's . the updated TriggerBuilder Add the given key-value pair to the Trigger's . the updated TriggerBuilder Common constants for triggers. The default value for priority. Uniquely identifies a . Keys are composed of both a name and group, and the name must be unique within the group. If only a name is specified then the default group name will be used. Quartz provides a builder-style API for constructing scheduling-related entities via a Domain-Specific Language (DSL). The DSL can best be utilized through the usage of static imports of the methods on the classes , , , , and the various implementations. Client code can then use the DSL to write code such as this: IJobDetail job = JobBuilder.Create<MyJob>() .WithIdentity("myJob") .Build(); ITrigger trigger = TriggerBuilder.Create() .WithIdentity("myTrigger", "myTriggerGroup") .WithSimpleSchedule(x => x .WithIntervalInHours(1) .RepeatForever()) .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) .Build(); scheduler.scheduleJob(job, trigger); All trigger states known to Scheduler. Marko Lahma (.NET) Indicates that the is in the "normal" state. Indicates that the is in the "paused" state. Indicates that the is in the "complete" state. "Complete" indicates that the trigger has not remaining fire-times in its schedule. Indicates that the is in the "error" state. A arrives at the error state when the scheduler attempts to fire it, but cannot due to an error creating and executing its related job. Often this is due to the 's class not existing in the classpath. When the trigger is in the error state, the scheduler will make no attempts to fire it. Indicates that the is in the "blocked" state. A arrives at the blocked state when the job that it is associated with has a and it is currently executing. Indicates that the does not exist. A Comparator that compares trigger's next fire times, or in other words, sorts them according to earliest next fire time. If the fire times are the same, then the triggers are sorted according to priority (highest value first), if the priorities are the same, then they are sorted by key. Convenience and utility methods for simplifying the construction and configuration of s and DateTimeOffsetOffsets. James House Marko Lahma (.NET) Returns a list of Dates that are the next fire times of a . The input trigger will be cloned before any work is done, so you need not worry about its state being altered by this method. The trigger upon which to do the work The calendar to apply to the trigger's schedule The number of next fire times to produce List of java.util.Date objects Compute the that is 1 second after the Nth firing of the given , taking the trigger's associated into consideration. The input trigger will be cloned before any work is done, so you need not worry about its state being altered by this method. The trigger upon which to do the work The calendar to apply to the trigger's schedule The number of next fire times to produce the computed Date, or null if the trigger (as configured) will not fire that many times Returns a list of Dates that are the next fire times of a that fall within the given date range. The input trigger will be cloned before any work is done, so you need not worry about its state being altered by this method. NOTE: if this is a trigger that has previously fired within the given date range, then firings which have already occurred will not be listed in the output List. The trigger upon which to do the work The calendar to apply to the trigger's schedule The starting date at which to find fire times The ending date at which to stop finding fire times List of java.util.Date objects An exception that is thrown to indicate that a call to failed without interrupting the Job. James House Marko Lahma (.NET) Create a with the given message. Create a with the given cause. Initializes a new instance of the class. The that holds the serialized object data about the exception being thrown. The that contains contextual information about the source or destination. The class name is null or is zero (0). The info parameter is null.