diff --git a/lib/Net/3.5/Quartz.dll b/lib/Net/3.5/Quartz.dll new file mode 100644 index 00000000..d0aeb954 Binary files /dev/null and b/lib/Net/3.5/Quartz.dll differ diff --git a/lib/Net/3.5/Quartz.xml b/lib/Net/3.5/Quartz.xml new file mode 100644 index 00000000..76eeeb5b --- /dev/null +++ b/lib/Net/3.5/Quartz.xml @@ -0,0 +1,17105 @@ + + + + Quartz + + + + + Collection manipulation related utility methods. + + + + + Removes the specified item from list of items and returns + whether removal was success. + + The items to remove from. + The item to remove. + + + + + A hash based set. + + + + + Represents a collection ob objects that contains no duplicate elements. + + + + + Adds a new element to the Collection if it is not already present. + + The object to add to the collection. + Returns true if the object was added to the collection, otherwise false. + + + + Adds all the elements of the specified collection to the Set. + + Collection of objects to add. + true + + + + Returns the first item in the set. + + First object. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The whose elements are copied to the new list. + + is . + + + + Initializes a new instance of the class. + + The capacity. + + + + Unmodifiables the hash set. + + The collection. + + + + + Adds a new element to the ArrayList if it is not already present. + + Element to insert to the ArrayList. + Returns true if the new element was inserted, false otherwise. + + + + Adds all the elements of the specified collection that are not present to the list. + + Collection where the new elements will be added + Returns true if at least one element was added, false otherwise. + + + + Returns the first item in the set. + + First object. + + + + Returns a copy of the HashSet instance. + + Returns a shallow copy of the current HashSet. + + + + A sorted set. + + + + + 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. + + + + SupportClass for the TreeSet class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The whose elements are copied to the new list. + + is . + + + + Initializes a new instance of the class. + + The c. + + + + Unmodifiables the tree set. + + The collection. + + + + + Adds a new element to the ArrayList if it is not already present and sorts the ArrayList. + + Element to insert to the ArrayList. + TRUE if the new element was inserted, FALSE otherwise. + + + + Adds all the elements of the specified collection that are not present to the list. + + Collection where the new elements will be added + Returns true if at least one element was added to the collection. + + + + Returns the first item in the set. + + First object. + + + + Determines whether an element is in the the current TreeSetSupport collection. The IComparer defined for + the current set will be used to make comparisons between the elements already inserted in the collection and + the item specified. + + The object to be locatet in the current collection. + true if item is found in the collection; otherwise, false. + + + + 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. + + + + Gets the IComparator object used to sort this set. + + + + + Responsible for creating the instances of + to be used within the instance. + + + Although this interface looks a lot like an 'object pool', implementations + do not have to support the re-use of instances. If an implementation does + not wish to pool instances, then the + method would simply create a new instance, and the + method would do nothing. + + 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, and a handle to the + that the shell will use in its own + operations with the . + + + + + Called by the + to obtain instances of . + + + + + Called by the + to return 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) +
+ + + This interface should be implemented by any class whose instances are intended + to be executed by a thread. + + + + + 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. + + A handle to the that produced + this . + The instance that should be made + available within the . + the that should be used by the + when making updates to the . + + + + Initializes the job execution context with given scheduler and bundle. + + The scheduler. + The bundle offired triggers. + + + + 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. + + + + + Completes the trigger retry loop. + + The trigger. + The job detail. + The inst code. + + + + + Vetoeds the job retry loop. + + The trigger. + The job detail. + The inst code. + + + + + 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) + + + + Starts this instance. + + + + + Standbies this instance. + + + + + Shutdowns this instance. + + + + + returns true if the given JobGroup + is paused + + The scheduling context. + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + + Initializes the class. + + + + + Get the global + that has the given name. + + + + + + + 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 garbae 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 scheduling context. + The name of the to be removed. + The group name of the to be removed. + 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. + + + + + Trigger the identified (Execute it + now) - with a volatile trigger. + + + + + 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 + given group. +

+ If any missed one or more fire-times, then the + 's misfire instruction will be applied. +

+
+
+ + + Gets the paused trigger groups. + + The the job scheduling context. + + + + + 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 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 given group. + + + + + Get the for the + instance with the given name and group. + + + + + Get the instance with the given name and + group. + + + + + 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 + 'sglobal list. +

+ Listeners in the 'global' list receive notification of execution events + for ALL s. +

+
+
+ + + Add the given to the + 's list, of registered s. + + + + + Remove the given from the + 's list of global listeners. + + + true if the identifed listener was found in the list, and removed. + + + + + Remove the identifed from the 's + list of global listeners. + + + true if the identifed listener was found in the list, and removed. + + + + Remove the identifed from + the 's list of registered listeners. + + + true if the identifed listener was found in the list, and removed. + + + + + Get the non-global that has the given name. + + + + + Add the given to the + 'sglobal list. +

+ Listeners in the 'global' list receive notification of execution events + for ALL s. +

+
+
+ + + Add the given to the + 's list, of registered s. + + + + + Remove the given from + the 's list of global listeners. + + + true if the identifed listener was found in the list, and removed. + + + + + Remove the identifed from the 's + list of global listeners. + + + true if the identifed listener was found in the list, and removed + + + + Remove the identifed + from the 's list of registered listeners. + + + true if the identifed listener was found in the list, and removed. + + + + + Get the non-global + that has the given name. + + + + + Get the global that + has the given name. + + + + + + + Register the given with the + . + + + + + Remove the given from the + . + + + true if the identifed listener was found in the list, and removed. + + + + + Notifies the job store job complete. + + The job scheduling context. + 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 executution 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 exucution 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. + + Name of the trigger. + The trigger group. + + + + Notifies the scheduler listeners about finalized trigger. + + The trigger. + + + + Notifies the scheduler listeners about paused trigger. + + The name. + The group. + + + + Notifies the scheduler listeners resumed trigger. + + The name. + The group. + + + + Notifies the scheduler listeners about paused job. + + The name. + The group. + + + + Notifies the scheduler listeners about resumed job. + + The name. + The group. + + + + Notifies the scheduler listeners about scheduler shutdown. + + + + + Interrupt all instances of the identified InterruptableJob. + + + + + 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 schduler 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 + s in the 'sglobal list. + + + + + Get a Set containing the names of all the non-global + s registered with the . + + + + + Get a list containing all of the + s in the 'sglobal list. + + + + + Get a Set containing the names of all the non-global + s registered with the . + + + + + Get a List containing all of the + 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. + + + + Helper class to start scheduler in a delayed fashion. + + + + + ErrorLogger - Scheduler Listener Class + + + + + 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. + + + + + + The interface to be implemented by classes that want to be informed of major + events. + + + + + James House + + + + 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 when a + or group of s has been paused. +

+ If a group was paused, then the parameter + will be null. +

+
+ Name of the trigger. + The trigger group. +
+ + + Called by the when a + or group of s has been un-paused. +

+ If a group was resumed, then the parameter + will be null. +

+
+ Name of the trigger. + The trigger group. +
+ + + Called by the when a + or group of s has been paused. +

+ If a group was paused, then the parameter will be + null. If all jobs were paused, then both parameters will be null. +

+
+ Name of the job. + The job group. +
+ + + Called by the when a + or group of s has been un-paused. +

+ If a group was resumed, 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 serious error has + occured within the scheduler - such as repeated failures in the , + or the inability to instantiate a instance when its + has fired. +

+ The property of the given SchedulerException + can be used to determine more specific information about the type of + error that was encountered. +

+
+
+ + + Called by the to inform the listener + that it has Shutdown. + + + + + Get the for this + type's category. This should be used by subclasses for logging. + + + + + 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 + + + + Called by the when a + is about to be executed (an associated + has occured). +

+ 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 occured), 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 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 + + + + + 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 + + + + Initializes a new instance of the Thread class. + + A ThreadStart delegate that references the methods to be invoked when this thread begins executing + + + + Initializes a new instance of the Thread class. + + A ThreadStart delegate that references the methods to be invoked when this thread begins executing + 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 + + + + + Blocks the calling thread until a thread terminates or the specified time elapses + + Time of wait in milliseconds + + + + Blocks the calling thread until a thread terminates or the specified time elapses + + Time of wait in milliseconds + Time of wait in nanoseconds + + + + Resumes a thread that has been suspended + + + + + Raises a ThreadAbortException in the thread on which it is invoked, + to begin the process of terminating the thread. Calling this method + usually terminates the thread + + + + + Raises a ThreadAbortException in the thread on which it is invoked, + to begin the process of terminating the thread while also providing + exception information about the thread termination. + Calling this method usually terminates the thread. + + An object that contains application-specific information, such as state, which can be used by the thread being aborted + + + + Suspends the thread, if the thread is already suspended it has no effect + + + + + Obtain a string that represents the current object + + A string that represents the current object + + + + Gets the currently running thread + + The currently running thread + + + + Gets the current thread instance + + + + + Gets or sets the name of the thread + + + + + Gets or sets a value indicating the scheduling priority of a thread + + + + + Gets a value indicating the execution status of the current 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 occuring 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 . + + + + + Trigger retry loop that is executed on error condition. + + The bndle. + + + + Releases the trigger retry loop. + + The trigger. + + + + 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. + + + + Gets or sets the db failure retry interval. + + The db failure retry interval. + + + + 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 + + + + 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. + + + + + 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. + + + + + An object used to pass information about the 'client' to the . + + + James House + Marko Lahma (.NET) + + + + get the instanceId in the cluster. + +

+ Set the instanceId. +

+
+
+ + + Metadata information about specific ADO.NET driver library. Metadata is used to + create correct types of object instances to interact with the underlying + database. + + + + + 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. + + + + + + + + + + + + + + + Returns a new command object for executing SQL statments/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. + + + + + Registers DB metadata information for given provider name. + + + + + + + Initializes a new instance of the class. + + Name of the db provider. + The connection string. + + + + Returns a new command object for executing SQL statments/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. + + + + Summary description for DbProviderFactory. + + + + + This interface can be implemented by any + class that needs to use the constants contained herein. + + Jeffrey Wescott + James House + + + @deprecated Whether a trigger has misfired is no longer a state, but + rather now identified dynamically by whether the trigger's next fire + time is more than the misfire threshold time in the past. + + + + This class contains utility functions for use in all delegate classes. + + Jeffrey Wescott + + + + Replace the table prefix in a query by replacing any occurrences of + "{0}" with the table prefix. + + The unsubstitued query + The table prefix + The query, with proper table prefix substituted + + + + Obtain a unique key for a given job. + + The job name + The group containing the job + + A unique key + + + + Obtain a unique key for a given trigger. + + The trigger name + The group containing the trigger + A unique key + + + + 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. + + + + + This class extends + to include the query string constants in use by the + class. + + Jeffrey Wescott + + + + An interface for providing thread/resource locking in order to protect + resources from being altered by multiple threads at the same time. + + James House + + + + 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. + + + + + 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. + + + + + Initializes a new instance of the class. + + The table prefix. + 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. + + + + A FirebirdDelegate specific driver delegate. + + Marko Lahma + + + + 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) +
+ + + 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 + + + + Delete all volatile fired triggers. + + The DB Connection + The number of rows deleted + + + + Get the names of all of the triggers that are volatile. + + The DB Connection + An array of see cref="Key" /> objects. + + + + Get the names of all of the jobs that are volatile. + + The DB Connection + An array of objects. + + + + 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 job name + The job group +
+ + + Delete all job listeners for the given job. + + The DB Connection + The name of the job + The group containing the job + The number of rows deleted + + + + Delete the job detail record for the given job. + + The DB Connection + the name of the job + Name of the group. + the number of rows deleted + + + + Check whether or not the given job is stateful. + + The DB Connection + The name of the job + The group containing the job + true if the job exists and is stateful, false otherwise + + + + Check whether or not the given job exists. + + The DB Connection + Name of the job. + Name of the group. + 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 + + + + Associate a listener with a job. + + The DB Connection + The job to associate with the listener. + The listener to insert. + The number of rows inserted. + + +

+ Get all of the listeners for a given job. +

+ +
+ The DB Connection + The job name whose listeners are wanted + The group containing the job + array of listener names +
+ + + Select the JobDetail object for a given job name / group name. + + The DB Connection + The job name whose listeners are wanted + The group containing 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 + The group containing the jobs + 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 simple trigger data. + + The DB Connection + The trigger to insert + The number of rows inserted + + + + Insert the blob trigger data. + + The DB Connection + The trigger to insert + The number of rows inserted + + + + Insert the cron trigger data. + + the DB Connection + The trigger. + 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 simple trigger data. + + the DB Connection + The trigger. + the number of rows updated + + + + Update the cron trigger data. + + the DB Connection + The trigger. + 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 + Name of the trigger. + Name of the group. + the number of rows updated + + + + Update the state for a given trigger. + + The DB Connection + The name of the trigger. + The group containing 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 name of the trigger. + The group containing 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 name of the trigger + The group containing 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 the all triggers to the given new state, if they are in one of + the given old states AND its next fire time is before the given time. + + 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 + The time before which the trigger's next fire time must be + int 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 group containing 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 of the triggers of the given group to the given new state, if + they are in the given old state. + + The DB connection + The group containing the triggers + 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 name of the job. + The group containing 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 name of the job + The group containing the job + The new state for the triggers + The old state of the triggers + the number of rows updated + + + + Delete all of the listeners associated with a given trigger. + + The DB Connection + The name of the trigger whose listeners will be deleted + The name of the group containing the trigger + the number of rows deleted + + + + Associate a listener with the given trigger. + + The DB Connectio + The trigger + The name of the listener to associate with the trigger + the number of rows inserted + + + + Select the listeners associated with a given trigger. + + The DB Connection + The name of the trigger + The group containing the trigger + array of trigger listener names + + + + Delete the simple trigger data for a trigger. + + The DB Connection + The name of the trigger + The group containing the trigger + The number of rows deleted + + + + Delete the BLOB trigger data for a trigger. + + The DB Connection + The name of the trigger + The group containing the trigger + The number of rows deleted + + + + Delete the cron trigger data for a trigger. + + The DB Connection + The name of the trigger + The group containing the trigger + the number of rows deleted + + + + Delete the base trigger data for a trigger. + + The DB Connection + The name of the trigger + The group containing the trigger + the number of rows deleted + + + + Select the number of triggers associated with a given job. + + The DB Connection + The name of the job + The group containing the job + the number of triggers for the given job + + + + Select the job to which the trigger is associated. + + The DB Connection + The name of the trigger + The group containing the trigger + The load helper. + + The object associated with the given trigger + + + + + Select the stateful jobs which are referenced by triggers in the given + trigger group. + + The DB Connection + The trigger group. + a List of Keys to jobs. + + + + Select the triggers for a job> + + The DB Connection + The name of the trigger + The group containing the trigger + 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 name of the trigger. + The group containing the trigger. + The object. + + + + + Select a trigger's JobDataMap. + + The DB Connection. + The name of the trigger. + The group containing the trigger. + The of the Trigger, never null, but possibly empty. + + + + Select a trigger's state value. + + The DB Connection. + The name of the trigger. + The group containing the trigger. + The object. + + + + Select a triggers status (state and next fire time). + + The DB Connection. + The name of the trigger. + The group containing 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. + The group containing the triggers. + 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 + Name of the job. + The job group. + + 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) + 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 state2. + The ts. + + + + + Selects the misfired triggers in states. + + The conn. + The state1. + The state2. + The ts. + The count. + The result list. + + + + + Create new StdAdoDelegate instance. + + the logger to use during execution + the prefix of all table names + The instance id. + The db provider. + + + + Create new StdAdoDelegate instance. + + the logger to use during execution + the prefix of all table names + The instance id. + The db provider. + if set to true [use properties]. + + + + 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 states that have + misfired - according to the given timestamp. No more than count will + be returned. + + The conn. + The state1. + The state2. + 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 states 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 + + + + 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. + + + + + 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 name of the job. + The group containing the job. + An array of objects + + + + Delete all job listeners for the given job. + + The DB Connection. + The name of the job. + The group containing the job. + The number of rows deleted. + + + + Delete the job detail record for the given job. + + the DB Connection + the name of the job + the group containing the job + the number of rows deleted + + + + Check whether or not the given job is stateful. + + the DB Connection + the name of the job + the group containing the job + + true if the job exists and is stateful, false otherwise + + + + + Check whether or not the given job exists. + + the DB Connection + the name of the job + the group containing 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 + + + + Associate a listener with a job. + + The DB Connection. + The job to associate with the listener. + The listener to insert. + The number of rows inserted. + + + + Get all of the listeners for a given job. + + The DB Connection. + The job name whose listeners are wanted. + The group containing the job. + Array of listener names. + + + + Select the JobDetail object for a given job name / group name. + + The DB Connection. + The job name whose listeners are wanted. + The group containing 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. + The group containing the jobs. + 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 simple trigger data. + + The DB Connection. + The trigger to insert. + The number of rows inserted. + + + + Insert the cron trigger data. + + the DB Connection + the trigger to insert + 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 simple trigger data. + + The DB Connection. + The trigger to insert. + The number of rows updated. + + + + Update the cron trigger data. + + The DB Connection. + The trigger to insert. + 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 name of the trigger. + The group containing the trigger. + true if the trigger exists, false otherwise + + + + Update the state for a given trigger. + + The DB Connection. + The name of the trigger. + The group containing 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 name of the trigger. + The group containing 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 the all triggers to the given new state, if they are in one of + the given old states AND its next fire time is before the given time. + + 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 + The time before which the trigger's next fire time must be + int 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 group containing 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 the given trigger to the given new state, if it is in the given + old state. + + the DB connection + the name of the trigger + the group containing 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 group containing the triggers + 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 name of the job + the group containing 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. + Name of the job. + Name of the group. + The state. + The old state. + + + + + Delete all of the listeners associated with a given trigger. + + the DB Connection + the name of the trigger whose listeners will be deleted + the name of the group containing the trigger + the number of rows deleted + + + + Associate a listener with the given trigger. + + the DB Connection + the trigger + the name of the listener to associate with the trigger + the number of rows inserted + + + + Select the listeners associated with a given trigger. + + the DB Connection + the name of the trigger + the group containing the trigger + + array of trigger listener names + + + + + Delete the simple trigger data for a trigger. + + the DB Connection + the name of the trigger + the group containing the trigger + the number of rows deleted + + + + Delete the cron trigger data for a trigger. + + the DB Connection + the name of the trigger + the group containing the trigger + the number of rows deleted + + + + Delete the cron trigger data for a trigger. + + the DB Connection + the name of the trigger + the group containing the trigger + the number of rows deleted + + + + Delete the base trigger data for a trigger. + + the DB Connection + the name of the trigger + the group containing the trigger + the number of rows deleted + + + + Select the number of triggers associated with a given job. + + the DB Connection + the name of the job + the group containing the job + the number of triggers for the given job + + + + Select the job to which the trigger is associated. + + the DB Connection + the name of the trigger + the group containing the trigger + The load helper. + The object associated with the given trigger + + + + Select the triggers for a job + + the DB Connection + the name of the trigger + the group containing the trigger + + 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. + + + + + Selects the stateful jobs of trigger group. + + The database connection. + Name of the group. + + + + + Select a trigger. + + the DB Connection + the name of the trigger + the group containing the trigger + The object + + + + Select a trigger's JobDataMap. + + the DB Connection + the name of the trigger + the group containing the trigger + The of the Trigger, never null, but possibly empty. + + + + Select a trigger's state value. + + the DB Connection + the name of the trigger + the group containing the trigger + The object + + + + Select a trigger status (state and next fire time). + + the DB Connection + the name of the trigger + the group containing 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 + the group containing the triggers + + 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) + A (never null, possibly empty) list of the identifiers (Key objects) of the next triggers to be fired. + + + + Gets the select next trigger to acquire SQL clause. + This can be overriden for a more performant, result limiting + SQL. For Example SQL Server, MySQL and SQLite support limiting returned rows. + + + + + + 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 + + + + 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. + Name of the job. + The job group. + + + + + Delete all volatile fired triggers. + + The DB Connection + The number of rows deleted + + + + 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 unsubstitued 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. + + + + Get the names of all of the triggers that are volatile. + + The DB Connection + An array of objects. + + + + Get the names of all of the jobs that are volatile. + + The DB Connection + An array of objects. + + + + 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 triggers to acquire limit. + + The triggers to acquire limit. + + + + Initializes a new instance of the class. + + the logger to use during execution + the prefix of all table names + The instance id. + The db provider. + + + + Initializes a new instance of the class. + + The logger. + The table prefix. + The instance id. + The db provider. + if set to true [use properties]. + + + + Creates the SQL for select next trigger to acquire. + + + + + Gets the select next trigger to acquire SQL clause. + Firebird specific version with FIRST functionality + + + + + + Conveys the state of a fired-trigger record. + + James House + + + + Gets or sets the fire instance id. + + The fire instance id. + + + + Gets or sets the fire timestamp. + + The fire timestamp. + + + + Gets or sets a value indicating whether [job is stateful]. + + true if [job is stateful]; otherwise, false. + + + + 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 a value indicating whether [trigger is volatile]. + + true if [trigger is volatile]; 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 + + + + + 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 + + + + 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 MSG. + The error code. + + + + Initializes a new instance of the class. + + The cause. + + + + Initializes a new instance of the class. + + The MSG. + The cause. + + + + Initializes a new instance of the class. + + The MSG. + The cause. + The error code. + + + + Creates and returns a string representation of the current exception. + + + A string representation of the current exception. + + + + + + Return the exception that is the underlying cause of this exception. + This may be used to find more detail about the cause of the error. + + The underlying exception, or if there is not + one. + + + + + Get the error code associated with this exception. + This may be used to find more detail about the cause of the error. + + + One of the ERR_XXX constants defined in this class. + + + +

+ Determine if the specified error code is in the + category of errors. +

+
+
+ +

+ Determine if the specified error code is in the + category of errors. +

+
+
+ + + Determine if the specified error code is in the + category of errors. + + + + + Determine if the specified error code is in the + category of errors. + + + + + Determine if the specified error code is in the + category of errors. + + + + + Determine if the specified error code is in the + category of errors. + + + + + 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 + + + + 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 + + + + 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 that + it should free up all of it's resources because the scheduler is + shutting down. + + + + + Store the given and . + + The scheduling context. + 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 context. + 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 removal of the results in an empty group, the + group should be removed from the 's list of + known group names. + + The context. + The name of the to be removed. + The group name of the to be removed. + + if a with the given name and + group was found and removed from the store. + + + + + Retrieve the for the given + . + + The context. + The name of the to be retrieved. + The group name of the to be retrieved. + + The desired , or null if there is no match. + + + + + Store the given . + + The context. + 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 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 context. + The name of the to be removed. + The group name of the to be removed. + + 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 context. + The name of the to be removed. + The group name of the to be removed. + The new to be stored. + + if a with the given + name and group was found and removed from the store. + + + + + Retrieve the given . + + The context. + The name of the to be retrieved. + The group name of the to be retrieved. + + The desired , or null if there is no + match. + + + + + Store the given . + + The context. + 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 context. + The name of the to be removed. + + if a with the given name + was found and removed from the store. + + + + + Retrieve the given . + + The context. + 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 . + + The context. + + + + + Get the number of s that are + stored in the . + + The context. + + + + + Get the number of s that are + stored in the . + + The context. + + + + + 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 ). +

+
+ The CTX. + Name of the group. + +
+ + + 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 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 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 given group. +

+ If any missed one or more fire-times, then the + 's misfire instruction will be applied. +

+
+
+ + + Gets the paused trigger groups. + + The context. + + + + + 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 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. + + The context. + 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). + + null if the trigger or it's job or calendar no longer exist, or + if the trigger was not successfully put into the 'executing' + state. + + + + + 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. + + + + + Supports the persistence. + + + + + + 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 that + it should free up all of it's resources because the scheduler is + shutting down. + + + + + Removes all volatile data. + + + + + Removes all volatile data. + + + + + 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 . + + SchedulingContext + 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. + + + The name of the to be removed. + The group name of the to be removed. + + 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 name of the to be retrieved. + The group name of the to be retrieved. + 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 name of the to be removed. + The group name of the to be removed. + + if a with the given + name & group was found and removed from the store. + +
+ + + + + + Retrieve the given . + + The name of the to be retrieved. + The group name of the to be retrieved. + 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 CTXT. + Name of the trigger. + Name of the group. + + + + + 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 ). + + + + + 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 aquired the given lock. + Depending on the JobStore, the surrounding transaction may be + assumed to be already present (managed). This version is just a + handy wrapper around executeInLock that doesn't require a return + value. + + + The name of the lock to aquire, for example + "TRIGGER_ACCESS". If null, then no lock is aquired, but the + lockCallback is still executed in a transaction. + + + + + + Execute the given callback having aquired the given lock. + Depending on the JobStore, the surrounding transaction may be + assumed to be already present (managed). + + + The name of the lock to aquire, for example + "TRIGGER_ACCESS". If null, then no lock is aquired, but the + lockCallback is still executed in a transaction. + + + + + Execute the given callback having optionally aquired the given lock. + This uses the non-managed transaction connection. This version is just a + handy wrapper around executeInNonManagedTXLock that doesn't require a return + value. + + + The name of the lock to aquire, for example + "TRIGGER_ACCESS". If null, then no lock is aquired, but the + lockCallback is still executed in a non-managed transaction. + + + + + + Execute the given callback having optionally aquired the given lock. + This uses the non-managed transaction connection. + + + The name of the lock to aquire, for example + "TRIGGER_ACCESS". If null, then no lock is aquired, but the + lockCallback is still executed in a non-managed transaction. + + + + + Get or set the datasource name. + + + + + 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). + + + + + 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. + + + 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 helpfull 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. + + + + + Get or set the ADO.NET driver delegate class name. + + + + + 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. + + + + + + + Implement this interface to provide the code to execute within + the a transaction template that has no return value. + + + + + + Implement this interface to provide the code to execute within + the a transaction template. If no return value is required, execute + should just return null. + + + + + + + + An interface for classes wishing to provide the service of loading classes + and resources within the scheduler... + + James House + + + + Called to give the ClassLoadHelper a chance to Initialize itself, + including the oportunity 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 aquired 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 aquire, for example + "TRIGGER_ACCESS". If null, then no lock is aquired, but the + txCallback is still executed in a transaction. + + Callback to execute. + + + + Utility class to keep track of both active transaction + and connection. + + + + + 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. + + + + is meant to be used in a standalone environment. + Both commit and rollback will be handled by this class. + + Jeffrey Wescott + James House + + + + 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 aquired 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 aquire, for example "TRIGGER_ACCESS". + If null, then no lock is aquired, 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 + + + + An exception that is thrown to indicate that there has been a failure in the + scheduler's underlying persistence mechanism. + + James House + + + +

+ 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 error code. +

+
+
+ +

+ Create a with the given message + and cause. +

+
+
+ +

+ Create a with the given message, + cause and error code. +

+
+
+ + + 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 + + + + Initializes a new instance of the class. + + the logger to use during execution + the prefix of all table names + The instance id. + The db provider. + + + + Initializes a new instance of the class. + + The logger. + The table prefix. + The instance id. + The db provider. + if set to true [use properties]. + + + + 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 + + + + 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 + + + + Initializes a new instance of the class. + + the logger to use during execution + the prefix of all table names + The instance id. + The db provider. + + + + Initializes a new instance of the class. + + The logger. + The table prefix. + The instance id. + The db provider. + if set to true [use properties]. + + + + Creates the SQL for select next trigger to acquire. + + + + + Gets the select next trigger to acquire SQL clause. + Oracle version with rownum support. + + + + + + This is a driver delegate for the PostgreSQL ADO.NET driver. + + Marko Lahma + + + + Initializes a new instance of the class. + + The log. + The table prefix. + The instance id. + The db provider. + + + + Initializes a new instance of the class. + + The log. + The table prefix. + The instance id. + The db provider. + if set to true [use properties]. + + + + Gets the select next trigger to acquire SQL clause. + PostgreSQL version with LIMIT support. + + + + + + Conveys a scheduler-instance state record. + + James House + + + + 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 + + + + 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 + + + + Initializes a new instance of the class. + + the logger to use during execution + the prefix of all table names + The instance id. + The db provider. + + + + Initializes a new instance of the class. + + The logger. + The table prefix. + The instance id. + The db provider. + if set to true [use properties]. + + + + Gets the select next trigger to acquire SQL clause. + SQLite version with LIMIT support. + + + + + + A SQL Server specific driver delegate. + + Marko Lahma + + + + Initializes a new instance of the class. + + the logger to use during execution + the prefix of all table names + The instance id. + The db provider. + + + + Initializes a new instance of the class. + + The logger. + The table prefix. + The instance id. + The db provider. + if set to true [use properties]. + + + + Creates the SQL for select next trigger to acquire. + + + + + 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 + + + + Initializes a new instance of the class. + + The table prefix. + The select with lock SQL. + + + + Execute the SQL select for update that will lock the proper database row. + + + + 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" type syntax, for example + Microsoft SQLServer (MSSQL). + + + + + 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 + + + + 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 + + + + An interface to be implemented by objects that define spaces of time during + which an associated may 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) + + James House + Juergen Donnerstag + + + + 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. + + + + 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. + + + + + + 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. + + + + Return true, if day is defined to be exluded. + + + + + 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 +
+ + + 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 + + + + + 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. + + + + + + + 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 +
+ + + 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) +
  • +
+
+
+ + + 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. +
+ + + 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 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 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 range starting time in millis. + The range ending time in millis. +
+ + + 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, pratically 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 + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The base calendar. + + + + 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. +

+
+
+ + + 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 + + + + Initializes a new instance of the class. + + + + + Constructor + + The base calendar. + + + + Initialize internal variables + + + + + Return true, if mday is defined to be exluded. + + + + + 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. +

+
+
+ + + 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 + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The base calendar. + + + + Initialize internal variables + + + + + Return true, if wday is defined to be exluded. E. g. + saturday and sunday. + + + + + Redefine a certain day of the week to be excluded (true) or included + (false). Use java.util.Calendar's constants like MONDAY to determine the + wday. + + + + + 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. + + + + + 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, ThreadPool threadPool, JobStore jobStore, string rmiRegistryHost, int rmiRegistryPort)
+            
+

+ Here is an example of using this method: +

+
+            // create the thread pool 
+            SimpleThreadPool threadPool = new SimpleThreadPool(maxThreads, Thread.NORM_PRIORITY); 
+            threadPool.Initialize(); 
+            // create the job store 
+            JobStore jobStore = new RAMJobStore(); 
+            jobStore.Initialize();
+            
+            DirectSchedulerFactory.Instance.CreateScheduler("My Quartz Scheduler", "My Instance", threadPool, jobStore, "localhost", 1099); 
+            // don't forget to start the scheduler: 
+            DirectSchedulerFactory.Instance.GetScheduler("My Quartz Scheduler", "My Instance").start();
+            
+
> + Mohammad Rezaei + James House + + +
+ + + Provides a mechanism for obtaining client-usable handles to + instances. + + + + James House + + + + 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 to RMI. + + 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 to RMI. + + 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. + + + + 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.). +

+
+
+ + + 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 + + + + 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. + + + The setup/configuration of a instance is very + customizable. Please consult the documentation distributed with Quartz. + + + + + + + + + + + + returns true if the given JobGroup + is paused + + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + Get a object describiing 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 groups that are paused. + + + + + Get the global that has + the given name. + + Global job listener's name + + + + + Get the global that + has the given name. + + Global trigger listener's name + + + + + 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 + . + + + 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. + + + + + 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 new trigger must have the job name & group specified) + - however, the new trigger need not have the same name as the old trigger. + + + The name of the to be replaced. + + + The group name of 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, 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. + + + + + Delete the identified from the Scheduler - and any + associated s. + + true if the Job was found and deleted. + + + + Trigger the identified + (Execute it now) - the generated trigger will be non-volatile. + + + + + Trigger the identified + (Execute it now) - the generated trigger will be volatile. + + + + + Trigger the identified + (Execute it now) - the generated trigger will be non-volatile. + + the name of the Job to trigger + the group name of the Job to trigger + + the (possibly ) JobDataMap to be + associated with the trigger that fires the job immediately. + + + + + Trigger the identified + (Execute it now) - the generated trigger will be volatile. + + the name of the Job to trigger + the group name of the Job to trigger + + the (possibly ) JobDataMap to be + associated with the trigger that fires the job immediately. + + + + + 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 Scheduler will "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. + + + + + + Pause the with the given name. + + + + + Pause all of the s in the given group. + + + The Scheduler will "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. + + + + + + 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. + + + + + + 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 + given group. + + + 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 names of all the s in the given group. + + + + + Get all s that are associated with the + identified . + + + + + Get the names of all the s in the given + group. + + + + + Get the for the + instance with the given name and group. + + + + + Get the instance with the given name and + group. + + + + + 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. + + 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 . + + An array of calendar names. + + + + 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. + + + +
+ + + Add the given to the 's + global list. + + + Listeners in the 'global' list receive notification of execution events + for ALL s. + + + + + Add the given to the 's + list, of registered s. + + + + + Remove the given from the 's + list of global listeners. + + + true if the identifed listener was found in the list, and removed. + + + + + Remove the identifed from the 's + list of global listeners. + + Global job listener's name + true if the identifed listener was found in the list, and removed + + + + Remove the identifed from the 's + list of registered listeners. + + + true if the identifed listener was found in the list, and removed. + + + + + Get the non-global that has + the given name. + + + + + Add the given to the 's + global list. + + + Listeners in the 'global' list receive notification of execution events + for ALL s. + + + + + Add the given to the 's + list, of registered s. + + + + + Remove the given from the 's + list of global listeners. + + + true if the identifed listener was found in the list, and removed. + + + + + Remove the identifed from the 's + list of global listeners. + + The name. + true if the identifed listener was found in the list, and removed. + + + + Remove the identifed from the + 's list of registered listeners. + + + true if the identifed listener was found in the list, and removed. + + + + + Get the non-global that + has the given name. + + + + + Register the given with the + + + + + Remove the given from the + . + + true if the identifed listener was found in the list, and + removed. + + + + + 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 opertunity for dependency injection. + + + + + + Get the names of all known groups. + + + + + Get the names of all known groups. + + + + + Get the names of all registered s. + + + + + Get a List containing all of the s in + the 'sglobal list. + + + + + Get a Set containing the names of all the non-global + s registered with the . + + + + + Get a List containing all of the + s in the 'sglobal list. + + + + + Get a Set containing the names of all the non-global + s registered with the . + + + + + Get a List containing all of the + s registered with 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. + + + + + + + + Construct a instance to proxy the given + RemoteableQuartzScheduler instance, and with the given + . + + + + + returns true if the given JobGroup + is paused + + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + Get a object describiing 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' . + + + + + Get the global that has + the given name. + + + + + + + Get the global that + has the given name. + + + + + + + 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' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Get the names of all registered . + + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Remove the identifed from the 's + list of global listeners. + + + + true if the identifed listener was found in the list, and removed + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + 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' . + + + + + Remove the identifed from the 's + list of global listeners. + + The name. + + true if the identifed listener was found in the list, and removed. + + + + + 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' . + + + + + Returns the name of the . + + + + + Returns the instance Id of the . + + + + + Gets or sets the remote scheduler address. + + The remote scheduler address. + + + + Returns the of the . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Gets a value indicating whether this instance is paused. + + true if this instance is paused; otherwise, false. + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equialent 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' . + + + + + 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 opertunity 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. + + + + + + + + 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. +

+ This implementation does not re-use any objects, it simply makes a new + JobRunShell each time is called. +

+
+ James House +
+ + + Initialize the factory, providing a handle to the + that should be made available within the and + the s within it, and a handle to the + that the shell will use in its own + operations with the . + + + + + Called by the to obtain instances of + . + + + + + Called by the to return instances of + . + + + + + An implementation of the interface that directly + proxies all method calls to the equivalent call on a given + instance. + + + + + James House + + + + returns true if the given JobGroup + is paused + + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + Get a object describiing 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' . + + + + + + + + + Get the global that has + the given name. + + + + + + + Get the global that + has the given name. + + + + + + + Construct a instance to proxy the given + instance, and with the given . + + + + + 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' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Get the names of all registered . + + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Remove the identifed from the 's + list of global listeners. + + + + true if the identifed listener was found in the list, and removed + + + + + 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' . + + + + + Remove the identifed from the 's + list of global listeners. + + The name. + + true if the identifed listener was found in the list, and removed. + + + + + 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' . + + + + + 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' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + 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' . + + + + + + + + + An implementation of that + does all of it's work of creating a instance + based on the contenents of a properties file. + + +

+ By default a properties are loaded from App.config's quartz section. + If that fails, then the "quartz.properties" + file 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. +

+ +

+ Alternativly, 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) +
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The props. + + + + Initialize the with + the contenents of a Properties file. + +

+ 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 a resource) in the org/quartz + package 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 contenents of the given Properties object. + + + + + + + + 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 the default Scheduler, creating it if it does not + yet exist. + + + + + +

+ Returns a handle to all known Schedulers (made by any + StdSchedulerFactory instance.). +

+
+
+ + + 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 + + + + + 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) + + + + 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. + + + + 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 + . + + James House + + + + + Ïnforms that certain file has been updated. + + Name of the file. + + + + Built in job for executing native executables in a separate process. + + Matthew Payne + James House + Steinar Overbeck Cook + + + + 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 workling 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 + + + + 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 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. + + + + Executes the job. + + The job execution context. + + + + 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 + + + + Construct an instance with the given List of listeners. + + The initial List of SchedulerListeners to broadcast to. + + + + Holds a List of references to JobListener instances and broadcasts all + events to them (in order) - if the event is not excluded via filtering + (read on). + + +

+ The broadcasting behavior of this listener to delegate listeners may be + more convenient than registering all of the listeners directly with the + Trigger, and provides the flexibility of easily changing which listeners + get notified. +

+ +

+ You may also register a number of Regular Expression patterns to match + the events against. If one or more patterns are registered, the broadcast + will only take place if the event applies to a job who's name/group + matches one or more of the patterns. +

+
+ + + + + + James House +
+ + Construct an instance with the given name. + + (Remember to add some delegate listeners!) + + @param name the name of this instance + + + Construct an instance with the given name, and List of listeners. + + @param name the name of this instance + @param listeners the initial List of JobListeners to broadcast to. + + + + If one or more name patterns are specified, only events relating to + jobs who's name matches the given regular expression pattern + will be dispatched to the delegate listeners. + + + + + + If one or more group patterns are specified, only events relating to + jobs who's group matches the given regular expression pattern + will be dispatched to the delegate listeners. + + + + + + Holds a List of references to TriggerListener instances and broadcasts all + events to them (in order) - if the event is not excluded via filtering + (read on). + + +

+ The broadcasting behavior of this listener to delegate listeners may be + more convenient than registering all of the listeners directly with the + Trigger, and provides the flexibility of easily changing which listeners + get notified. +

+ +

+ You may also register a number of Regular Expression patterns to match + the events against. If one or more patterns are registered, the broadcast + will only take place if the event applies to a trigger who's name/group + matches one or more of the patterns. +

+
+ + + + + + James House +
+ + + 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 + + + + 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. +

+
+ 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 + + + + If one or more name patterns are specified, only events relating to + triggers who's name matches the given regular expression pattern + will be dispatched to the delegate listeners. + + + + + + If one or more group patterns are specified, only events relating to + triggers who's group matches the given regular expression pattern + will be dispatched to the delegate listeners. + + + + + + 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 + messsage 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 +
+ + + 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 . +

+
+ +
+ + + Initializes a new instance of the class. + + + + + Called by the when a + is about to be executed (an associated + has occured). +

+ 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 occured), 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 Key with the name and group of the first job + a Key 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 . +

+
+ +
+ + + 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 vetos) 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: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementData TypeDescription
0StringThe Job's Name.
1StringThe Job's Group.
2DateThe current time.
3StringThe Trigger's name.
4StringThe Triggers's group.
5DateThe scheduled fire time.
6DateThe next scheduled fire time.
7IntegerThe re-fire count from the JobExecutionContext.
+ The default message text is "Job {1}.{0} fired (by trigger {4}.{3}) at: + {2, date, HH:mm:ss MM/dd/yyyy" +

+

+ JobSuccessMessage - available message data are: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementData TypeDescription
0StringThe Job's Name.
1StringThe Job's Group.
2DateThe current time.
3StringThe Trigger's name.
4StringThe Triggers's group.
5DateThe scheduled fire time.
6DateThe next scheduled fire time.
7IntegerThe re-fire count from the JobExecutionContext.
8ObjectThe 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, date, + HH:mm:ss MM/dd/yyyy} and reports: {8" +

+

+ JobFailedMessage - available message data are: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementData TypeDescription
0StringThe Job's Name.
1StringThe Job's Group.
2DateThe current time.
3StringThe Trigger's name.
4StringThe Triggers's group.
5DateThe scheduled fire time.
6DateThe next scheduled fire time.
7IntegerThe re-fire count from the JobExecutionContext.
8StringThe message from the thrown JobExecution Exception. +
+ The default message text is "Job {1}.{0} execution failed at {2, date, + HH:mm:ss MM/dd/yyyy} and reports: {8" +

+

+ JobWasVetoedMessage - available message data are: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementData TypeDescription
0StringThe Job's Name.
1StringThe Job's Group.
2DateThe current time.
3StringThe Trigger's name.
4StringThe Triggers's group.
5DateThe scheduled fire time.
6DateThe next scheduled fire time.
7IntegerThe 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, date, HH:mm:ss MM/dd/yyyy" +

+
+
+ + + 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 +
+ + + 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 occured), 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: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementData TypeDescription
0StringThe Trigger's Name.
1StringThe Trigger's Group.
2DateThe scheduled fire time.
3DateThe next scheduled fire time.
4DateThe actual fire time.
5StringThe Job's name.
6StringThe Job's group.
7IntegerThe 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: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementData TypeDescription
0StringThe Trigger's Name.
1StringThe Trigger's Group.
2DateThe scheduled fire time.
3DateThe next scheduled fire time.
4DateThe actual fire time. (the time the misfire was detected/handled)
5StringThe Job's name.
6StringThe 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: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementData TypeDescription
0StringThe Trigger's Name.
1StringThe Trigger's Group.
2DateThe scheduled fire time.
3DateThe next scheduled fire time.
4DateThe job completion time.
5StringThe Job's name.
6StringThe Job's group.
7IntegerThe re-fire count from the JobExecutionContext.
8IntegerThe trigger's resulting instruction code.
9StringA 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 +
+ + + 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 scheuler to Shutdown. + + + James House + + + + 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 . +

+
+ +
+ + + 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. + + + + + + Initializes a new instance of the class. + + The rule. + + + + Gets the rule. + + The rule. + + + + Possible parse rules for s. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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. + + + + + Whether or not jobs defined in the XML file should be overwrite existing + jobs with the same name. + + + + + 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 . + + + + + Whether or not the XML should be validated. Default is . + + + + + Whether or not the XML schema should be validated. Default is . + + + + + A uses all of the + types that are found in this package in its attempts to load a class, when + one scheme is found to work, it is promoted to the scheme that will be used + first the next time a class is loaded (in order to improve perfomance). + + + This approach is used because of the wide variance in class loader behavior + between the various environments in which Quartz runs (e.g. disparate + application servers, stand-alone, mobile devices, etc.). Because of this + disparity, Quartz ran into difficulty with a one class-load style fits-all + design. Thus, this class loader finds the approach that works, then + 'remembers' it. + + James House + + + + Called to give the ClassLoadHelper a chance to Initialize itself, + including the oportunity 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 + + + + + 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. +

+ +
+ + +
+ + + An IInstanceIdGenerator is responsible for generating the clusterwide unique + instance id for a nodde. +

+ 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. +

+ +
+ +
+ + Generate the instance id for a + + + The clusterwide unique instance id. + + + + + Generate the instance id for a + + The clusterwide unique instance id. + + + + A that uses either the loader of it's own + class. + + + + + James House + + + + Called to give the ClassLoadHelper a chance to Initialize itself, + including the oportunity 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 + + + + + A JobFactory that instantiates the Job instance (using the default no-arg + constructor, or more specifically: ), and + then attempts to set all values in the 's + onto bean properties of the . + + + + + + + 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 opertunity for dependency injection. + + + + + James House + + + + 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 wih instantiating the Job. +

+ +
+ + The TriggerFiredBundle from which the + and other info relating to the trigger firing can be obtained. + + SchedulerException if there is a problem instantiating the Job. + the newly instantiated Job + +
+ + + 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 wih 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. + + + + 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 wih 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 proptery 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 proptery 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 extrememly + 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. + + + + + 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 that + it should free up all of it's resources because the scheduler is + shutting down. + + + + + Store the given and . + + The scheduling context. + 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 scheduling context. + 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. + + The scheduling context. + The name of the to be removed. + The group name of the to be removed. + + if a with the given name and + group was found and removed from the store. + + + + + Remove (delete) the with the + given name. + + The scheduling context. + The name of the to be removed. + The group name of the to be removed. + + if a with the given + name and group was found and removed from the store. + + + + + Store the given . + + The scheduling context. + 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. + + The scheduling context. + The name of the to be removed. + The group name of the to be removed. + + if a with the given + name and group was found and removed from the store. + + Whether to delete orpahaned job details from scheduler if job becomes orphaned from removing the trigger. + + + + Replaces the trigger. + + The scheduling context. + Name of the trigger. + Name of the group. + The new trigger. + + + + + Retrieve the for the given + . + + The scheduling context. + The name of the to be retrieved. + The group name of the to be retrieved. + + The desired , or null if there is no match. + + + + + Retrieve the given . + + The scheduling context. + The name of the to be retrieved. + The group name of the to be retrieved. + + The desired , or null if there is no match. + + + + + Get the current state of the identified . + + + + + + + + + + + Store the given . + + The scheduling context. + 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 scheduling context. + The name of the to be removed. + + if a with the given name + was found and removed from the store. + +
+ + + Retrieve the given . + + The scheduling context. + 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. + + + + + 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. + + Name of the job. + Name of the group. + + + + + 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 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 + 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. + + Name of the job. + The job group. + The internal state to set. + + + + 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. + + + + + Gets the fired trigger record id. + + The fired trigger record id. + + + + Returns whether this instance supports persistence. + + + + + + + Comparer for triggers. + + + + + 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 . + + + + + Gets the trigger + + The trigger + + + + 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. + + + + + Sets the channel type when registering remoting. + + + + + + Sets the used when + exporting to remoting context. Defaults to + . + + + + + A that simply calls . + + + + James House + + + + Called to give the ClassLoadHelper a chance to Initialize itself, + including the oportunity 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 + + + + + The default InstanceIdGenerator used by Quartz when instance id is to be + automatically generated. Instance id is of the form HOSTNAME + CURRENT_TIME. + + + + + + + + + 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 +
+ + + 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 imballance of load. + + + James House + + + + 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 + + + + 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 size of the pool. + + The size of the pool. + + + + 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. + + + + 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. + + + + + This is class is a simple implementation of a zero size thread pool, based on the + {@link org.quartz.spi.ThreadPool} 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 + + + + 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. + + + + A simple class (structure) used for returning execution-time data from the + JobStore to the . + + + James House + + + + 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. + + + + + DateTime related utility methods. + + + + + Assumes that given input is in UTC and sets the kind to be UTC. + Just a precaution if somebody does not set it explicitly. + This only works in .NET Framework 2.0 onwards. + + The datetime to check. + DateTime with kind set to UTC. + + + + Assumes that given input is in UTC and sets the kind to be UTC. + Just a precaution if somebody does not set it explicitly. + + The datetime to check. + DateTime with kind set to UTC. + + + + Manages a collection of IDbProviders, and provides transparent access + to their database. + + + James House + Sharada Jambula + Mohammad Rezaei + + + + 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. + + a database connection + + + + 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 + + + + Create a DirtyFlagMap that 'wraps' a . + + + + + Create a DirtyFlagMap that 'wraps' a that has the + given initial capacity. + + + + + Create a DirtyFlagMap that 'wraps' a that has the + given initial capacity and load factor. + + + + + Creates a new object that is a copy of the current instance. + + + A new object that is a copy of this instance. + + + + + 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. + + + + + 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 + + + + + Utility class for storing two pieces of information together. + + Jeffrey Wescott + + + + Test equality of this object with that. + + object to compare + true if objects are equal, false otherwise + + + + 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 . + + + + + Get or sets the first object in the pair. + + + + + Get or sets the second object in the pair. + + + + 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 avaiable. + + 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. + + + + Utility methods that are used to convert objects from one type into another. + + Aleksandar Seovic + + + + 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. + + The type to instantiate. + + + + + 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 + + + + 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. + + + + An implementation of that wraps another + and flags itself 'dirty' when it is modified, enforces that all keys are + strings. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The initial capacity. + + + + Initializes a new instance of the class. + + The initial capacity. + The load factor. + + + + 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. + + + + + Adds the given serializable object value to 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 . + + + + + Object representing a job or trigger key. + + James House + + + + Construct a new TriggerStatus with the status name and nextFireTime. + + The trigger's status + The next UTC time the trigger will fire + + + + Return the string representation of the TriggerStatus. + + + + + Gets or sets the job key. + + The job key. + + + + Gets or sets the key. + + The key. + + + + Get the name portion of the key. + + the name + + + + Get the group portion of the key. + + the group + + + + Wraps a . + + Chris Bonham + + + + Gets or sets the name of the calendar. + + The name of the calendar. + + + + Gets or sets the name of the class. + + The name of the class. + + + + Gets or sets the calendar. + + The calendar. + + + + 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. + + + + + + Wraps a and . + + Chris Bonham + James House + + + + Adds a trigger to this bundle. + + The trigger. + + + + Removes the given trigger from this bundle. + + The trigger. + + + + Gets or sets the job detail. + + The job detail. + + + + Gets or sets the triggers associated with this bundle. + + The triggers. + + + + Gets the name of the bundle. + + The name. + + + + Gets the full name. + + The full name. + + + + Gets a value indicating whether this is valid. + + true if valid; otherwise, false. + + + + Parses an XML file that declares Jobs and their schedules (Triggers). + + +

+ The xml document must conform to the format defined in + "job_scheduling_data.xsd" +

+ +

+ After creating an instance of this class, you should call one of the + functions, after which you may call the + 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) +
+ + + XML Schema dateTime datatype format. +

+ See + http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#dateTime +

+
+
+ + + Constructor for JobSchedulingDataProcessor. + + + + + Constructor for JobSchedulingDataProcessor. + + whether or not to validate XML. + whether or not to validate XML schema. + + + + 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. + + + + + Process the xml file in the given location, and schedule all of the + jobs defined within it. + + meta data file name. + The scheduler. + if set to true overwrite existing jobs. + + + + 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. + if set to true [over write existing jobs]. + + + + Add the Jobs and Triggers defined in the given map of + s to the given scheduler. + + The job bundles. + The sched. + if set to true [over write existing jobs]. + + + + Returns a for the job name. + + The name. + + a for the job name. + + + + + Returns an from the fileName as a resource. + + Name of the file. + + an from the fileName as a resource. + + + + + Schedules a given job and trigger (both wrapped by a ). + + job wrapper. + + if the Job or Trigger cannot be added to the Scheduler, or + there is an internal Scheduler error. + + + + + Schedules a given job and trigger (both wrapped by a ). + + The job. + The sched. + if set to true [local over write existing jobs]. + + if the Job or Trigger cannot be added to the Scheduler, or + there is an internal Scheduler error. + + + + + Adds a scheduled job. + + The job. + + + + Adds a calendar. + + The sched. + calendar bundle. + SchedulerException if the Calendar cannot be added to the Scheduler, or + + + + 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. + + + + + Gets or sets whether to overwrite existing jobs. + + + + + Gets the log. + + The log. + + + + Returns a of scheduled jobs. +

+ The key is the job name and the value is a + containing the and . +

+
+ a of scheduled jobs. + +
+ + + Helper class to map constant names to their values. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reports JobSchedulingDataProcessor validation exceptions. + + Chris Bonham + + + + Constructor for ValidationException. + + + + + Constructor for ValidationException. + + exception message. + + + + Constructor for ValidationException. + + collection of validation exceptions. + + + + Gets the validation exceptions. + + The validation exceptions. + + + + Returns the detail message string. + + + + + An exception that is thrown to indicate that there has been a critical + failure within the scheduler's core services (such as loss of database + connectivity). + + James House + + + + 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. + + + + 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-2099 , - /// /
+

+ 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". When using the 'L' option, it + is important not to specify lists, or ranges of values, as you'll get + confusing 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 +
+ + + 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. + + + + + 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. + + + + + 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 +
+ + + 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 +
+ + + The default value for priority. + + + + + Remove all s from the . + + + + + 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. + + + + + Add the specified name of a to + the end of the 's list of listeners. + + Name of the listener. + + + + Remove the specified name of a + from the 's list of listeners. + + true if the given name was found in the list, and removed + + + + + 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 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. + + + + + 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. + + + + + 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 . + + + + + 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. +

+
+
+ + + Whether or not the should be persisted in the + for re-use after program restarts. +

+ If not explicitly set, the default value is . +

+
+
+ + + Returns an array of s containing the names of all + s assigned to the , + in the order in which they should be notified. + + + + + 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. +

+
+
+ + + Returns 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. + + 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. + + + + + 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. + + + + 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. + The group. + + + + 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. + The group. + The cron expression. + + + + 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. + The group. + Name of the job. + The job group. + + + + 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. + The group. + Name of the job. + The job group. + The cron expression. + + + + 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. + The group. + Name of the job. + The job group. + The cron expression. + The 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. + The group. + Name of the job. + The job group. + The start time. + The end time. + The cron expression. +
+ + + Create a with fire time dictated by the + resolved with respect to the specified + occuring from the until + the given . + + The name. + The group. + Name of the job. + The job group. + The start time. + The end time. + + + + 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 repeastCount 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. + + + + + + The interface to be implemented by s that provide a + mechanism for having their execution interrupted. It is NOT a requirment + 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 java source for the class + Quartz.Examples.Example7.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 + impplementation 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 (preferrably in a + block. +

+
+ + + James House +
+ + + Called by the when a user + interrupts the . + + void (nothing) if job interrupt is successful. + + + + Scheduler constants. + + + + + A (possibly) usefull 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 + ("MANUAL_TRIGGER") for thename of a 's group. + + + + + A constant group name used internally by the + scheduler - clients should not use the value of this constant + ("RECOVERING_JOBS") for thename 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 thename 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 + scheduled fire time of the original from a recovery + trigger's data map in the case of a job recovering after a failed scheduler + instance. + + + + + + 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. +

+ 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 +
+ + + Create an empty . + + + + + Create a with the given data. + + + + + 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 . + + + + + Retrieve the identified value from the . + + + + + Gets the date time. + + The key. + + + + + Gets the value behind the specified key. + + The key. + + + + + Conveys the detail properties of a given 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 + Sharada Jambula +
+ + + 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 , Scheduler.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 , Scheduler.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 , Scheduler.DefaultGroup will be used. + Type of the job. + if set to true, job will be volatile. + 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 . + + + + + Add the specified name of a to the + end of the 's list of listeners. + + + + + Remove the specified name of a from + the 's list of listeners. + + true if the given name was found in the list, and removed + + + + 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 not be persisted in the + for re-use after program + restarts. +

+ If not explicitly set, the default value is . +

+
+ if the should be garbage + collected along 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 or not the implements the interface . + + + + + Gets or sets an array of s containing the names of all + s assigned to the , + in the order in which they should be notified. Setting the array + clears any listener names that were in the list. + + + + + 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 + '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 RMI) - 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 +
+ + + Create a JobExcecutionContext 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 '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. + + + + + An exception that can be thrown by a + to indicate to the Quartz that an error + occured 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 + + + + Create a JobExcecutionException, with the 're-fire immediately' flag set + to . + + + + + Create a JobExcecutionException, with the given cause. + + The cause. + + + + Create a JobExcecutionException, with the given message. + + + + + Initializes a new instance of the class. + + The message. + The original cause. + + + + Create a JobExcecutionException with the 're-fire immediately' flag set + to the given value. + + + + + Create a JobExcecutionException with the given underlying exception, and + the 're-fire immediately' flag set to the given value. + + + + + Create a JobExcecutionException 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. + + + + Misfire instructions. + + + + + Instruction not set (yet). + + + + + Use smart policy. + + + + + 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 NthIncludedDayTrigger + + + + + Instructs the that upon a mis-fire situation, the + wants to be fired now by the + + + + + + Instructs the that upon a mis-fire situation, the + wants to have + nextFireTime updated to the next time in the schedule after + the current time, but it does not want to be fired now. + + + + + A trigger which fires on the Nth day of every interval type + , or + that is not excluded by the associated + calendar. + + + When determining what the Nth day of the month or year + is, will skip excluded days on the + associated calendar. This would commonly be used in an Nth + business day situation, in which the user wishes to fire a particular job on + the Nth business day (i.e. the 5th business day of + every month). Each also has an associated + which indicates at what time of day the trigger is + to fire. +

+ All s default to a monthly interval type + (fires on the Nth day of every month) with N = 1 (first + non-excluded day) and set to 12:00 PM (noon). These + values can be changed using the , , and + methods. Users may also want to note the + and + methods. +

+

+ Take, for example, the following calendar: +

+ + July August September + Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa + 1 W 1 2 3 4 5 W 1 2 W + W H 5 6 7 8 W W 8 9 10 11 12 W W H 6 7 8 9 W + W 11 12 13 14 15 W W 15 16 17 18 19 W W 12 13 14 15 16 W + W 18 19 20 21 22 W W 22 23 24 25 26 W W 19 20 21 22 23 W + W 25 26 27 28 29 W W 29 30 31 W 26 27 28 29 30 + W + + Where W's represent weekend days, and H's represent holidays, all of which + are excluded on a calendar associated with an + with n=5 and + intervalType=IntervalTypeMonthly. In this case, the trigger + would fire on the 8th of July (because of the July 4 holiday), + the 5th of August, and the 8th of September (because + of Labor Day). +
+ Aaron Craven +
+ + + Indicates a monthly trigger type (fires on the Nth included + day of every month). + + + + indicates a yearly trigger type (fires on the Nth included + day of every year). + + + + + Indicates a weekly trigger type (fires on the Nth included + day of every week). When using this interval type, care must be taken + not to think of the value of as an analog to + . Such a comparison can only + be drawn when there are no calendars associated with the trigger. To + illustrate, consider an with + n = 3 which is associated with a Calendar excluding + non-weekdays. The trigger would fire on the 3rd + included day of the week, which would be 4th + actual day of the week. + + + + + Create an with no specified name, + group, or . This will result initially in a + default monthly trigger that fires on the first day of every month at + 12:00 PM (n = 1, + intervalType=, + fireAtTime="12:00"). + + + Note that , , + , and , must be + called before the can be placed into + a . + + + + + Create an with the given name and + default group but no specified . This will result + initially in a default monthly trigger that fires on the first day of + every month at 12:00 PM (=1, + intervalType=, + fireAtTime=12:00"). +

+ Note that and must + be called before the can be placed + into a . +

+
+ the name for the +
+ + + Create an with the given name and + group but no specified . This will result + initially in a default monthly trigger that fires on the first day of + every month at 12:00 PM (=1, + intervalType=, + fireAtTime=12:00"). +

+ Note that and must + be called before the can be placed + into a . +

+
+ the name for the + + the group for the + +
+ + + Create an with the given name and + group and the specified . This will result + initially in a default monthly trigger that fires on the first day of + every month at 12:00 PM (=1, + intervalType=, + fireAtTime="12:00"). + + The name for the . + The group for the . + The name of the job to associate with the . + The group containing the job to associate with the . + + + + Returns the next UTC time at which the + will fire. If the trigger will not fire again, will be + returned. + + +

+ Because of the conceptual design of , + it is not always possible to decide with certainty that the trigger + will never fire again. Therefore, it will search for the next + fire time up to a given cutoff. These cutoffs can be changed by using the + property. The default cutoff is 12 + of the intervals specified by intervalType. +

+

+ The returned value is not guaranteed to be valid until after + the trigger has been added to the scheduler. +

+
+ the next fire time for the trigger + +
+ + + Returns the previous UTC time at which the + fired. If the trigger has not yet + fired, will be returned. + + the previous fire time for the trigger + + + + Returns the first time the will fire + after the specified date. + + +

+ Because of the conceptual design of , + it is not always possible to decide with certainty that the trigger + will never fire again. Therefore, it will search for the next + fire time up to a given cutoff. These cutoffs can be changed by using the + property. The default cutoff is 12 + of the intervals specified by intervalType. +

+

+ Therefore, for triggers with intervalType = + , if the trigger + will not fire within 12 + weeks after the given date/time, will be returned. For + triggers with intervalType = + + , if the trigger will not fire within 12 + months after the given date/time, will be returned. + For triggers with intervalType = + + , if the trigger will not fire within 12 + years after the given date/time, will be returned. In + all cases, if the trigger will not fire before , + will be returned. +

+
+ The time after which to find the nearest fire time. + This argument is treated as exclusive 舒 that is, + if afterTime is a valid fire time for the trigger, it + will not be returned as the next fire time. + + + the first time the trigger will fire following the specified date + +
+ + + 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). + + + + + 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 ). + +
+ + + Called after the has executed the + associated with the in order + to get the final instruction code from the trigger. + + + The that was used by the + 's method. + + + The thrown by the + , if any (may be ) + + one of the Trigger.INSTRUCTION_XXX constants. + + + + + 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 + +

+
+ + A boolean indicator of whether the trigger could potentially fire + again. + +
+ + + Indicates whether is a valid misfire + instruction for this . + + Whether is valid. + + + Updates the 's state based on the + MisfireInstruction that was selected when the + was created +

+ If the misfire instruction is set to MISFIRE_INSTRUCTION_SMART_POLICY, + then the instruction will be interpreted as + . +

+
+ a new or updated calendar to use for the trigger + +
+ + + Updates the 's state based on the + given new version of the associated . + + A new or updated calendar to use for the trigger + the amount of time that must + be between "now" and the time the next + firing of the trigger is supposed to occur. + + + + + Calculates the first time an with + intervalType = IntervalTypeWeekly will fire + after the specified date. See for more + information. + + The time after which to find the nearest fire time. + This argument is treated as exclusive 舒 that is, + if afterTime is a valid fire time for the trigger, it + will not be returned as the next fire time. + + the first time the trigger will fire following the specified + date + + + + + Calculates the first UTC time an with + intervalType = will fire + after the specified date. See for more + information. + + + The UTC time after which to find the nearest fire time. + This argument is treated as exclusive 舒 that is, + if afterTime is a valid fire time for the trigger, it + will not be returned as the next fire time. + + the first time the trigger will fire following the specified date + + + + Calculates the first time an with + intervalType = will fire + after the specified date. See for more + information. + + + The UTC time after which to find the nearest fire time. + This argument is treated as exclusive 舒 that is, + if afterTime is a valid fire time for the trigger, it + will not be returned as the next fire time. + + the first time the trigger will fire following the specified + date + + + + + Gets or sets the day of the interval on which the + should fire. If the Nth + day of the interval does not exist (i.e. the 32nd of a + month), the trigger simply will never fire. N may not be less than 1. + + + + + Returns the interval type for the . + + + Sets the interval type for the . If + , the trigger will fire on the + Nth included day of every month. If + , the trigger will fire on the + Nth included day of every year. If + , the trigger will fire on the + Nth included day of every week. + + + + + + + + Returns the fire time for the as a + string with the format "HH:MM[:SS]", with HH representing the + 24-hour clock hour of the fire time. Seconds are optional and their + inclusion depends on whether or not they were provided to + . + + + + + Returns the for the + . + + +

+ Because of the conceptual design of , + it is not always possible to decide with certainty that the trigger + will never fire again. Therefore, it will search for the next + fire time up to a given cutoff. These cutoffs can be changed by using the + property. The default cutoff is 12 + of the intervals specified by intervalType" />. +

+

+ Because of the conceptual design of , + it is not always possible to decide with certainty that the trigger + will never fire again. Therefore, it will search for the next + fire time up to a given cutoff. These cutoffs can be changed by using the + method. The default cutoff is 12 + of the intervals specified by intervalType". +

+

+ In most cases, the default value of this setting (12) is sufficient (it + is highly unlikely, for example, that you will need to look at more than + 12 months of dates to ensure that your trigger will never fire again). + However, this setting is included to allow for the rare exceptions where + this might not be true. +

+

+ For example, if your trigger is associated with a calendar that excludes + a great many dates in the next 12 months, and hardly any following that, + it is possible (if is large enough) that you could run + into this situation. +

+
+
+ + + Returns the last UTC time the will fire. + If the trigger will not fire at any point between + and , will be returned. + + the last time the trigger will fire. + + + + Tells whether this Trigger instance can handle events + in millisecond precision. + + + + + + Sets or gets the time zone in which the will be resolved. + If no time zone is provided, then the default time zone will be used. + + + + + + + Gets or sets the trigger's calendar week rule. + + The trigger calendar week rule. + + + + Gets or sets the trigger's calendar first day of week rule. + + The trigger calendar first day of week. + + + + 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 + + +

+ 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 exception that is thrown to indicate that there is a misconfiguration of + the - or one of the components it + configures. + + James House + + + + 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. + + + + Holds context/environment data that can be made available to Jobs as they + are executed. + + + James House + + + + Create an empty . + + + + + Create a with the given data. + + + + + Instructs Scheduler what to do with a trigger and job. + + + + + 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 + abilitiy 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 + + + + 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. + 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. + + + + + 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) + + + + 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. + + + + + Set the next UTC time at which the should fire. + This method should not be invoked by client code. + + + + + Set the previous UTC time at which the fired. + This method should not be invoked by client code. + + + + + 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 thhe 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. + + + + + + All trigger states known to Scheduler. + + + + + 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 is a and it is + currently executing. + + + + + + Indicates that the does not exist. + + + + + Convenience and utility methods for simplifying the construction and + configuration of s. + + + Please submit suggestions for additional convenience methods to either the + Quartz user forum or the developer's mail list at + source forge. + + + + James House + + + + Constant indicating last day of month. + + + + + Milliseconds in minute. + + + + + Milliseconds in hour. + + + + + Seconds in day. + + + + + Milliseconds in day. + + + + + Initializes a new instance of the class. + + + + + Set the given 's name to the given value, and its + group to the default group (). + + the tigger to change name to + the new trigger name + + + + Set the given 's name to the given value, and its + group to the given group. + + the tigger to change name to + the new trigger name + the new trigger group + + + + Make a trigger that will fire every day at the given time. +

+ The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. +

+
+ the hour (0-23) upon which to fire + the minute (0-59) upon which to fire + the new trigger +
+ + + Make a trigger that will fire every day at the given time. +

+ The generated trigger will not have its group or end-time set. + The Start time defaults to 'now'. +

+
+ the trigger's name + the hour (0-23) upon which to fire + the minute (0-59) upon which to fire + the newly created trigger +
+ + + Make a trigger that will fire every week at the given day and time. +

+ The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. +

+
+ (1-7) the day of week upon which to fire + the hour (0-23) upon which to fire + the minute (0-59) upon which to fire + the new trigger +
+ + + Make a trigger that will fire every week at the given day and time. +

+ The generated trigger will not have its group, + or end-time set. The Start time defaults to 'now'. +

+
+ the trigger's name + the day of week upon which to fire + the hour (0-23) upon which to fire + the minute (0-59) upon which to fire + the newly created trigger +
+ + + Make a trigger that will fire every month at the given day and time. +

+ The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. +

+

+ If the day of the month specified does not occur in a given month, a + firing will not occur that month. (i.e. if dayOfMonth is specified as + 31, no firing will occur in the months of the year with fewer than 31 + days). +

+
+ (1-31, or -1) the day of week upon which to fire + the hour (0-23) upon which to fire + the minute (0-59) upon which to fire + the newly created trigger +
+ + + Make a trigger that will fire every month at the given day and time. +

+ The generated trigger will not have its group, + or end-time set. The Start time defaults to 'now'. +

+

+ If the day of the month specified does not occur in a given month, a + firing will not occur that month. (i.e. if dayOfMonth is specified as + 31, no firing will occur in the months of the year with fewer than 31 + days). +

+
+ the trigger's name + (1-31, or -1) the day of week upon which to fire + the hour (0-23) upon which to fire + the minute (0-59) upon which to fire + the newly created trigger +
+ + + Make a trigger that will fire times, waiting + between each fire. + + + The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. + + the newly created trigger + + + + Make a trigger that will fire times, waiting + between each fire. +

+ The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. +

+
+ the trigger's name + the new trigger +
+ + + Make a trigger that will fire every second, indefinitely. +

+ The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. +

+
+ the new trigger +
+ + + Make a trigger that will fire every second, indefinitely. +

+ The generated trigger will not have its group, + or end-time set. The Start time defaults to 'now'. +

+
+ the trigger's name + the new trigger +
+ + + Make a trigger that will fire every N seconds, indefinitely. +

+ The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. +

+
+ the number of seconds between firings + the new trigger +
+ + + Make a trigger that will fire every N seconds, with the given number of + repeats. +

+ The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. +

+
+ the number of seconds between firings + the number of times to repeat the firing + the new trigger +
+ + + Make a trigger that will fire every N seconds, with the given number of + repeats. +

+ The generated trigger will not have its group, + or end-time set. The Start time defaults to 'now'. +

+
+ the trigger's name + the number of seconds between firings + the number of times to repeat the firing + the new trigger +
+ + + Make a trigger that will fire every minute, indefinitely. +

+ The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. +

+
+ the new trigger +
+ + + Make a trigger that will fire every minute, indefinitely. +

+ The generated trigger will not have its group, + or end-time set. The Start time defaults to 'now'. +

+
+ the trigger's name + the new trigger +
+ + + Make a trigger that will fire every N minutes, indefinitely. +

+ The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. +

+
+ the number of minutes between firings + the new trigger +
+ + + Make a trigger that will fire every N minutes, with the given number of + repeats. +

+ The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. +

+
+ the number of minutes between firings + the number of times to repeat the firing + the new trigger +
+ + + Make a trigger that will fire every N minutes, with the given number of + repeats. +

+ The generated trigger will not have its group, + or end-time set. The Start time defaults to 'now'. +

+
+ the trigger's name + the number of minutes between firings + the number of times to repeat the firing + the new trigger +
+ + + Make a trigger that will fire every hour, indefinitely. +

+ The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. +

+
+ the new trigger +
+ + + Make a trigger that will fire every hour, indefinitely. +

+ The generated trigger will not have its group, + or end-time set. The Start time defaults to 'now'. +

+
+ the trigger's name + the new trigger +
+ + + Make a trigger that will fire every N hours, indefinitely. +

+ The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. +

+
+ the number of hours between firings + the new trigger +
+ + + Make a trigger that will fire every N hours, with the given number of + repeats. +

+ The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. +

+
+ the number of hours between firings + the number of times to repeat the firing + the new trigger +
+ + + Make a trigger that will fire every N hours, with the given number of + repeats. +

+ The generated trigger will not have its group, + or end-time set. The Start time defaults to 'now'. +

+
+ the trigger's name + the number of hours between firings + the number of times to repeat the firing + the new trigger +
+ + + 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 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 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 TimeMinute-BaseResult Time
11:16:412011:20:00
11:36:412011:40:00
11:46:412012:00:00
11:26:413011:30:00
11:36:413012:00:00
11:16:411711:17:00
11:17:411711:34:00
11:52:411712:00:00
11:52:41511:55:00
11:57:41512:00:00
11:17:41012:00:00
11:17:41111: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. + The second base. + +
+ + + 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 + + + + 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 occured 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 +
+ + + Translate a date and time from a users timezone to the another + (probably server) timezone to assist in creating a simple trigger with + the right date and time. + + the date to translate + the original time-zone + the destination time-zone + the translated UTC date + + + + Gets the offset from UT for the given date in the given timezone, + taking into account daylight savings. + + the date that is the base for the offset + the time-zone to calculate to offset to + the offset + + + + This functions determines if the TimeZone uses daylight saving time + + TimeZone instance to validate + True or false depending if daylight savings time is used + + + + An exception that is thrown to indicate that a call to + failed without interrupting the Job. + + + James House + + + + 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. + +
+
diff --git a/lib/Net/4.0/Quartz.dll b/lib/Net/4.0/Quartz.dll new file mode 100644 index 00000000..d0aeb954 Binary files /dev/null and b/lib/Net/4.0/Quartz.dll differ diff --git a/lib/Net/4.0/Quartz.xml b/lib/Net/4.0/Quartz.xml new file mode 100644 index 00000000..76eeeb5b --- /dev/null +++ b/lib/Net/4.0/Quartz.xml @@ -0,0 +1,17105 @@ + + + + Quartz + + + + + Collection manipulation related utility methods. + + + + + Removes the specified item from list of items and returns + whether removal was success. + + The items to remove from. + The item to remove. + + + + + A hash based set. + + + + + Represents a collection ob objects that contains no duplicate elements. + + + + + Adds a new element to the Collection if it is not already present. + + The object to add to the collection. + Returns true if the object was added to the collection, otherwise false. + + + + Adds all the elements of the specified collection to the Set. + + Collection of objects to add. + true + + + + Returns the first item in the set. + + First object. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The whose elements are copied to the new list. + + is . + + + + Initializes a new instance of the class. + + The capacity. + + + + Unmodifiables the hash set. + + The collection. + + + + + Adds a new element to the ArrayList if it is not already present. + + Element to insert to the ArrayList. + Returns true if the new element was inserted, false otherwise. + + + + Adds all the elements of the specified collection that are not present to the list. + + Collection where the new elements will be added + Returns true if at least one element was added, false otherwise. + + + + Returns the first item in the set. + + First object. + + + + Returns a copy of the HashSet instance. + + Returns a shallow copy of the current HashSet. + + + + A sorted set. + + + + + 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. + + + + SupportClass for the TreeSet class. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The whose elements are copied to the new list. + + is . + + + + Initializes a new instance of the class. + + The c. + + + + Unmodifiables the tree set. + + The collection. + + + + + Adds a new element to the ArrayList if it is not already present and sorts the ArrayList. + + Element to insert to the ArrayList. + TRUE if the new element was inserted, FALSE otherwise. + + + + Adds all the elements of the specified collection that are not present to the list. + + Collection where the new elements will be added + Returns true if at least one element was added to the collection. + + + + Returns the first item in the set. + + First object. + + + + Determines whether an element is in the the current TreeSetSupport collection. The IComparer defined for + the current set will be used to make comparisons between the elements already inserted in the collection and + the item specified. + + The object to be locatet in the current collection. + true if item is found in the collection; otherwise, false. + + + + 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. + + + + Gets the IComparator object used to sort this set. + + + + + Responsible for creating the instances of + to be used within the instance. + + + Although this interface looks a lot like an 'object pool', implementations + do not have to support the re-use of instances. If an implementation does + not wish to pool instances, then the + method would simply create a new instance, and the + method would do nothing. + + 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, and a handle to the + that the shell will use in its own + operations with the . + + + + + Called by the + to obtain instances of . + + + + + Called by the + to return 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) +
+ + + This interface should be implemented by any class whose instances are intended + to be executed by a thread. + + + + + 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. + + A handle to the that produced + this . + The instance that should be made + available within the . + the that should be used by the + when making updates to the . + + + + Initializes the job execution context with given scheduler and bundle. + + The scheduler. + The bundle offired triggers. + + + + 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. + + + + + Completes the trigger retry loop. + + The trigger. + The job detail. + The inst code. + + + + + Vetoeds the job retry loop. + + The trigger. + The job detail. + The inst code. + + + + + 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) + + + + Starts this instance. + + + + + Standbies this instance. + + + + + Shutdowns this instance. + + + + + returns true if the given JobGroup + is paused + + The scheduling context. + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + + Initializes the class. + + + + + Get the global + that has the given name. + + + + + + + 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 garbae 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 scheduling context. + The name of the to be removed. + The group name of the to be removed. + 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. + + + + + Trigger the identified (Execute it + now) - with a volatile trigger. + + + + + 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 + given group. +

+ If any missed one or more fire-times, then the + 's misfire instruction will be applied. +

+
+
+ + + Gets the paused trigger groups. + + The the job scheduling context. + + + + + 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 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 given group. + + + + + Get the for the + instance with the given name and group. + + + + + Get the instance with the given name and + group. + + + + + 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 + 'sglobal list. +

+ Listeners in the 'global' list receive notification of execution events + for ALL s. +

+
+
+ + + Add the given to the + 's list, of registered s. + + + + + Remove the given from the + 's list of global listeners. + + + true if the identifed listener was found in the list, and removed. + + + + + Remove the identifed from the 's + list of global listeners. + + + true if the identifed listener was found in the list, and removed. + + + + Remove the identifed from + the 's list of registered listeners. + + + true if the identifed listener was found in the list, and removed. + + + + + Get the non-global that has the given name. + + + + + Add the given to the + 'sglobal list. +

+ Listeners in the 'global' list receive notification of execution events + for ALL s. +

+
+
+ + + Add the given to the + 's list, of registered s. + + + + + Remove the given from + the 's list of global listeners. + + + true if the identifed listener was found in the list, and removed. + + + + + Remove the identifed from the 's + list of global listeners. + + + true if the identifed listener was found in the list, and removed + + + + Remove the identifed + from the 's list of registered listeners. + + + true if the identifed listener was found in the list, and removed. + + + + + Get the non-global + that has the given name. + + + + + Get the global that + has the given name. + + + + + + + Register the given with the + . + + + + + Remove the given from the + . + + + true if the identifed listener was found in the list, and removed. + + + + + Notifies the job store job complete. + + The job scheduling context. + 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 executution 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 exucution 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. + + Name of the trigger. + The trigger group. + + + + Notifies the scheduler listeners about finalized trigger. + + The trigger. + + + + Notifies the scheduler listeners about paused trigger. + + The name. + The group. + + + + Notifies the scheduler listeners resumed trigger. + + The name. + The group. + + + + Notifies the scheduler listeners about paused job. + + The name. + The group. + + + + Notifies the scheduler listeners about resumed job. + + The name. + The group. + + + + Notifies the scheduler listeners about scheduler shutdown. + + + + + Interrupt all instances of the identified InterruptableJob. + + + + + 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 schduler 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 + s in the 'sglobal list. + + + + + Get a Set containing the names of all the non-global + s registered with the . + + + + + Get a list containing all of the + s in the 'sglobal list. + + + + + Get a Set containing the names of all the non-global + s registered with the . + + + + + Get a List containing all of the + 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. + + + + Helper class to start scheduler in a delayed fashion. + + + + + ErrorLogger - Scheduler Listener Class + + + + + 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. + + + + + + The interface to be implemented by classes that want to be informed of major + events. + + + + + James House + + + + 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 when a + or group of s has been paused. +

+ If a group was paused, then the parameter + will be null. +

+
+ Name of the trigger. + The trigger group. +
+ + + Called by the when a + or group of s has been un-paused. +

+ If a group was resumed, then the parameter + will be null. +

+
+ Name of the trigger. + The trigger group. +
+ + + Called by the when a + or group of s has been paused. +

+ If a group was paused, then the parameter will be + null. If all jobs were paused, then both parameters will be null. +

+
+ Name of the job. + The job group. +
+ + + Called by the when a + or group of s has been un-paused. +

+ If a group was resumed, 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 serious error has + occured within the scheduler - such as repeated failures in the , + or the inability to instantiate a instance when its + has fired. +

+ The property of the given SchedulerException + can be used to determine more specific information about the type of + error that was encountered. +

+
+
+ + + Called by the to inform the listener + that it has Shutdown. + + + + + Get the for this + type's category. This should be used by subclasses for logging. + + + + + 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 + + + + Called by the when a + is about to be executed (an associated + has occured). +

+ 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 occured), 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 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 + + + + + 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 + + + + Initializes a new instance of the Thread class. + + A ThreadStart delegate that references the methods to be invoked when this thread begins executing + + + + Initializes a new instance of the Thread class. + + A ThreadStart delegate that references the methods to be invoked when this thread begins executing + 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 + + + + + Blocks the calling thread until a thread terminates or the specified time elapses + + Time of wait in milliseconds + + + + Blocks the calling thread until a thread terminates or the specified time elapses + + Time of wait in milliseconds + Time of wait in nanoseconds + + + + Resumes a thread that has been suspended + + + + + Raises a ThreadAbortException in the thread on which it is invoked, + to begin the process of terminating the thread. Calling this method + usually terminates the thread + + + + + Raises a ThreadAbortException in the thread on which it is invoked, + to begin the process of terminating the thread while also providing + exception information about the thread termination. + Calling this method usually terminates the thread. + + An object that contains application-specific information, such as state, which can be used by the thread being aborted + + + + Suspends the thread, if the thread is already suspended it has no effect + + + + + Obtain a string that represents the current object + + A string that represents the current object + + + + Gets the currently running thread + + The currently running thread + + + + Gets the current thread instance + + + + + Gets or sets the name of the thread + + + + + Gets or sets a value indicating the scheduling priority of a thread + + + + + Gets a value indicating the execution status of the current 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 occuring 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 . + + + + + Trigger retry loop that is executed on error condition. + + The bndle. + + + + Releases the trigger retry loop. + + The trigger. + + + + 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. + + + + Gets or sets the db failure retry interval. + + The db failure retry interval. + + + + 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 + + + + 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. + + + + + 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. + + + + + An object used to pass information about the 'client' to the . + + + James House + Marko Lahma (.NET) + + + + get the instanceId in the cluster. + +

+ Set the instanceId. +

+
+
+ + + Metadata information about specific ADO.NET driver library. Metadata is used to + create correct types of object instances to interact with the underlying + database. + + + + + 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. + + + + + + + + + + + + + + + Returns a new command object for executing SQL statments/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. + + + + + Registers DB metadata information for given provider name. + + + + + + + Initializes a new instance of the class. + + Name of the db provider. + The connection string. + + + + Returns a new command object for executing SQL statments/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. + + + + Summary description for DbProviderFactory. + + + + + This interface can be implemented by any + class that needs to use the constants contained herein. + + Jeffrey Wescott + James House + + + @deprecated Whether a trigger has misfired is no longer a state, but + rather now identified dynamically by whether the trigger's next fire + time is more than the misfire threshold time in the past. + + + + This class contains utility functions for use in all delegate classes. + + Jeffrey Wescott + + + + Replace the table prefix in a query by replacing any occurrences of + "{0}" with the table prefix. + + The unsubstitued query + The table prefix + The query, with proper table prefix substituted + + + + Obtain a unique key for a given job. + + The job name + The group containing the job + + A unique key + + + + Obtain a unique key for a given trigger. + + The trigger name + The group containing the trigger + A unique key + + + + 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. + + + + + This class extends + to include the query string constants in use by the + class. + + Jeffrey Wescott + + + + An interface for providing thread/resource locking in order to protect + resources from being altered by multiple threads at the same time. + + James House + + + + 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. + + + + + 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. + + + + + Initializes a new instance of the class. + + The table prefix. + 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. + + + + A FirebirdDelegate specific driver delegate. + + Marko Lahma + + + + 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) +
+ + + 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 + + + + Delete all volatile fired triggers. + + The DB Connection + The number of rows deleted + + + + Get the names of all of the triggers that are volatile. + + The DB Connection + An array of see cref="Key" /> objects. + + + + Get the names of all of the jobs that are volatile. + + The DB Connection + An array of objects. + + + + 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 job name + The job group +
+ + + Delete all job listeners for the given job. + + The DB Connection + The name of the job + The group containing the job + The number of rows deleted + + + + Delete the job detail record for the given job. + + The DB Connection + the name of the job + Name of the group. + the number of rows deleted + + + + Check whether or not the given job is stateful. + + The DB Connection + The name of the job + The group containing the job + true if the job exists and is stateful, false otherwise + + + + Check whether or not the given job exists. + + The DB Connection + Name of the job. + Name of the group. + 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 + + + + Associate a listener with a job. + + The DB Connection + The job to associate with the listener. + The listener to insert. + The number of rows inserted. + + +

+ Get all of the listeners for a given job. +

+ +
+ The DB Connection + The job name whose listeners are wanted + The group containing the job + array of listener names +
+ + + Select the JobDetail object for a given job name / group name. + + The DB Connection + The job name whose listeners are wanted + The group containing 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 + The group containing the jobs + 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 simple trigger data. + + The DB Connection + The trigger to insert + The number of rows inserted + + + + Insert the blob trigger data. + + The DB Connection + The trigger to insert + The number of rows inserted + + + + Insert the cron trigger data. + + the DB Connection + The trigger. + 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 simple trigger data. + + the DB Connection + The trigger. + the number of rows updated + + + + Update the cron trigger data. + + the DB Connection + The trigger. + 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 + Name of the trigger. + Name of the group. + the number of rows updated + + + + Update the state for a given trigger. + + The DB Connection + The name of the trigger. + The group containing 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 name of the trigger. + The group containing 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 name of the trigger + The group containing 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 the all triggers to the given new state, if they are in one of + the given old states AND its next fire time is before the given time. + + 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 + The time before which the trigger's next fire time must be + int 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 group containing 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 of the triggers of the given group to the given new state, if + they are in the given old state. + + The DB connection + The group containing the triggers + 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 name of the job. + The group containing 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 name of the job + The group containing the job + The new state for the triggers + The old state of the triggers + the number of rows updated + + + + Delete all of the listeners associated with a given trigger. + + The DB Connection + The name of the trigger whose listeners will be deleted + The name of the group containing the trigger + the number of rows deleted + + + + Associate a listener with the given trigger. + + The DB Connectio + The trigger + The name of the listener to associate with the trigger + the number of rows inserted + + + + Select the listeners associated with a given trigger. + + The DB Connection + The name of the trigger + The group containing the trigger + array of trigger listener names + + + + Delete the simple trigger data for a trigger. + + The DB Connection + The name of the trigger + The group containing the trigger + The number of rows deleted + + + + Delete the BLOB trigger data for a trigger. + + The DB Connection + The name of the trigger + The group containing the trigger + The number of rows deleted + + + + Delete the cron trigger data for a trigger. + + The DB Connection + The name of the trigger + The group containing the trigger + the number of rows deleted + + + + Delete the base trigger data for a trigger. + + The DB Connection + The name of the trigger + The group containing the trigger + the number of rows deleted + + + + Select the number of triggers associated with a given job. + + The DB Connection + The name of the job + The group containing the job + the number of triggers for the given job + + + + Select the job to which the trigger is associated. + + The DB Connection + The name of the trigger + The group containing the trigger + The load helper. + + The object associated with the given trigger + + + + + Select the stateful jobs which are referenced by triggers in the given + trigger group. + + The DB Connection + The trigger group. + a List of Keys to jobs. + + + + Select the triggers for a job> + + The DB Connection + The name of the trigger + The group containing the trigger + 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 name of the trigger. + The group containing the trigger. + The object. + + + + + Select a trigger's JobDataMap. + + The DB Connection. + The name of the trigger. + The group containing the trigger. + The of the Trigger, never null, but possibly empty. + + + + Select a trigger's state value. + + The DB Connection. + The name of the trigger. + The group containing the trigger. + The object. + + + + Select a triggers status (state and next fire time). + + The DB Connection. + The name of the trigger. + The group containing 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. + The group containing the triggers. + 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 + Name of the job. + The job group. + + 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) + 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 state2. + The ts. + + + + + Selects the misfired triggers in states. + + The conn. + The state1. + The state2. + The ts. + The count. + The result list. + + + + + Create new StdAdoDelegate instance. + + the logger to use during execution + the prefix of all table names + The instance id. + The db provider. + + + + Create new StdAdoDelegate instance. + + the logger to use during execution + the prefix of all table names + The instance id. + The db provider. + if set to true [use properties]. + + + + 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 states that have + misfired - according to the given timestamp. No more than count will + be returned. + + The conn. + The state1. + The state2. + 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 states 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 + + + + 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. + + + + + 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 name of the job. + The group containing the job. + An array of objects + + + + Delete all job listeners for the given job. + + The DB Connection. + The name of the job. + The group containing the job. + The number of rows deleted. + + + + Delete the job detail record for the given job. + + the DB Connection + the name of the job + the group containing the job + the number of rows deleted + + + + Check whether or not the given job is stateful. + + the DB Connection + the name of the job + the group containing the job + + true if the job exists and is stateful, false otherwise + + + + + Check whether or not the given job exists. + + the DB Connection + the name of the job + the group containing 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 + + + + Associate a listener with a job. + + The DB Connection. + The job to associate with the listener. + The listener to insert. + The number of rows inserted. + + + + Get all of the listeners for a given job. + + The DB Connection. + The job name whose listeners are wanted. + The group containing the job. + Array of listener names. + + + + Select the JobDetail object for a given job name / group name. + + The DB Connection. + The job name whose listeners are wanted. + The group containing 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. + The group containing the jobs. + 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 simple trigger data. + + The DB Connection. + The trigger to insert. + The number of rows inserted. + + + + Insert the cron trigger data. + + the DB Connection + the trigger to insert + 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 simple trigger data. + + The DB Connection. + The trigger to insert. + The number of rows updated. + + + + Update the cron trigger data. + + The DB Connection. + The trigger to insert. + 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 name of the trigger. + The group containing the trigger. + true if the trigger exists, false otherwise + + + + Update the state for a given trigger. + + The DB Connection. + The name of the trigger. + The group containing 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 name of the trigger. + The group containing 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 the all triggers to the given new state, if they are in one of + the given old states AND its next fire time is before the given time. + + 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 + The time before which the trigger's next fire time must be + int 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 group containing 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 the given trigger to the given new state, if it is in the given + old state. + + the DB connection + the name of the trigger + the group containing 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 group containing the triggers + 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 name of the job + the group containing 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. + Name of the job. + Name of the group. + The state. + The old state. + + + + + Delete all of the listeners associated with a given trigger. + + the DB Connection + the name of the trigger whose listeners will be deleted + the name of the group containing the trigger + the number of rows deleted + + + + Associate a listener with the given trigger. + + the DB Connection + the trigger + the name of the listener to associate with the trigger + the number of rows inserted + + + + Select the listeners associated with a given trigger. + + the DB Connection + the name of the trigger + the group containing the trigger + + array of trigger listener names + + + + + Delete the simple trigger data for a trigger. + + the DB Connection + the name of the trigger + the group containing the trigger + the number of rows deleted + + + + Delete the cron trigger data for a trigger. + + the DB Connection + the name of the trigger + the group containing the trigger + the number of rows deleted + + + + Delete the cron trigger data for a trigger. + + the DB Connection + the name of the trigger + the group containing the trigger + the number of rows deleted + + + + Delete the base trigger data for a trigger. + + the DB Connection + the name of the trigger + the group containing the trigger + the number of rows deleted + + + + Select the number of triggers associated with a given job. + + the DB Connection + the name of the job + the group containing the job + the number of triggers for the given job + + + + Select the job to which the trigger is associated. + + the DB Connection + the name of the trigger + the group containing the trigger + The load helper. + The object associated with the given trigger + + + + Select the triggers for a job + + the DB Connection + the name of the trigger + the group containing the trigger + + 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. + + + + + Selects the stateful jobs of trigger group. + + The database connection. + Name of the group. + + + + + Select a trigger. + + the DB Connection + the name of the trigger + the group containing the trigger + The object + + + + Select a trigger's JobDataMap. + + the DB Connection + the name of the trigger + the group containing the trigger + The of the Trigger, never null, but possibly empty. + + + + Select a trigger's state value. + + the DB Connection + the name of the trigger + the group containing the trigger + The object + + + + Select a trigger status (state and next fire time). + + the DB Connection + the name of the trigger + the group containing 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 + the group containing the triggers + + 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) + A (never null, possibly empty) list of the identifiers (Key objects) of the next triggers to be fired. + + + + Gets the select next trigger to acquire SQL clause. + This can be overriden for a more performant, result limiting + SQL. For Example SQL Server, MySQL and SQLite support limiting returned rows. + + + + + + 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 + + + + 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. + Name of the job. + The job group. + + + + + Delete all volatile fired triggers. + + The DB Connection + The number of rows deleted + + + + 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 unsubstitued 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. + + + + Get the names of all of the triggers that are volatile. + + The DB Connection + An array of objects. + + + + Get the names of all of the jobs that are volatile. + + The DB Connection + An array of objects. + + + + 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 triggers to acquire limit. + + The triggers to acquire limit. + + + + Initializes a new instance of the class. + + the logger to use during execution + the prefix of all table names + The instance id. + The db provider. + + + + Initializes a new instance of the class. + + The logger. + The table prefix. + The instance id. + The db provider. + if set to true [use properties]. + + + + Creates the SQL for select next trigger to acquire. + + + + + Gets the select next trigger to acquire SQL clause. + Firebird specific version with FIRST functionality + + + + + + Conveys the state of a fired-trigger record. + + James House + + + + Gets or sets the fire instance id. + + The fire instance id. + + + + Gets or sets the fire timestamp. + + The fire timestamp. + + + + Gets or sets a value indicating whether [job is stateful]. + + true if [job is stateful]; otherwise, false. + + + + 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 a value indicating whether [trigger is volatile]. + + true if [trigger is volatile]; 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 + + + + + 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 + + + + 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 MSG. + The error code. + + + + Initializes a new instance of the class. + + The cause. + + + + Initializes a new instance of the class. + + The MSG. + The cause. + + + + Initializes a new instance of the class. + + The MSG. + The cause. + The error code. + + + + Creates and returns a string representation of the current exception. + + + A string representation of the current exception. + + + + + + Return the exception that is the underlying cause of this exception. + This may be used to find more detail about the cause of the error. + + The underlying exception, or if there is not + one. + + + + + Get the error code associated with this exception. + This may be used to find more detail about the cause of the error. + + + One of the ERR_XXX constants defined in this class. + + + +

+ Determine if the specified error code is in the + category of errors. +

+
+
+ +

+ Determine if the specified error code is in the + category of errors. +

+
+
+ + + Determine if the specified error code is in the + category of errors. + + + + + Determine if the specified error code is in the + category of errors. + + + + + Determine if the specified error code is in the + category of errors. + + + + + Determine if the specified error code is in the + category of errors. + + + + + 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 + + + + 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 + + + + 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 that + it should free up all of it's resources because the scheduler is + shutting down. + + + + + Store the given and . + + The scheduling context. + 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 context. + 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 removal of the results in an empty group, the + group should be removed from the 's list of + known group names. + + The context. + The name of the to be removed. + The group name of the to be removed. + + if a with the given name and + group was found and removed from the store. + + + + + Retrieve the for the given + . + + The context. + The name of the to be retrieved. + The group name of the to be retrieved. + + The desired , or null if there is no match. + + + + + Store the given . + + The context. + 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 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 context. + The name of the to be removed. + The group name of the to be removed. + + 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 context. + The name of the to be removed. + The group name of the to be removed. + The new to be stored. + + if a with the given + name and group was found and removed from the store. + + + + + Retrieve the given . + + The context. + The name of the to be retrieved. + The group name of the to be retrieved. + + The desired , or null if there is no + match. + + + + + Store the given . + + The context. + 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 context. + The name of the to be removed. + + if a with the given name + was found and removed from the store. + + + + + Retrieve the given . + + The context. + 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 . + + The context. + + + + + Get the number of s that are + stored in the . + + The context. + + + + + Get the number of s that are + stored in the . + + The context. + + + + + 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 ). +

+
+ The CTX. + Name of the group. + +
+ + + 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 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 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 given group. +

+ If any missed one or more fire-times, then the + 's misfire instruction will be applied. +

+
+
+ + + Gets the paused trigger groups. + + The context. + + + + + 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 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. + + The context. + 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). + + null if the trigger or it's job or calendar no longer exist, or + if the trigger was not successfully put into the 'executing' + state. + + + + + 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. + + + + + Supports the persistence. + + + + + + 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 that + it should free up all of it's resources because the scheduler is + shutting down. + + + + + Removes all volatile data. + + + + + Removes all volatile data. + + + + + 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 . + + SchedulingContext + 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. + + + The name of the to be removed. + The group name of the to be removed. + + 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 name of the to be retrieved. + The group name of the to be retrieved. + 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 name of the to be removed. + The group name of the to be removed. + + if a with the given + name & group was found and removed from the store. + +
+ + + + + + Retrieve the given . + + The name of the to be retrieved. + The group name of the to be retrieved. + 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 CTXT. + Name of the trigger. + Name of the group. + + + + + 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 ). + + + + + 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 aquired the given lock. + Depending on the JobStore, the surrounding transaction may be + assumed to be already present (managed). This version is just a + handy wrapper around executeInLock that doesn't require a return + value. + + + The name of the lock to aquire, for example + "TRIGGER_ACCESS". If null, then no lock is aquired, but the + lockCallback is still executed in a transaction. + + + + + + Execute the given callback having aquired the given lock. + Depending on the JobStore, the surrounding transaction may be + assumed to be already present (managed). + + + The name of the lock to aquire, for example + "TRIGGER_ACCESS". If null, then no lock is aquired, but the + lockCallback is still executed in a transaction. + + + + + Execute the given callback having optionally aquired the given lock. + This uses the non-managed transaction connection. This version is just a + handy wrapper around executeInNonManagedTXLock that doesn't require a return + value. + + + The name of the lock to aquire, for example + "TRIGGER_ACCESS". If null, then no lock is aquired, but the + lockCallback is still executed in a non-managed transaction. + + + + + + Execute the given callback having optionally aquired the given lock. + This uses the non-managed transaction connection. + + + The name of the lock to aquire, for example + "TRIGGER_ACCESS". If null, then no lock is aquired, but the + lockCallback is still executed in a non-managed transaction. + + + + + Get or set the datasource name. + + + + + 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). + + + + + 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. + + + 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 helpfull 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. + + + + + Get or set the ADO.NET driver delegate class name. + + + + + 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. + + + + + + + Implement this interface to provide the code to execute within + the a transaction template that has no return value. + + + + + + Implement this interface to provide the code to execute within + the a transaction template. If no return value is required, execute + should just return null. + + + + + + + + An interface for classes wishing to provide the service of loading classes + and resources within the scheduler... + + James House + + + + Called to give the ClassLoadHelper a chance to Initialize itself, + including the oportunity 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 aquired 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 aquire, for example + "TRIGGER_ACCESS". If null, then no lock is aquired, but the + txCallback is still executed in a transaction. + + Callback to execute. + + + + Utility class to keep track of both active transaction + and connection. + + + + + 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. + + + + is meant to be used in a standalone environment. + Both commit and rollback will be handled by this class. + + Jeffrey Wescott + James House + + + + 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 aquired 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 aquire, for example "TRIGGER_ACCESS". + If null, then no lock is aquired, 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 + + + + An exception that is thrown to indicate that there has been a failure in the + scheduler's underlying persistence mechanism. + + James House + + + +

+ 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 error code. +

+
+
+ +

+ Create a with the given message + and cause. +

+
+
+ +

+ Create a with the given message, + cause and error code. +

+
+
+ + + 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 + + + + Initializes a new instance of the class. + + the logger to use during execution + the prefix of all table names + The instance id. + The db provider. + + + + Initializes a new instance of the class. + + The logger. + The table prefix. + The instance id. + The db provider. + if set to true [use properties]. + + + + 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 + + + + 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 + + + + Initializes a new instance of the class. + + the logger to use during execution + the prefix of all table names + The instance id. + The db provider. + + + + Initializes a new instance of the class. + + The logger. + The table prefix. + The instance id. + The db provider. + if set to true [use properties]. + + + + Creates the SQL for select next trigger to acquire. + + + + + Gets the select next trigger to acquire SQL clause. + Oracle version with rownum support. + + + + + + This is a driver delegate for the PostgreSQL ADO.NET driver. + + Marko Lahma + + + + Initializes a new instance of the class. + + The log. + The table prefix. + The instance id. + The db provider. + + + + Initializes a new instance of the class. + + The log. + The table prefix. + The instance id. + The db provider. + if set to true [use properties]. + + + + Gets the select next trigger to acquire SQL clause. + PostgreSQL version with LIMIT support. + + + + + + Conveys a scheduler-instance state record. + + James House + + + + 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 + + + + 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 + + + + Initializes a new instance of the class. + + the logger to use during execution + the prefix of all table names + The instance id. + The db provider. + + + + Initializes a new instance of the class. + + The logger. + The table prefix. + The instance id. + The db provider. + if set to true [use properties]. + + + + Gets the select next trigger to acquire SQL clause. + SQLite version with LIMIT support. + + + + + + A SQL Server specific driver delegate. + + Marko Lahma + + + + Initializes a new instance of the class. + + the logger to use during execution + the prefix of all table names + The instance id. + The db provider. + + + + Initializes a new instance of the class. + + The logger. + The table prefix. + The instance id. + The db provider. + if set to true [use properties]. + + + + Creates the SQL for select next trigger to acquire. + + + + + 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 + + + + Initializes a new instance of the class. + + The table prefix. + The select with lock SQL. + + + + Execute the SQL select for update that will lock the proper database row. + + + + 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" type syntax, for example + Microsoft SQLServer (MSSQL). + + + + + 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 + + + + 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 + + + + An interface to be implemented by objects that define spaces of time during + which an associated may 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) + + James House + Juergen Donnerstag + + + + 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. + + + + 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. + + + + + + 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. + + + + Return true, if day is defined to be exluded. + + + + + 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 +
+ + + 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 + + + + + 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. + + + + + + + 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 +
+ + + 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) +
  • +
+
+
+ + + 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. +
+ + + 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 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 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 range starting time in millis. + The range ending time in millis. +
+ + + 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, pratically 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 + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The base calendar. + + + + 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. +

+
+
+ + + 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 + + + + Initializes a new instance of the class. + + + + + Constructor + + The base calendar. + + + + Initialize internal variables + + + + + Return true, if mday is defined to be exluded. + + + + + 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. +

+
+
+ + + 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 + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The base calendar. + + + + Initialize internal variables + + + + + Return true, if wday is defined to be exluded. E. g. + saturday and sunday. + + + + + Redefine a certain day of the week to be excluded (true) or included + (false). Use java.util.Calendar's constants like MONDAY to determine the + wday. + + + + + 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. + + + + + 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, ThreadPool threadPool, JobStore jobStore, string rmiRegistryHost, int rmiRegistryPort)
+            
+

+ Here is an example of using this method: +

+
+            // create the thread pool 
+            SimpleThreadPool threadPool = new SimpleThreadPool(maxThreads, Thread.NORM_PRIORITY); 
+            threadPool.Initialize(); 
+            // create the job store 
+            JobStore jobStore = new RAMJobStore(); 
+            jobStore.Initialize();
+            
+            DirectSchedulerFactory.Instance.CreateScheduler("My Quartz Scheduler", "My Instance", threadPool, jobStore, "localhost", 1099); 
+            // don't forget to start the scheduler: 
+            DirectSchedulerFactory.Instance.GetScheduler("My Quartz Scheduler", "My Instance").start();
+            
+
> + Mohammad Rezaei + James House + + +
+ + + Provides a mechanism for obtaining client-usable handles to + instances. + + + + James House + + + + 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 to RMI. + + 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 to RMI. + + 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. + + + + 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.). +

+
+
+ + + 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 + + + + 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. + + + The setup/configuration of a instance is very + customizable. Please consult the documentation distributed with Quartz. + + + + + + + + + + + + returns true if the given JobGroup + is paused + + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + Get a object describiing 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 groups that are paused. + + + + + Get the global that has + the given name. + + Global job listener's name + + + + + Get the global that + has the given name. + + Global trigger listener's name + + + + + 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 + . + + + 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. + + + + + 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 new trigger must have the job name & group specified) + - however, the new trigger need not have the same name as the old trigger. + + + The name of the to be replaced. + + + The group name of 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, 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. + + + + + Delete the identified from the Scheduler - and any + associated s. + + true if the Job was found and deleted. + + + + Trigger the identified + (Execute it now) - the generated trigger will be non-volatile. + + + + + Trigger the identified + (Execute it now) - the generated trigger will be volatile. + + + + + Trigger the identified + (Execute it now) - the generated trigger will be non-volatile. + + the name of the Job to trigger + the group name of the Job to trigger + + the (possibly ) JobDataMap to be + associated with the trigger that fires the job immediately. + + + + + Trigger the identified + (Execute it now) - the generated trigger will be volatile. + + the name of the Job to trigger + the group name of the Job to trigger + + the (possibly ) JobDataMap to be + associated with the trigger that fires the job immediately. + + + + + 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 Scheduler will "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. + + + + + + Pause the with the given name. + + + + + Pause all of the s in the given group. + + + The Scheduler will "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. + + + + + + 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. + + + + + + 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 + given group. + + + 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 names of all the s in the given group. + + + + + Get all s that are associated with the + identified . + + + + + Get the names of all the s in the given + group. + + + + + Get the for the + instance with the given name and group. + + + + + Get the instance with the given name and + group. + + + + + 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. + + 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 . + + An array of calendar names. + + + + 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. + + + +
+ + + Add the given to the 's + global list. + + + Listeners in the 'global' list receive notification of execution events + for ALL s. + + + + + Add the given to the 's + list, of registered s. + + + + + Remove the given from the 's + list of global listeners. + + + true if the identifed listener was found in the list, and removed. + + + + + Remove the identifed from the 's + list of global listeners. + + Global job listener's name + true if the identifed listener was found in the list, and removed + + + + Remove the identifed from the 's + list of registered listeners. + + + true if the identifed listener was found in the list, and removed. + + + + + Get the non-global that has + the given name. + + + + + Add the given to the 's + global list. + + + Listeners in the 'global' list receive notification of execution events + for ALL s. + + + + + Add the given to the 's + list, of registered s. + + + + + Remove the given from the 's + list of global listeners. + + + true if the identifed listener was found in the list, and removed. + + + + + Remove the identifed from the 's + list of global listeners. + + The name. + true if the identifed listener was found in the list, and removed. + + + + Remove the identifed from the + 's list of registered listeners. + + + true if the identifed listener was found in the list, and removed. + + + + + Get the non-global that + has the given name. + + + + + Register the given with the + + + + + Remove the given from the + . + + true if the identifed listener was found in the list, and + removed. + + + + + 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 opertunity for dependency injection. + + + + + + Get the names of all known groups. + + + + + Get the names of all known groups. + + + + + Get the names of all registered s. + + + + + Get a List containing all of the s in + the 'sglobal list. + + + + + Get a Set containing the names of all the non-global + s registered with the . + + + + + Get a List containing all of the + s in the 'sglobal list. + + + + + Get a Set containing the names of all the non-global + s registered with the . + + + + + Get a List containing all of the + s registered with 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. + + + + + + + + Construct a instance to proxy the given + RemoteableQuartzScheduler instance, and with the given + . + + + + + returns true if the given JobGroup + is paused + + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + Get a object describiing 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' . + + + + + Get the global that has + the given name. + + + + + + + Get the global that + has the given name. + + + + + + + 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' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Get the names of all registered . + + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Remove the identifed from the 's + list of global listeners. + + + + true if the identifed listener was found in the list, and removed + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + 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' . + + + + + Remove the identifed from the 's + list of global listeners. + + The name. + + true if the identifed listener was found in the list, and removed. + + + + + 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' . + + + + + Returns the name of the . + + + + + Returns the instance Id of the . + + + + + Gets or sets the remote scheduler address. + + The remote scheduler address. + + + + Returns the of the . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Gets a value indicating whether this instance is paused. + + true if this instance is paused; otherwise, false. + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equialent 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' . + + + + + 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 opertunity 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. + + + + + + + + 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. +

+ This implementation does not re-use any objects, it simply makes a new + JobRunShell each time is called. +

+
+ James House +
+ + + Initialize the factory, providing a handle to the + that should be made available within the and + the s within it, and a handle to the + that the shell will use in its own + operations with the . + + + + + Called by the to obtain instances of + . + + + + + Called by the to return instances of + . + + + + + An implementation of the interface that directly + proxies all method calls to the equivalent call on a given + instance. + + + + + James House + + + + returns true if the given JobGroup + is paused + + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + Get a object describiing 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' . + + + + + + + + + Get the global that has + the given name. + + + + + + + Get the global that + has the given name. + + + + + + + Construct a instance to proxy the given + instance, and with the given . + + + + + 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' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Get the names of all registered . + + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Remove the identifed from the 's + list of global listeners. + + + + true if the identifed listener was found in the list, and removed + + + + + 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' . + + + + + Remove the identifed from the 's + list of global listeners. + + The name. + + true if the identifed listener was found in the list, and removed. + + + + + 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' . + + + + + 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' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + Calls the equivalent method on the 'proxied' , + passing the associated with this + instance. + + + + + 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' . + + + + + + + + + An implementation of that + does all of it's work of creating a instance + based on the contenents of a properties file. + + +

+ By default a properties are loaded from App.config's quartz section. + If that fails, then the "quartz.properties" + file 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. +

+ +

+ Alternativly, 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) +
+ + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The props. + + + + Initialize the with + the contenents of a Properties file. + +

+ 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 a resource) in the org/quartz + package 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 contenents of the given Properties object. + + + + + + + + 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 the default Scheduler, creating it if it does not + yet exist. + + + + + +

+ Returns a handle to all known Schedulers (made by any + StdSchedulerFactory instance.). +

+
+
+ + + 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 + + + + + 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) + + + + 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. + + + + 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 + . + + James House + + + + + Ïnforms that certain file has been updated. + + Name of the file. + + + + Built in job for executing native executables in a separate process. + + Matthew Payne + James House + Steinar Overbeck Cook + + + + 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 workling 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 + + + + 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 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. + + + + Executes the job. + + The job execution context. + + + + 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 + + + + Construct an instance with the given List of listeners. + + The initial List of SchedulerListeners to broadcast to. + + + + Holds a List of references to JobListener instances and broadcasts all + events to them (in order) - if the event is not excluded via filtering + (read on). + + +

+ The broadcasting behavior of this listener to delegate listeners may be + more convenient than registering all of the listeners directly with the + Trigger, and provides the flexibility of easily changing which listeners + get notified. +

+ +

+ You may also register a number of Regular Expression patterns to match + the events against. If one or more patterns are registered, the broadcast + will only take place if the event applies to a job who's name/group + matches one or more of the patterns. +

+
+ + + + + + James House +
+ + Construct an instance with the given name. + + (Remember to add some delegate listeners!) + + @param name the name of this instance + + + Construct an instance with the given name, and List of listeners. + + @param name the name of this instance + @param listeners the initial List of JobListeners to broadcast to. + + + + If one or more name patterns are specified, only events relating to + jobs who's name matches the given regular expression pattern + will be dispatched to the delegate listeners. + + + + + + If one or more group patterns are specified, only events relating to + jobs who's group matches the given regular expression pattern + will be dispatched to the delegate listeners. + + + + + + Holds a List of references to TriggerListener instances and broadcasts all + events to them (in order) - if the event is not excluded via filtering + (read on). + + +

+ The broadcasting behavior of this listener to delegate listeners may be + more convenient than registering all of the listeners directly with the + Trigger, and provides the flexibility of easily changing which listeners + get notified. +

+ +

+ You may also register a number of Regular Expression patterns to match + the events against. If one or more patterns are registered, the broadcast + will only take place if the event applies to a trigger who's name/group + matches one or more of the patterns. +

+
+ + + + + + James House +
+ + + 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 + + + + 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. +

+
+ 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 + + + + If one or more name patterns are specified, only events relating to + triggers who's name matches the given regular expression pattern + will be dispatched to the delegate listeners. + + + + + + If one or more group patterns are specified, only events relating to + triggers who's group matches the given regular expression pattern + will be dispatched to the delegate listeners. + + + + + + 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 + messsage 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 +
+ + + 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 . +

+
+ +
+ + + Initializes a new instance of the class. + + + + + Called by the when a + is about to be executed (an associated + has occured). +

+ 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 occured), 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 Key with the name and group of the first job + a Key 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 . +

+
+ +
+ + + 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 vetos) 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: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementData TypeDescription
0StringThe Job's Name.
1StringThe Job's Group.
2DateThe current time.
3StringThe Trigger's name.
4StringThe Triggers's group.
5DateThe scheduled fire time.
6DateThe next scheduled fire time.
7IntegerThe re-fire count from the JobExecutionContext.
+ The default message text is "Job {1}.{0} fired (by trigger {4}.{3}) at: + {2, date, HH:mm:ss MM/dd/yyyy" +

+

+ JobSuccessMessage - available message data are: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementData TypeDescription
0StringThe Job's Name.
1StringThe Job's Group.
2DateThe current time.
3StringThe Trigger's name.
4StringThe Triggers's group.
5DateThe scheduled fire time.
6DateThe next scheduled fire time.
7IntegerThe re-fire count from the JobExecutionContext.
8ObjectThe 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, date, + HH:mm:ss MM/dd/yyyy} and reports: {8" +

+

+ JobFailedMessage - available message data are: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementData TypeDescription
0StringThe Job's Name.
1StringThe Job's Group.
2DateThe current time.
3StringThe Trigger's name.
4StringThe Triggers's group.
5DateThe scheduled fire time.
6DateThe next scheduled fire time.
7IntegerThe re-fire count from the JobExecutionContext.
8StringThe message from the thrown JobExecution Exception. +
+ The default message text is "Job {1}.{0} execution failed at {2, date, + HH:mm:ss MM/dd/yyyy} and reports: {8" +

+

+ JobWasVetoedMessage - available message data are: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementData TypeDescription
0StringThe Job's Name.
1StringThe Job's Group.
2DateThe current time.
3StringThe Trigger's name.
4StringThe Triggers's group.
5DateThe scheduled fire time.
6DateThe next scheduled fire time.
7IntegerThe 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, date, HH:mm:ss MM/dd/yyyy" +

+
+
+ + + 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 +
+ + + 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 occured), 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: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementData TypeDescription
0StringThe Trigger's Name.
1StringThe Trigger's Group.
2DateThe scheduled fire time.
3DateThe next scheduled fire time.
4DateThe actual fire time.
5StringThe Job's name.
6StringThe Job's group.
7IntegerThe 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: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementData TypeDescription
0StringThe Trigger's Name.
1StringThe Trigger's Group.
2DateThe scheduled fire time.
3DateThe next scheduled fire time.
4DateThe actual fire time. (the time the misfire was detected/handled)
5StringThe Job's name.
6StringThe 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: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ElementData TypeDescription
0StringThe Trigger's Name.
1StringThe Trigger's Group.
2DateThe scheduled fire time.
3DateThe next scheduled fire time.
4DateThe job completion time.
5StringThe Job's name.
6StringThe Job's group.
7IntegerThe re-fire count from the JobExecutionContext.
8IntegerThe trigger's resulting instruction code.
9StringA 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 +
+ + + 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 scheuler to Shutdown. + + + James House + + + + 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 . +

+
+ +
+ + + 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. + + + + + + Initializes a new instance of the class. + + The rule. + + + + Gets the rule. + + The rule. + + + + Possible parse rules for s. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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. + + + + + Whether or not jobs defined in the XML file should be overwrite existing + jobs with the same name. + + + + + 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 . + + + + + Whether or not the XML should be validated. Default is . + + + + + Whether or not the XML schema should be validated. Default is . + + + + + A uses all of the + types that are found in this package in its attempts to load a class, when + one scheme is found to work, it is promoted to the scheme that will be used + first the next time a class is loaded (in order to improve perfomance). + + + This approach is used because of the wide variance in class loader behavior + between the various environments in which Quartz runs (e.g. disparate + application servers, stand-alone, mobile devices, etc.). Because of this + disparity, Quartz ran into difficulty with a one class-load style fits-all + design. Thus, this class loader finds the approach that works, then + 'remembers' it. + + James House + + + + Called to give the ClassLoadHelper a chance to Initialize itself, + including the oportunity 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 + + + + + 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. +

+ +
+ + +
+ + + An IInstanceIdGenerator is responsible for generating the clusterwide unique + instance id for a nodde. +

+ 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. +

+ +
+ +
+ + Generate the instance id for a + + + The clusterwide unique instance id. + + + + + Generate the instance id for a + + The clusterwide unique instance id. + + + + A that uses either the loader of it's own + class. + + + + + James House + + + + Called to give the ClassLoadHelper a chance to Initialize itself, + including the oportunity 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 + + + + + A JobFactory that instantiates the Job instance (using the default no-arg + constructor, or more specifically: ), and + then attempts to set all values in the 's + onto bean properties of the . + + + + + + + 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 opertunity for dependency injection. + + + + + James House + + + + 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 wih instantiating the Job. +

+ +
+ + The TriggerFiredBundle from which the + and other info relating to the trigger firing can be obtained. + + SchedulerException if there is a problem instantiating the Job. + the newly instantiated Job + +
+ + + 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 wih 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. + + + + 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 wih 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 proptery 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 proptery 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 extrememly + 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. + + + + + 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 that + it should free up all of it's resources because the scheduler is + shutting down. + + + + + Store the given and . + + The scheduling context. + 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 scheduling context. + 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. + + The scheduling context. + The name of the to be removed. + The group name of the to be removed. + + if a with the given name and + group was found and removed from the store. + + + + + Remove (delete) the with the + given name. + + The scheduling context. + The name of the to be removed. + The group name of the to be removed. + + if a with the given + name and group was found and removed from the store. + + + + + Store the given . + + The scheduling context. + 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. + + The scheduling context. + The name of the to be removed. + The group name of the to be removed. + + if a with the given + name and group was found and removed from the store. + + Whether to delete orpahaned job details from scheduler if job becomes orphaned from removing the trigger. + + + + Replaces the trigger. + + The scheduling context. + Name of the trigger. + Name of the group. + The new trigger. + + + + + Retrieve the for the given + . + + The scheduling context. + The name of the to be retrieved. + The group name of the to be retrieved. + + The desired , or null if there is no match. + + + + + Retrieve the given . + + The scheduling context. + The name of the to be retrieved. + The group name of the to be retrieved. + + The desired , or null if there is no match. + + + + + Get the current state of the identified . + + + + + + + + + + + Store the given . + + The scheduling context. + 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 scheduling context. + The name of the to be removed. + + if a with the given name + was found and removed from the store. + +
+ + + Retrieve the given . + + The scheduling context. + 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. + + + + + 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. + + Name of the job. + Name of the group. + + + + + 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 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 + 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. + + Name of the job. + The job group. + The internal state to set. + + + + 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. + + + + + Gets the fired trigger record id. + + The fired trigger record id. + + + + Returns whether this instance supports persistence. + + + + + + + Comparer for triggers. + + + + + 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 . + + + + + Gets the trigger + + The trigger + + + + 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. + + + + + Sets the channel type when registering remoting. + + + + + + Sets the used when + exporting to remoting context. Defaults to + . + + + + + A that simply calls . + + + + James House + + + + Called to give the ClassLoadHelper a chance to Initialize itself, + including the oportunity 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 + + + + + The default InstanceIdGenerator used by Quartz when instance id is to be + automatically generated. Instance id is of the form HOSTNAME + CURRENT_TIME. + + + + + + + + + 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 +
+ + + 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 imballance of load. + + + James House + + + + 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 + + + + 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 size of the pool. + + The size of the pool. + + + + 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. + + + + 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. + + + + + This is class is a simple implementation of a zero size thread pool, based on the + {@link org.quartz.spi.ThreadPool} 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 + + + + 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. + + + + A simple class (structure) used for returning execution-time data from the + JobStore to the . + + + James House + + + + 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. + + + + + DateTime related utility methods. + + + + + Assumes that given input is in UTC and sets the kind to be UTC. + Just a precaution if somebody does not set it explicitly. + This only works in .NET Framework 2.0 onwards. + + The datetime to check. + DateTime with kind set to UTC. + + + + Assumes that given input is in UTC and sets the kind to be UTC. + Just a precaution if somebody does not set it explicitly. + + The datetime to check. + DateTime with kind set to UTC. + + + + Manages a collection of IDbProviders, and provides transparent access + to their database. + + + James House + Sharada Jambula + Mohammad Rezaei + + + + 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. + + a database connection + + + + 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 + + + + Create a DirtyFlagMap that 'wraps' a . + + + + + Create a DirtyFlagMap that 'wraps' a that has the + given initial capacity. + + + + + Create a DirtyFlagMap that 'wraps' a that has the + given initial capacity and load factor. + + + + + Creates a new object that is a copy of the current instance. + + + A new object that is a copy of this instance. + + + + + 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. + + + + + 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 + + + + + Utility class for storing two pieces of information together. + + Jeffrey Wescott + + + + Test equality of this object with that. + + object to compare + true if objects are equal, false otherwise + + + + 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 . + + + + + Get or sets the first object in the pair. + + + + + Get or sets the second object in the pair. + + + + 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 avaiable. + + 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. + + + + Utility methods that are used to convert objects from one type into another. + + Aleksandar Seovic + + + + 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. + + The type to instantiate. + + + + + 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 + + + + 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. + + + + An implementation of that wraps another + and flags itself 'dirty' when it is modified, enforces that all keys are + strings. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The initial capacity. + + + + Initializes a new instance of the class. + + The initial capacity. + The load factor. + + + + 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. + + + + + Adds the given serializable object value to 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 . + + + + + Object representing a job or trigger key. + + James House + + + + Construct a new TriggerStatus with the status name and nextFireTime. + + The trigger's status + The next UTC time the trigger will fire + + + + Return the string representation of the TriggerStatus. + + + + + Gets or sets the job key. + + The job key. + + + + Gets or sets the key. + + The key. + + + + Get the name portion of the key. + + the name + + + + Get the group portion of the key. + + the group + + + + Wraps a . + + Chris Bonham + + + + Gets or sets the name of the calendar. + + The name of the calendar. + + + + Gets or sets the name of the class. + + The name of the class. + + + + Gets or sets the calendar. + + The calendar. + + + + 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. + + + + + + Wraps a and . + + Chris Bonham + James House + + + + Adds a trigger to this bundle. + + The trigger. + + + + Removes the given trigger from this bundle. + + The trigger. + + + + Gets or sets the job detail. + + The job detail. + + + + Gets or sets the triggers associated with this bundle. + + The triggers. + + + + Gets the name of the bundle. + + The name. + + + + Gets the full name. + + The full name. + + + + Gets a value indicating whether this is valid. + + true if valid; otherwise, false. + + + + Parses an XML file that declares Jobs and their schedules (Triggers). + + +

+ The xml document must conform to the format defined in + "job_scheduling_data.xsd" +

+ +

+ After creating an instance of this class, you should call one of the + functions, after which you may call the + 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) +
+ + + XML Schema dateTime datatype format. +

+ See + http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#dateTime +

+
+
+ + + Constructor for JobSchedulingDataProcessor. + + + + + Constructor for JobSchedulingDataProcessor. + + whether or not to validate XML. + whether or not to validate XML schema. + + + + 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. + + + + + Process the xml file in the given location, and schedule all of the + jobs defined within it. + + meta data file name. + The scheduler. + if set to true overwrite existing jobs. + + + + 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. + if set to true [over write existing jobs]. + + + + Add the Jobs and Triggers defined in the given map of + s to the given scheduler. + + The job bundles. + The sched. + if set to true [over write existing jobs]. + + + + Returns a for the job name. + + The name. + + a for the job name. + + + + + Returns an from the fileName as a resource. + + Name of the file. + + an from the fileName as a resource. + + + + + Schedules a given job and trigger (both wrapped by a ). + + job wrapper. + + if the Job or Trigger cannot be added to the Scheduler, or + there is an internal Scheduler error. + + + + + Schedules a given job and trigger (both wrapped by a ). + + The job. + The sched. + if set to true [local over write existing jobs]. + + if the Job or Trigger cannot be added to the Scheduler, or + there is an internal Scheduler error. + + + + + Adds a scheduled job. + + The job. + + + + Adds a calendar. + + The sched. + calendar bundle. + SchedulerException if the Calendar cannot be added to the Scheduler, or + + + + 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. + + + + + Gets or sets whether to overwrite existing jobs. + + + + + Gets the log. + + The log. + + + + Returns a of scheduled jobs. +

+ The key is the job name and the value is a + containing the and . +

+
+ a of scheduled jobs. + +
+ + + Helper class to map constant names to their values. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reports JobSchedulingDataProcessor validation exceptions. + + Chris Bonham + + + + Constructor for ValidationException. + + + + + Constructor for ValidationException. + + exception message. + + + + Constructor for ValidationException. + + collection of validation exceptions. + + + + Gets the validation exceptions. + + The validation exceptions. + + + + Returns the detail message string. + + + + + An exception that is thrown to indicate that there has been a critical + failure within the scheduler's core services (such as loss of database + connectivity). + + James House + + + + 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. + + + + 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-2099 , - /// /
+

+ 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". When using the 'L' option, it + is important not to specify lists, or ranges of values, as you'll get + confusing 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 +
+ + + 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. + + + + + 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. + + + + + 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 +
+ + + 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 +
+ + + The default value for priority. + + + + + Remove all s from the . + + + + + 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. + + + + + Add the specified name of a to + the end of the 's list of listeners. + + Name of the listener. + + + + Remove the specified name of a + from the 's list of listeners. + + true if the given name was found in the list, and removed + + + + + 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 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. + + + + + 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. + + + + + 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 . + + + + + 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. +

+
+
+ + + Whether or not the should be persisted in the + for re-use after program restarts. +

+ If not explicitly set, the default value is . +

+
+
+ + + Returns an array of s containing the names of all + s assigned to the , + in the order in which they should be notified. + + + + + 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. +

+
+
+ + + Returns 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. + + 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. + + + + + 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. + + + + 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. + The group. + + + + 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. + The group. + The cron expression. + + + + 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. + The group. + Name of the job. + The job group. + + + + 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. + The group. + Name of the job. + The job group. + The cron expression. + + + + 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. + The group. + Name of the job. + The job group. + The cron expression. + The 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. + The group. + Name of the job. + The job group. + The start time. + The end time. + The cron expression. +
+ + + Create a with fire time dictated by the + resolved with respect to the specified + occuring from the until + the given . + + The name. + The group. + Name of the job. + The job group. + The start time. + The end time. + + + + 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 repeastCount 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. + + + + + + The interface to be implemented by s that provide a + mechanism for having their execution interrupted. It is NOT a requirment + 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 java source for the class + Quartz.Examples.Example7.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 + impplementation 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 (preferrably in a + block. +

+
+ + + James House +
+ + + Called by the when a user + interrupts the . + + void (nothing) if job interrupt is successful. + + + + Scheduler constants. + + + + + A (possibly) usefull 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 + ("MANUAL_TRIGGER") for thename of a 's group. + + + + + A constant group name used internally by the + scheduler - clients should not use the value of this constant + ("RECOVERING_JOBS") for thename 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 thename 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 + scheduled fire time of the original from a recovery + trigger's data map in the case of a job recovering after a failed scheduler + instance. + + + + + + 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. +

+ 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 +
+ + + Create an empty . + + + + + Create a with the given data. + + + + + 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 . + + + + + Retrieve the identified value from the . + + + + + Gets the date time. + + The key. + + + + + Gets the value behind the specified key. + + The key. + + + + + Conveys the detail properties of a given 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 + Sharada Jambula +
+ + + 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 , Scheduler.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 , Scheduler.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 , Scheduler.DefaultGroup will be used. + Type of the job. + if set to true, job will be volatile. + 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 . + + + + + Add the specified name of a to the + end of the 's list of listeners. + + + + + Remove the specified name of a from + the 's list of listeners. + + true if the given name was found in the list, and removed + + + + 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 not be persisted in the + for re-use after program + restarts. +

+ If not explicitly set, the default value is . +

+
+ if the should be garbage + collected along 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 or not the implements the interface . + + + + + Gets or sets an array of s containing the names of all + s assigned to the , + in the order in which they should be notified. Setting the array + clears any listener names that were in the list. + + + + + 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 + '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 RMI) - 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 +
+ + + Create a JobExcecutionContext 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 '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. + + + + + An exception that can be thrown by a + to indicate to the Quartz that an error + occured 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 + + + + Create a JobExcecutionException, with the 're-fire immediately' flag set + to . + + + + + Create a JobExcecutionException, with the given cause. + + The cause. + + + + Create a JobExcecutionException, with the given message. + + + + + Initializes a new instance of the class. + + The message. + The original cause. + + + + Create a JobExcecutionException with the 're-fire immediately' flag set + to the given value. + + + + + Create a JobExcecutionException with the given underlying exception, and + the 're-fire immediately' flag set to the given value. + + + + + Create a JobExcecutionException 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. + + + + Misfire instructions. + + + + + Instruction not set (yet). + + + + + Use smart policy. + + + + + 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 NthIncludedDayTrigger + + + + + Instructs the that upon a mis-fire situation, the + wants to be fired now by the + + + + + + Instructs the that upon a mis-fire situation, the + wants to have + nextFireTime updated to the next time in the schedule after + the current time, but it does not want to be fired now. + + + + + A trigger which fires on the Nth day of every interval type + , or + that is not excluded by the associated + calendar. + + + When determining what the Nth day of the month or year + is, will skip excluded days on the + associated calendar. This would commonly be used in an Nth + business day situation, in which the user wishes to fire a particular job on + the Nth business day (i.e. the 5th business day of + every month). Each also has an associated + which indicates at what time of day the trigger is + to fire. +

+ All s default to a monthly interval type + (fires on the Nth day of every month) with N = 1 (first + non-excluded day) and set to 12:00 PM (noon). These + values can be changed using the , , and + methods. Users may also want to note the + and + methods. +

+

+ Take, for example, the following calendar: +

+ + July August September + Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa + 1 W 1 2 3 4 5 W 1 2 W + W H 5 6 7 8 W W 8 9 10 11 12 W W H 6 7 8 9 W + W 11 12 13 14 15 W W 15 16 17 18 19 W W 12 13 14 15 16 W + W 18 19 20 21 22 W W 22 23 24 25 26 W W 19 20 21 22 23 W + W 25 26 27 28 29 W W 29 30 31 W 26 27 28 29 30 + W + + Where W's represent weekend days, and H's represent holidays, all of which + are excluded on a calendar associated with an + with n=5 and + intervalType=IntervalTypeMonthly. In this case, the trigger + would fire on the 8th of July (because of the July 4 holiday), + the 5th of August, and the 8th of September (because + of Labor Day). +
+ Aaron Craven +
+ + + Indicates a monthly trigger type (fires on the Nth included + day of every month). + + + + indicates a yearly trigger type (fires on the Nth included + day of every year). + + + + + Indicates a weekly trigger type (fires on the Nth included + day of every week). When using this interval type, care must be taken + not to think of the value of as an analog to + . Such a comparison can only + be drawn when there are no calendars associated with the trigger. To + illustrate, consider an with + n = 3 which is associated with a Calendar excluding + non-weekdays. The trigger would fire on the 3rd + included day of the week, which would be 4th + actual day of the week. + + + + + Create an with no specified name, + group, or . This will result initially in a + default monthly trigger that fires on the first day of every month at + 12:00 PM (n = 1, + intervalType=, + fireAtTime="12:00"). + + + Note that , , + , and , must be + called before the can be placed into + a . + + + + + Create an with the given name and + default group but no specified . This will result + initially in a default monthly trigger that fires on the first day of + every month at 12:00 PM (=1, + intervalType=, + fireAtTime=12:00"). +

+ Note that and must + be called before the can be placed + into a . +

+
+ the name for the +
+ + + Create an with the given name and + group but no specified . This will result + initially in a default monthly trigger that fires on the first day of + every month at 12:00 PM (=1, + intervalType=, + fireAtTime=12:00"). +

+ Note that and must + be called before the can be placed + into a . +

+
+ the name for the + + the group for the + +
+ + + Create an with the given name and + group and the specified . This will result + initially in a default monthly trigger that fires on the first day of + every month at 12:00 PM (=1, + intervalType=, + fireAtTime="12:00"). + + The name for the . + The group for the . + The name of the job to associate with the . + The group containing the job to associate with the . + + + + Returns the next UTC time at which the + will fire. If the trigger will not fire again, will be + returned. + + +

+ Because of the conceptual design of , + it is not always possible to decide with certainty that the trigger + will never fire again. Therefore, it will search for the next + fire time up to a given cutoff. These cutoffs can be changed by using the + property. The default cutoff is 12 + of the intervals specified by intervalType. +

+

+ The returned value is not guaranteed to be valid until after + the trigger has been added to the scheduler. +

+
+ the next fire time for the trigger + +
+ + + Returns the previous UTC time at which the + fired. If the trigger has not yet + fired, will be returned. + + the previous fire time for the trigger + + + + Returns the first time the will fire + after the specified date. + + +

+ Because of the conceptual design of , + it is not always possible to decide with certainty that the trigger + will never fire again. Therefore, it will search for the next + fire time up to a given cutoff. These cutoffs can be changed by using the + property. The default cutoff is 12 + of the intervals specified by intervalType. +

+

+ Therefore, for triggers with intervalType = + , if the trigger + will not fire within 12 + weeks after the given date/time, will be returned. For + triggers with intervalType = + + , if the trigger will not fire within 12 + months after the given date/time, will be returned. + For triggers with intervalType = + + , if the trigger will not fire within 12 + years after the given date/time, will be returned. In + all cases, if the trigger will not fire before , + will be returned. +

+
+ The time after which to find the nearest fire time. + This argument is treated as exclusive 舒 that is, + if afterTime is a valid fire time for the trigger, it + will not be returned as the next fire time. + + + the first time the trigger will fire following the specified date + +
+ + + 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). + + + + + 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 ). + +
+ + + Called after the has executed the + associated with the in order + to get the final instruction code from the trigger. + + + The that was used by the + 's method. + + + The thrown by the + , if any (may be ) + + one of the Trigger.INSTRUCTION_XXX constants. + + + + + 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 + +

+
+ + A boolean indicator of whether the trigger could potentially fire + again. + +
+ + + Indicates whether is a valid misfire + instruction for this . + + Whether is valid. + + + Updates the 's state based on the + MisfireInstruction that was selected when the + was created +

+ If the misfire instruction is set to MISFIRE_INSTRUCTION_SMART_POLICY, + then the instruction will be interpreted as + . +

+
+ a new or updated calendar to use for the trigger + +
+ + + Updates the 's state based on the + given new version of the associated . + + A new or updated calendar to use for the trigger + the amount of time that must + be between "now" and the time the next + firing of the trigger is supposed to occur. + + + + + Calculates the first time an with + intervalType = IntervalTypeWeekly will fire + after the specified date. See for more + information. + + The time after which to find the nearest fire time. + This argument is treated as exclusive 舒 that is, + if afterTime is a valid fire time for the trigger, it + will not be returned as the next fire time. + + the first time the trigger will fire following the specified + date + + + + + Calculates the first UTC time an with + intervalType = will fire + after the specified date. See for more + information. + + + The UTC time after which to find the nearest fire time. + This argument is treated as exclusive 舒 that is, + if afterTime is a valid fire time for the trigger, it + will not be returned as the next fire time. + + the first time the trigger will fire following the specified date + + + + Calculates the first time an with + intervalType = will fire + after the specified date. See for more + information. + + + The UTC time after which to find the nearest fire time. + This argument is treated as exclusive 舒 that is, + if afterTime is a valid fire time for the trigger, it + will not be returned as the next fire time. + + the first time the trigger will fire following the specified + date + + + + + Gets or sets the day of the interval on which the + should fire. If the Nth + day of the interval does not exist (i.e. the 32nd of a + month), the trigger simply will never fire. N may not be less than 1. + + + + + Returns the interval type for the . + + + Sets the interval type for the . If + , the trigger will fire on the + Nth included day of every month. If + , the trigger will fire on the + Nth included day of every year. If + , the trigger will fire on the + Nth included day of every week. + + + + + + + + Returns the fire time for the as a + string with the format "HH:MM[:SS]", with HH representing the + 24-hour clock hour of the fire time. Seconds are optional and their + inclusion depends on whether or not they were provided to + . + + + + + Returns the for the + . + + +

+ Because of the conceptual design of , + it is not always possible to decide with certainty that the trigger + will never fire again. Therefore, it will search for the next + fire time up to a given cutoff. These cutoffs can be changed by using the + property. The default cutoff is 12 + of the intervals specified by intervalType" />. +

+

+ Because of the conceptual design of , + it is not always possible to decide with certainty that the trigger + will never fire again. Therefore, it will search for the next + fire time up to a given cutoff. These cutoffs can be changed by using the + method. The default cutoff is 12 + of the intervals specified by intervalType". +

+

+ In most cases, the default value of this setting (12) is sufficient (it + is highly unlikely, for example, that you will need to look at more than + 12 months of dates to ensure that your trigger will never fire again). + However, this setting is included to allow for the rare exceptions where + this might not be true. +

+

+ For example, if your trigger is associated with a calendar that excludes + a great many dates in the next 12 months, and hardly any following that, + it is possible (if is large enough) that you could run + into this situation. +

+
+
+ + + Returns the last UTC time the will fire. + If the trigger will not fire at any point between + and , will be returned. + + the last time the trigger will fire. + + + + Tells whether this Trigger instance can handle events + in millisecond precision. + + + + + + Sets or gets the time zone in which the will be resolved. + If no time zone is provided, then the default time zone will be used. + + + + + + + Gets or sets the trigger's calendar week rule. + + The trigger calendar week rule. + + + + Gets or sets the trigger's calendar first day of week rule. + + The trigger calendar first day of week. + + + + 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 + + +

+ 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 exception that is thrown to indicate that there is a misconfiguration of + the - or one of the components it + configures. + + James House + + + + 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. + + + + Holds context/environment data that can be made available to Jobs as they + are executed. + + + James House + + + + Create an empty . + + + + + Create a with the given data. + + + + + Instructs Scheduler what to do with a trigger and job. + + + + + 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 + abilitiy 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 + + + + 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. + 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. + + + + + 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) + + + + 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. + + + + + Set the next UTC time at which the should fire. + This method should not be invoked by client code. + + + + + Set the previous UTC time at which the fired. + This method should not be invoked by client code. + + + + + 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 thhe 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. + + + + + + All trigger states known to Scheduler. + + + + + 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 is a and it is + currently executing. + + + + + + Indicates that the does not exist. + + + + + Convenience and utility methods for simplifying the construction and + configuration of s. + + + Please submit suggestions for additional convenience methods to either the + Quartz user forum or the developer's mail list at + source forge. + + + + James House + + + + Constant indicating last day of month. + + + + + Milliseconds in minute. + + + + + Milliseconds in hour. + + + + + Seconds in day. + + + + + Milliseconds in day. + + + + + Initializes a new instance of the class. + + + + + Set the given 's name to the given value, and its + group to the default group (). + + the tigger to change name to + the new trigger name + + + + Set the given 's name to the given value, and its + group to the given group. + + the tigger to change name to + the new trigger name + the new trigger group + + + + Make a trigger that will fire every day at the given time. +

+ The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. +

+
+ the hour (0-23) upon which to fire + the minute (0-59) upon which to fire + the new trigger +
+ + + Make a trigger that will fire every day at the given time. +

+ The generated trigger will not have its group or end-time set. + The Start time defaults to 'now'. +

+
+ the trigger's name + the hour (0-23) upon which to fire + the minute (0-59) upon which to fire + the newly created trigger +
+ + + Make a trigger that will fire every week at the given day and time. +

+ The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. +

+
+ (1-7) the day of week upon which to fire + the hour (0-23) upon which to fire + the minute (0-59) upon which to fire + the new trigger +
+ + + Make a trigger that will fire every week at the given day and time. +

+ The generated trigger will not have its group, + or end-time set. The Start time defaults to 'now'. +

+
+ the trigger's name + the day of week upon which to fire + the hour (0-23) upon which to fire + the minute (0-59) upon which to fire + the newly created trigger +
+ + + Make a trigger that will fire every month at the given day and time. +

+ The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. +

+

+ If the day of the month specified does not occur in a given month, a + firing will not occur that month. (i.e. if dayOfMonth is specified as + 31, no firing will occur in the months of the year with fewer than 31 + days). +

+
+ (1-31, or -1) the day of week upon which to fire + the hour (0-23) upon which to fire + the minute (0-59) upon which to fire + the newly created trigger +
+ + + Make a trigger that will fire every month at the given day and time. +

+ The generated trigger will not have its group, + or end-time set. The Start time defaults to 'now'. +

+

+ If the day of the month specified does not occur in a given month, a + firing will not occur that month. (i.e. if dayOfMonth is specified as + 31, no firing will occur in the months of the year with fewer than 31 + days). +

+
+ the trigger's name + (1-31, or -1) the day of week upon which to fire + the hour (0-23) upon which to fire + the minute (0-59) upon which to fire + the newly created trigger +
+ + + Make a trigger that will fire times, waiting + between each fire. + + + The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. + + the newly created trigger + + + + Make a trigger that will fire times, waiting + between each fire. +

+ The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. +

+
+ the trigger's name + the new trigger +
+ + + Make a trigger that will fire every second, indefinitely. +

+ The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. +

+
+ the new trigger +
+ + + Make a trigger that will fire every second, indefinitely. +

+ The generated trigger will not have its group, + or end-time set. The Start time defaults to 'now'. +

+
+ the trigger's name + the new trigger +
+ + + Make a trigger that will fire every N seconds, indefinitely. +

+ The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. +

+
+ the number of seconds between firings + the new trigger +
+ + + Make a trigger that will fire every N seconds, with the given number of + repeats. +

+ The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. +

+
+ the number of seconds between firings + the number of times to repeat the firing + the new trigger +
+ + + Make a trigger that will fire every N seconds, with the given number of + repeats. +

+ The generated trigger will not have its group, + or end-time set. The Start time defaults to 'now'. +

+
+ the trigger's name + the number of seconds between firings + the number of times to repeat the firing + the new trigger +
+ + + Make a trigger that will fire every minute, indefinitely. +

+ The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. +

+
+ the new trigger +
+ + + Make a trigger that will fire every minute, indefinitely. +

+ The generated trigger will not have its group, + or end-time set. The Start time defaults to 'now'. +

+
+ the trigger's name + the new trigger +
+ + + Make a trigger that will fire every N minutes, indefinitely. +

+ The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. +

+
+ the number of minutes between firings + the new trigger +
+ + + Make a trigger that will fire every N minutes, with the given number of + repeats. +

+ The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. +

+
+ the number of minutes between firings + the number of times to repeat the firing + the new trigger +
+ + + Make a trigger that will fire every N minutes, with the given number of + repeats. +

+ The generated trigger will not have its group, + or end-time set. The Start time defaults to 'now'. +

+
+ the trigger's name + the number of minutes between firings + the number of times to repeat the firing + the new trigger +
+ + + Make a trigger that will fire every hour, indefinitely. +

+ The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. +

+
+ the new trigger +
+ + + Make a trigger that will fire every hour, indefinitely. +

+ The generated trigger will not have its group, + or end-time set. The Start time defaults to 'now'. +

+
+ the trigger's name + the new trigger +
+ + + Make a trigger that will fire every N hours, indefinitely. +

+ The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. +

+
+ the number of hours between firings + the new trigger +
+ + + Make a trigger that will fire every N hours, with the given number of + repeats. +

+ The generated trigger will not have its name, group, + or end-time set. The Start time defaults to 'now'. +

+
+ the number of hours between firings + the number of times to repeat the firing + the new trigger +
+ + + Make a trigger that will fire every N hours, with the given number of + repeats. +

+ The generated trigger will not have its group, + or end-time set. The Start time defaults to 'now'. +

+
+ the trigger's name + the number of hours between firings + the number of times to repeat the firing + the new trigger +
+ + + 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 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 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 TimeMinute-BaseResult Time
11:16:412011:20:00
11:36:412011:40:00
11:46:412012:00:00
11:26:413011:30:00
11:36:413012:00:00
11:16:411711:17:00
11:17:411711:34:00
11:52:411712:00:00
11:52:41511:55:00
11:57:41512:00:00
11:17:41012:00:00
11:17:41111: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. + The second base. + +
+ + + 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 + + + + 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 occured 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 +
+ + + Translate a date and time from a users timezone to the another + (probably server) timezone to assist in creating a simple trigger with + the right date and time. + + the date to translate + the original time-zone + the destination time-zone + the translated UTC date + + + + Gets the offset from UT for the given date in the given timezone, + taking into account daylight savings. + + the date that is the base for the offset + the time-zone to calculate to offset to + the offset + + + + This functions determines if the TimeZone uses daylight saving time + + TimeZone instance to validate + True or false depending if daylight savings time is used + + + + An exception that is thrown to indicate that a call to + failed without interrupting the Job. + + + James House + + + + 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. + +
+
diff --git a/src/Spring/Spring.Scheduling.Quartz/Spring.Scheduling.Quartz.build b/src/Spring/Spring.Scheduling.Quartz/Spring.Scheduling.Quartz.build index e37f0b60..a8829365 100644 --- a/src/Spring/Spring.Scheduling.Quartz/Spring.Scheduling.Quartz.build +++ b/src/Spring/Spring.Scheduling.Quartz/Spring.Scheduling.Quartz.build @@ -23,13 +23,16 @@ - - + + + + + - + diff --git a/test/Spring/Spring.Scheduling.Quartz.Tests/Spring.Scheduling.Quartz.Tests.build b/test/Spring/Spring.Scheduling.Quartz.Tests/Spring.Scheduling.Quartz.Tests.build index eb5cefde..a8a5f888 100644 --- a/test/Spring/Spring.Scheduling.Quartz.Tests/Spring.Scheduling.Quartz.Tests.build +++ b/test/Spring/Spring.Scheduling.Quartz.Tests/Spring.Scheduling.Quartz.Tests.build @@ -30,15 +30,17 @@ - - - - + + + + - - - + + + + +