diff --git a/.gitignore b/.gitignore index 9eb13c05..db50b6cc 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,23 @@ buildlog.txt # XMLmind temporary files *.xml~ + +*.dotCover +/src/Spring/Spring.Aop/Spring.Aop.xml +/src/Spring/Spring.Core/Spring.Core.xml +/src/Spring/Spring.Data.NHibernate12/Spring.Data.NHibernate12.xml +/src/Spring/Spring.Data.NHibernate20/Spring.Data.NHibernate20.xml +/src/Spring/Spring.Data.NHibernate21/Spring.Data.NHibernate21.xml +/src/Spring/Spring.Data.NHibernate30/Spring.Data.NHibernate30.xml +/src/Spring/Spring.Data.NHibernate31/Spring.Data.NHibernate31.xml +/src/Spring/Spring.Data.NHibernate32/Spring.Data.NHibernate32.xml +/src/Spring/Spring.Messaging.Nms/Spring.Messaging.Nms.xml +/src/Spring/Spring.Messaging/Spring.Messaging.xml +/src/Spring/Spring.Data/Spring.Data.xml +/src/Spring/Spring.Web/Spring.Web.xml +/src/Spring/Spring.Web.Mvc/Spring.Web.Mvc.xml +/src/Spring/Spring.Web.Mvc3/Spring.Web.Mvc3.xml +/src/Spring/Spring.Testing.NUnit/Spring.Testing.NUnit.xml +/src/Spring/Spring.Services/Spring.Services.xml +/src/Spring/Spring.Web.Extensions/Spring.Web.Extensions.xml +/src/Spring/GenCommonAssemblyInfo.cs \ No newline at end of file diff --git a/Spring.build b/Spring.build index 30dd8597..86d5b91a 100644 --- a/Spring.build +++ b/Spring.build @@ -430,6 +430,8 @@ Commandline Examples: + + @@ -568,6 +570,8 @@ Commandline Examples: + + @@ -845,6 +849,8 @@ Commandline Examples: + + @@ -900,6 +906,8 @@ Commandline Examples: + + @@ -1545,9 +1553,14 @@ Commandline Examples: + + + + @@ -1579,9 +1592,14 @@ Commandline Examples: - - - + + + + @@ -1802,6 +1820,7 @@ Commandline Examples: + @@ -1832,6 +1851,7 @@ Commandline Examples: + diff --git a/build-support/solutions/Spring.Net.Quartz.2008.sln b/build-support/solutions/Spring.Net.Quartz.2008.sln index 832a462d..709b7e5e 100644 --- a/build-support/solutions/Spring.Net.Quartz.2008.sln +++ b/build-support/solutions/Spring.Net.Quartz.2008.sln @@ -23,6 +23,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Scheduling.Quartz.In EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Core.Tests.2008", "..\..\test\Spring\Spring.Core.Tests\Spring.Core.Tests.2008.csproj", "{44B16BAA-6DF8-447C-9D7F-3AD3D854D904}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Scheduling.Quartz20.Integration.Tests.2008", "..\..\test\Spring\Spring.Scheduling.Quartz20.Integration.Tests\Spring.Scheduling.Quartz20.Integration.Tests.2008.csproj", "{8CF0F34A-CC93-4D87-AE14-A2DEEF072F26}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Scheduling.Quartz20.Tests.2008", "..\..\test\Spring\Spring.Scheduling.Quartz20.Tests\Spring.Scheduling.Quartz20.Tests.2008.csproj", "{47E7DF97-2515-4F2F-BBFD-0A4C205800DE}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Spring.Scheduling.Quartz20.2008", "..\..\src\Spring\Spring.Scheduling.Quartz20\Spring.Scheduling.Quartz20.2008.csproj", "{764C3A6A-8690-49DD-B9AF-99E7C09AE4F0}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|.NET = Debug|.NET @@ -109,6 +115,36 @@ Global {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|Any CPU.Build.0 = Release|Any CPU {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {44B16BAA-6DF8-447C-9D7F-3AD3D854D904}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {8CF0F34A-CC93-4D87-AE14-A2DEEF072F26}.Debug|.NET.ActiveCfg = Debug|Any CPU + {8CF0F34A-CC93-4D87-AE14-A2DEEF072F26}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8CF0F34A-CC93-4D87-AE14-A2DEEF072F26}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8CF0F34A-CC93-4D87-AE14-A2DEEF072F26}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {8CF0F34A-CC93-4D87-AE14-A2DEEF072F26}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {8CF0F34A-CC93-4D87-AE14-A2DEEF072F26}.Release|.NET.ActiveCfg = Release|Any CPU + {8CF0F34A-CC93-4D87-AE14-A2DEEF072F26}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8CF0F34A-CC93-4D87-AE14-A2DEEF072F26}.Release|Any CPU.Build.0 = Release|Any CPU + {8CF0F34A-CC93-4D87-AE14-A2DEEF072F26}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {8CF0F34A-CC93-4D87-AE14-A2DEEF072F26}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {47E7DF97-2515-4F2F-BBFD-0A4C205800DE}.Debug|.NET.ActiveCfg = Debug|Any CPU + {47E7DF97-2515-4F2F-BBFD-0A4C205800DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {47E7DF97-2515-4F2F-BBFD-0A4C205800DE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {47E7DF97-2515-4F2F-BBFD-0A4C205800DE}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {47E7DF97-2515-4F2F-BBFD-0A4C205800DE}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {47E7DF97-2515-4F2F-BBFD-0A4C205800DE}.Release|.NET.ActiveCfg = Release|Any CPU + {47E7DF97-2515-4F2F-BBFD-0A4C205800DE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {47E7DF97-2515-4F2F-BBFD-0A4C205800DE}.Release|Any CPU.Build.0 = Release|Any CPU + {47E7DF97-2515-4F2F-BBFD-0A4C205800DE}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {47E7DF97-2515-4F2F-BBFD-0A4C205800DE}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {764C3A6A-8690-49DD-B9AF-99E7C09AE4F0}.Debug|.NET.ActiveCfg = Debug|Any CPU + {764C3A6A-8690-49DD-B9AF-99E7C09AE4F0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {764C3A6A-8690-49DD-B9AF-99E7C09AE4F0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {764C3A6A-8690-49DD-B9AF-99E7C09AE4F0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {764C3A6A-8690-49DD-B9AF-99E7C09AE4F0}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {764C3A6A-8690-49DD-B9AF-99E7C09AE4F0}.Release|.NET.ActiveCfg = Release|Any CPU + {764C3A6A-8690-49DD-B9AF-99E7C09AE4F0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {764C3A6A-8690-49DD-B9AF-99E7C09AE4F0}.Release|Any CPU.Build.0 = Release|Any CPU + {764C3A6A-8690-49DD-B9AF-99E7C09AE4F0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {764C3A6A-8690-49DD-B9AF-99E7C09AE4F0}.Release|Mixed Platforms.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -118,9 +154,12 @@ Global {3A3A4E65-45A6-4B20-B460-0BEDC302C02C} = {438FE108-6F55-4C8A-8BF4-C85D0906D134} {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} = {438FE108-6F55-4C8A-8BF4-C85D0906D134} {E823D54C-CE82-4868-929F-5F95A999F61E} = {438FE108-6F55-4C8A-8BF4-C85D0906D134} + {764C3A6A-8690-49DD-B9AF-99E7C09AE4F0} = {438FE108-6F55-4C8A-8BF4-C85D0906D134} {9FE720ED-2BD9-4FB9-89C8-FFFA4A491CB5} = {5ECE7B2B-6975-4800-982E-618794909499} {E4328F68-C3FC-43E2-9D63-30CEC55215B0} = {5ECE7B2B-6975-4800-982E-618794909499} {44B16BAA-6DF8-447C-9D7F-3AD3D854D904} = {5ECE7B2B-6975-4800-982E-618794909499} + {8CF0F34A-CC93-4D87-AE14-A2DEEF072F26} = {5ECE7B2B-6975-4800-982E-618794909499} + {47E7DF97-2515-4F2F-BBFD-0A4C205800DE} = {5ECE7B2B-6975-4800-982E-618794909499} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution NAntAddinLastFileName = Spring.build diff --git a/lib/Mono/2.0/Quartz.dll b/lib/Quartz10/mono/2.0/Quartz.dll similarity index 100% rename from lib/Mono/2.0/Quartz.dll rename to lib/Quartz10/mono/2.0/Quartz.dll diff --git a/lib/Mono/2.0/Common.Logging.pdb b/lib/Quartz10/net/2.0/Common.Logging.pdb similarity index 100% rename from lib/Mono/2.0/Common.Logging.pdb rename to lib/Quartz10/net/2.0/Common.Logging.pdb diff --git a/lib/Net/2.0/Quartz.dll b/lib/Quartz10/net/2.0/Quartz.dll similarity index 100% rename from lib/Net/2.0/Quartz.dll rename to lib/Quartz10/net/2.0/Quartz.dll diff --git a/lib/Net/2.0/Quartz.xml b/lib/Quartz10/net/2.0/Quartz.xml similarity index 98% rename from lib/Net/2.0/Quartz.xml rename to lib/Quartz10/net/2.0/Quartz.xml index 46ab8f66..e9a7dfc1 100644 --- a/lib/Net/2.0/Quartz.xml +++ b/lib/Quartz10/net/2.0/Quartz.xml @@ -1,17105 +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. - -
-
+ + + + 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/Quartz10/net/3.5/Common.Logging.pdb b/lib/Quartz10/net/3.5/Common.Logging.pdb new file mode 100644 index 00000000..117b5bcc Binary files /dev/null and b/lib/Quartz10/net/3.5/Common.Logging.pdb differ diff --git a/lib/Net/3.5/Quartz.dll b/lib/Quartz10/net/3.5/Quartz.dll similarity index 100% rename from lib/Net/3.5/Quartz.dll rename to lib/Quartz10/net/3.5/Quartz.dll diff --git a/lib/Net/3.5/Quartz.xml b/lib/Quartz10/net/3.5/Quartz.xml similarity index 98% rename from lib/Net/3.5/Quartz.xml rename to lib/Quartz10/net/3.5/Quartz.xml index 76eeeb5b..11709dda 100644 --- a/lib/Net/3.5/Quartz.xml +++ b/lib/Quartz10/net/3.5/Quartz.xml @@ -1,17105 +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. - -
-
+ + + + 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/Quartz10/net/4.0/Common.Logging.pdb b/lib/Quartz10/net/4.0/Common.Logging.pdb new file mode 100644 index 00000000..117b5bcc Binary files /dev/null and b/lib/Quartz10/net/4.0/Common.Logging.pdb differ diff --git a/lib/Net/4.0/Quartz.dll b/lib/Quartz10/net/4.0/Quartz.dll similarity index 100% rename from lib/Net/4.0/Quartz.dll rename to lib/Quartz10/net/4.0/Quartz.dll diff --git a/lib/Net/4.0/Quartz.xml b/lib/Quartz10/net/4.0/Quartz.xml similarity index 98% rename from lib/Net/4.0/Quartz.xml rename to lib/Quartz10/net/4.0/Quartz.xml index 76eeeb5b..11709dda 100644 --- a/lib/Net/4.0/Quartz.xml +++ b/lib/Quartz10/net/4.0/Quartz.xml @@ -1,17105 +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. - -
-
+ + + + 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/Quartz20/mono/3.5/C5.dll b/lib/Quartz20/mono/3.5/C5.dll new file mode 100644 index 00000000..2130d1fa Binary files /dev/null and b/lib/Quartz20/mono/3.5/C5.dll differ diff --git a/lib/Quartz20/mono/3.5/Quartz.dll b/lib/Quartz20/mono/3.5/Quartz.dll new file mode 100644 index 00000000..a6bfea5e Binary files /dev/null and b/lib/Quartz20/mono/3.5/Quartz.dll differ diff --git a/lib/Quartz20/mono/3.5/Quartz.xml b/lib/Quartz20/mono/3.5/Quartz.xml new file mode 100644 index 00000000..c983e3df --- /dev/null +++ b/lib/Quartz20/mono/3.5/Quartz.xml @@ -0,0 +1,19889 @@ + + + + Quartz + + + + + A wrapper for generic HashSet that brings a common interface. + + + + + + Represents a collection ob objects that contains no duplicate elements. + + Marko Lahma (.NET) + + + + A sorted set. + + Marko Lahma (.NET) + + + + Returns a portion of the list whose elements are greater than the limit object parameter. + + The start element of the portion to extract. + The portion of the collection whose elements are greater than the limit object parameter. + + + + Returns the first item in the set. + + First object. + + + + Returns the object in the specified index. + + + + + + + Simple C5 wrapper for common interface. + + + + + + Default constructor. + + + + + Constructor that accepts comparer. + + Comparer to use. + + + + Constructor that prepolutates. + + + + + + Returns the first element. + + + + + + Return items from given range. + + + + + + + Indexer. + + + + + + + Only for backwards compatibility with serialization! + + + + + Responsible for creating the instances of + to be used within the instance. + + James House + Marko Lahma (.NET) + + + + Initialize the factory, providing a handle to the + that should be made available within the and + the s within it. + + + + + Called by the + to obtain instances of . + + + + + JobRunShell instances are responsible for providing the 'safe' environment + for s to run in, and for performing all of the work of + executing the , catching ANY thrown exceptions, updating + the with the 's completion code, + etc. + + A instance is created by a + on behalf of the which then runs the + shell in a thread from the configured when the + scheduler determines that a has been triggered. + + + + + + + James House + Marko Lahma (.NET) + + + + A helpful abstract base class for implementors of + . + + + The methods in this class are empty so you only need to override the + subset for the events you care about. + + Marko Lahma (.NET) + + + + + The interface to be implemented by classes that want to be informed of major + events. + + + + + James House + Marko Lahma (.NET) + + + + Called by the when a + is scheduled. + + + + + Called by the when a + is unscheduled. + + + + + + Called by the when a + has reached the condition in which it will never fire again. + + + + + Called by the a s has been paused. + + + + + Called by the a group of + s has been paused. + + + If a all groups were paused, then the parameter + will be null. + + The trigger group. + + + + Called by the when a + has been un-paused. + + + + + Called by the when a + group of s has been un-paused. + + + If all groups were resumed, then the parameter + will be null. + + The trigger group. + + + + Called by the when a + has been added. + + + + + + Called by the when a + has been deleted. + + + + + Called by the when a + has been paused. + + + + + Called by the when a + group of s has been paused. + + If all groups were paused, then the parameter will be + null. If all jobs were paused, then both parameters will be null. + + + The job group. + + + + Called by the when a + has been un-paused. + + + + + Called by the when a + has been un-paused. + + The job group. + + + + Called by the when a serious error has + occurred within the scheduler - such as repeated failures in the , + or the inability to instantiate a instance when its + has fired. + + + + + Called by the to inform the listener + that it has move to standby mode. + + + + + Called by the to inform the listener + that it has started. + + + + + Called by the to inform the listener + that it has Shutdown. + + + + + Called by the to inform the listener + that it has begun the shutdown sequence. + + + + + Called by the to inform the listener + that all jobs, triggers and calendars were deleted. + + + + + Get the for this + type's category. This should be used by subclasses for logging. + + + + + This interface should be implemented by any class whose instances are intended + to be executed by a thread. + + Marko Lahma (.NET) + + + + This method has to be implemented in order that starting of the thread causes the object's + run method to be called in that separately executing thread. + + + + + Create a JobRunShell instance with the given settings. + + The instance that should be made + available within the . + + + + + Initializes the job execution context with given scheduler and bundle. + + The scheduler. + + + + Requests the Shutdown. + + + + + This method has to be implemented in order that starting of the thread causes the object's + run method to be called in that separately executing thread. + + + + + Runs begin procedures on this instance. + + + + + Completes the execution. + + if set to true [successful execution]. + + + + Passivates this instance. + + + + + 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. + + + + + Default concrete implementation of . + + + + + Client programs may be interested in the 'listener' interfaces that are + available from Quartz. The interface + provides notifications of Job executions. The + interface provides notifications of + firings. The + interface provides notifications of scheduler events and + errors. Listeners can be associated with local schedulers through the + interface. + + + + jhouse + 2.0 - previously listeners were managed directly on the Scheduler interface. + + + + Add the given to the, + and register it to receive events for Jobs that are matched by ANY of the + given Matchers. + + + If no matchers are provided, the will be used. + + + + + + + Add the given to the, + and register it to receive events for Jobs that are matched by ANY of the + given Matchers. + + + If no matchers are provided, the will be used. + + + + + + + Add the given Matcher to the set of matchers for which the listener + will receive events if ANY of the matchers match. + + + + the name of the listener to add the matcher to + the additional matcher to apply for selecting events + true if the identified listener was found and updated + + + + Remove the given Matcher to the set of matchers for which the listener + will receive events if ANY of the matchers match. + + + + the name of the listener to add the matcher to + the additional matcher to apply for selecting events + true if the given matcher was found and removed from the listener's list of matchers + + + + Set the set of Matchers for which the listener + will receive events if ANY of the matchers match. + + + Removes any existing matchers for the identified listener! + + the name of the listener to add the matcher to + the matchers to apply for selecting events + true if the given matcher was found and removed from the listener's list of matchers + + + + Get the set of Matchers for which the listener + will receive events if ANY of the matchers match. + + + + the name of the listener to add the matcher to + the matchers registered for selecting events for the identified listener + + + + Remove the identified from the. + + + + true if the identified listener was found in the list, and removed. + + + + Get a List containing all of the s in + the. + + + + + Get the that has the given name. + + + + + Add the given to the, + and register it to receive events for Triggers that are matched by ANY of the + given Matchers. + + + If no matcher is provided, the will be used. + + + + + + + Add the given to the, + and register it to receive events for Triggers that are matched by ANY of the + given Matchers. + + + If no matcher is provided, the will be used. + + + + + + + Add the given Matcher to the set of matchers for which the listener + will receive events if ANY of the matchers match. + + + + the name of the listener to add the matcher to + the additional matcher to apply for selecting events + true if the identified listener was found and updated + + + + Remove the given Matcher to the set of matchers for which the listener + will receive events if ANY of the matchers match. + + + + the name of the listener to add the matcher to + the additional matcher to apply for selecting events + true if the given matcher was found and removed from the listener's list of matchers + + + + Set the set of Matchers for which the listener + will receive events if ANY of the matchers match. + + + Removes any existing matchers for the identified listener! + + the name of the listener to add the matcher to + the matchers to apply for selecting events + true if the given matcher was found and removed from the listener's list of matchers + + + + Get the set of Matchers for which the listener + will receive events if ANY of the matchers match. + + + + the name of the listener to add the matcher to + the matchers registered for selecting events for the identified listener + + + + Remove the identified from the. + + + + true if the identified listener was found in the list, and + removed. + + + + Get a List containing all of the s + in the. + + + + + Get the that has the given name. + + + + + Register the given with the + . + + + + + Remove the given from the + . + + + + true if the identified listener was found in the list, and removed. + + + + Get a List containing all of the s + registered with the. + + + + + This is the heart of Quartz, an indirect implementation of the + interface, containing methods to schedule s, + register instances, etc. + + + + + + James House + Marko Lahma (.NET) + + + + Remote scheduler service interface. + + Marko Lahma (.NET) + + + + Starts this instance. + + + + + Standbies this instance. + + + + + Shutdowns this instance. + + + + + returns true if the given JobGroup + is paused + + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + Initializes the class. + + + + + Register the given with the + 's list of internal listeners. + + + + + + Remove the given from the + 's list of internal listeners. + + + true if the identified listener was found in the list, andremoved. + + + + Create a with the given configuration + properties. + + + + + + Bind the scheduler to remoting infrastructure. + + + + + Un-bind the scheduler from remoting infrastructure. + + + + + Adds an object that should be kept as reference to prevent + it from being garbage collected. + + The obj. + + + + Removes the object from 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 key of the trigger + The new to be stored. + + if a with the given + name and group was not found and removed from the store, otherwise + the first fire time of the newly scheduled trigger. + + + + + Creates a new positive random number + + The last random obtained + Returns a new positive random number + + + + Trigger the identified (Execute it now) - with a non-volatile trigger. + + + + + Store and schedule the identified + + + + + + Pause the with the given name. + + + + + Pause all of the s in the given group. + + + + + Pause the with the given + name - by pausing all of its current s. + + + + + Pause all of the s in the + given group - by pausing all of their s. + + + + + Resume (un-pause) the with the given + name. + + If the missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Resume (un-pause) all of the s in the + matching groups. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Gets the paused trigger groups. + + + + + + Resume (un-pause) the with + the given name. + + If any of the 's s missed one + or more fire-times, then the 's misfire + instruction will be applied. + + + + + + Resume (un-pause) all of the s + in the matching groups. + + If any of the s had s that + missed one or more fire-times, then the 's + misfire instruction will be applied. + + + + + + Pause all triggers - equivalent of calling + with a matcher matching all known groups. + + When is called (to un-pause), trigger misfire + instructions WILL be applied. + + + + + + + + Resume (un-pause) all triggers - equivalent of calling + on every group. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + + Get the names of all known groups. + + + + + Get the names of all the s in the + given group. + + + + + Get all s that are associated with the + identified . + + + + + Get the names of all known + groups. + + + + + Get the names of all the s in + the matching groups. + + + + + Get the for the + instance with the given name and group. + + + + + Get the instance with the given name and + group. + + + + + Determine whether a with the given identifier already + exists within the scheduler. + + + + the identifier to check for + true if a Job exists with the given identifier + + + + Determine whether a with the given identifier already + exists within the scheduler. + + + + the identifier to check for + true if a Trigger exists with the given identifier + + + + Clears (deletes!) all scheduling data - all s, s + s. + + + + + Get the current state of the identified . + + + + + + Add (register) the given to the Scheduler. + + + + + Delete the identified from the Scheduler. + + true if the Calendar was found and deleted. + + + + Get the instance with the given name. + + + + + Get the names of all registered s. + + + + + Add the given to the + 's internal list. + + + + + + Remove the identified from the 's + list of internal listeners. + + + true if the identified listener was found in the list, and removed. + + + + Get the internal + that has the given name. + + + + + + + Add the given to the + 's internal list. + + + + + + Remove the identified from the 's + list of internal listeners. + + + true if the identified listener was found in the list, and removed. + + + + Get the internal that + has the given name. + + + + + + + Notifies the job store job complete. + + The trigger. + The detail. + The instruction code. + + + + Notifies the scheduler thread. + + + + + Notifies the trigger listeners about fired trigger. + + The job execution context. + + + + + Notifies the trigger listeners about misfired trigger. + + The trigger. + + + + Notifies the trigger listeners of completion. + + The job 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. + + + + + Notifies the scheduler listeners about finalized trigger. + + The trigger. + + + + Notifies the scheduler listeners about paused trigger. + + The group. + + + + Notifies the scheduler listeners about paused trigger. + + + + + Notifies the scheduler listeners resumed trigger. + + The group. + + + + Notifies the scheduler listeners resumed trigger. + + + + + Notifies the scheduler listeners about paused job. + + + + + Notifies the scheduler listeners about paused job. + + The group. + + + + Notifies the scheduler listeners about resumed job. + + + + + Notifies the scheduler listeners about resumed job. + + The group. + + + + Notifies the scheduler listeners about scheduler shutdown. + + + + + Interrupt all instances of the identified InterruptableJob. + + + + + Interrupt all instances of the identified InterruptableJob executing in this Scheduler instance. + + + This method is not cluster aware. That is, it will only interrupt + instances of the identified InterruptableJob currently executing in this + Scheduler instance, not across the entire cluster. + + + + + + + + Obtains a lifetime service object to control the lifetime policy for this instance. + + + + + Gets the version of the Quartz Scheduler. + + The version. + + + + Gets the version major. + + The version major. + + + + Gets the version minor. + + The version minor. + + + + Gets the version iteration. + + The version iteration. + + + + Gets the scheduler signaler. + + The scheduler signaler. + + + + Returns the name of the . + + + + + Returns the instance Id of the . + + + + + Returns the of the . + + + + + Gets or sets a value indicating whether to signal on scheduling change. + + + true if 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 internal s + registered with the . + + + + + Gets or sets the job factory. + + The job factory. + + + + Gets the running since. + + The running since. + + + + Gets the number of jobs executed. + + The number of jobs executed. + + + + Gets a value indicating whether this scheduler supports persistence. + + true if supports persistence; otherwise, false. + + + + Get a List containing all of the s + in the 's internal list. + + + + + + Get a list containing all of the s + in the 's internal list. + + + + + Helper class to start scheduler in a delayed fashion. + + + + + ErrorLogger - Scheduler Listener Class + + + + + The interface to be implemented by classes that want to be informed when a + executes. In general, applications that use a + will not have use for this mechanism. + + + + + + + + James House + Marko Lahma (.NET) + + + + Called by the when a + is about to be executed (an associated + has occurred). + + This method will not be invoked if the execution of the Job was vetoed + by a . + + + + + + + Called by the when a + was about to be executed (an associated + has occurred), but a vetoed it's + execution. + + + + + + Called by the after a + has been executed, and be for the associated 's + method has been called. + + + + + Get the name of the . + + + + + Contains all of the resources (,, + etc.) necessary to create a instance. + + + James House + Marko Lahma (.NET) + + + + Gets the unique identifier. + + Name of the scheduler. + The scheduler instance id. + + + + + Gets the unique identifier. + + + + + + Add the given for the + to use. This method expects the plugin's + "initialize" method to be invoked externally (either before or after + this method is called). + + + + + + Get or set the name for the . + + + if name is null or empty. + + + + + Get or set the instance Id for the . + + + if name is null or empty. + + + + + Get or set the name for the . + + + if name is null or empty. + + + + + Get or set the for the + to use. + + + if threadPool is null. + + + + + Get or set the for the + to use. + + + if jobStore is null. + + + + + Get or set the for the + to use. + + + if jobRunShellFactory is null. + + + + + Get the of all s for the + to use. + + + + + + Gets or sets a value indicating whether to make scheduler thread daemon. + + + true if scheduler should be thread daemon; otherwise, false. + + + + + Gets or sets the scheduler exporter. + + The scheduler exporter. + + + + The ThreadExecutor which runs the QuartzSchedulerThread. + + + + + Gets or sets the batch time window. + + + + + The thread responsible for performing the work of firing + s that are registered with the . + + + + + James House + Marko Lahma (.NET) + + + + Support class used to handle threads + + Marko Lahma (.NET) + + + + The instance of System.Threading.Thread + + + + + Initializes a new instance of the QuartzThread class + + + + + Initializes a new instance of the Thread class. + + The name of the thread + + + + This method has no functionality unless the method is overridden + + + + + Causes the operating system to change the state of the current thread instance to ThreadState.Running + + + + + Interrupts a thread that is in the WaitSleepJoin thread state + + + + + Blocks the calling thread until a thread terminates + + + + + Obtain a string that represents the current object + + A string that represents the current object + + + + Gets or sets the name of the thread + + + + + Gets or sets a value indicating the scheduling priority of a thread + + + + + Gets or sets a value indicating whether or not a thread is a background thread. + + + + + Gets the randomized idle wait time. + + The randomized idle wait time. + + + + Construct a new for the given + as a non-daemon + with normal priority. + + + + + Construct a new for the given + as a with the given + attributes. + + + + + Signals the main processing loop to pause at the next possible point. + + + + + Signals the main processing loop to pause at the next possible point. + + + + + Signals the main processing loop that a change in scheduling has been + made - in order to interrupt any sleeping that may be 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 + Marko Lahma (.NET) + + + + Notifies the scheduler about misfired trigger. + + The trigger that misfired. + + + + Notifies the scheduler about finalized trigger. + + The trigger that has finalized. + + + + Signals the scheduling change. + + + + + 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. + + + + + Metadata information about specific ADO.NET driver library. Metadata is used to + create correct types of object instances to interact with the underlying + database. + + Marko Lahma + + + + Initializes this instance. Parses information and initializes startup + values. + + + + + Gets the name of the parameter which includes the parameter prefix for this + database. + + Name of the parameter. + + + Gets or sets the name of the assembly that holds the connection library. + The name of the assembly. + + + + Gets or sets the name of the product. + + The name of the product. + + + + Gets or sets the type of the connection. + + The type of the connection. + + + + Gets or sets the type of the command. + + The type of the command. + + + + Gets or sets the type of the parameter. + + The type of the parameter. + + + + Gets the type of the command builder. + + The type of the command builder. + + + Gets the command builder's derive parameters method. + The command builder derive parameters method. + + + + Gets or sets the parameter name prefix. + + The parameter name prefix. + + + + Gets or sets the type of the exception that is thrown when using driver + library. + + The type of the exception. + + + + Gets or sets a value indicating whether parameters are bind by name when using + ADO.NET parameters. + + true if parameters are bind by name; otherwise, false. + + + Gets or sets the type of the database parameters. + The type of the parameter db. + + + + Gets the parameter db type property. + + The parameter db type property. + + + + Gets the parameter is nullable property. + + The parameter is nullable property. + + + + Gets or sets the type of the db binary column. This is a string representation of + Enum element because this information is database driver specific. + + The type of the db binary. + + + Gets the type of the db binary. + The type of the db binary. + + + + Sets the name of the parameter db type property. + + The name of the parameter db type property. + + + + Gets or sets a value indicating whether [use parameter name prefix in parameter collection]. + + + true if [use parameter name prefix in parameter collection]; otherwise, false. + + + + + Concrete implementation of . + + Marko Lahma + + + + Data access provider interface. + + Marko Lahma + + + + 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. + + + + This interface can be implemented by any + class that needs to use the constants contained herein. + + Jeffrey Wescott + James House + Marko Lahma(.NET) + + + + Simple Trigger type. + + + + + Cron Trigger type. + + + + + Calendar Interval Trigger type. + + + + + Daily Time Interval Trigger type. + + + + + A general blob Trigger type. + + + + + This class contains utility functions for use in all delegate classes. + + Jeffrey Wescott + Marko Lahma (.NET) + + + + Replace the table prefix in a query by replacing any occurrences of + "{0}" with the table prefix. + + The unsubstitued query + The table prefix + the scheduler name + The query, with proper table prefix substituted + + + + Common helper methods for working with ADO.NET. + + Marko Lahma + + + + Persist a CalendarIntervalTriggerImpl by converting internal fields to and from + SimplePropertiesTriggerProperties. + + + + + + + A base implementation of that persists + trigger fields in the "QRTZ_SIMPROP_TRIGGERS" table. This allows extending + concrete classes to simply implement a couple methods that do the work of + getting/setting the trigger's fields, and creating the + for the particular type of trigger. + + + jhouse + Marko Lahma (.NET) + + + + An interface which provides an implementation for storing a particular + type of 's extended properties. + + jhouse + + + + Initializes the persistence delegate. + + + + + Returns whether the trigger type can be handled by delegate. + + + + + Returns database discriminator value for trigger type. + + + + + Inserts trigger's special properties. + + + + + Updates trigger's special properties. + + + + + Deletes trigger's special properties. + + + + + Loads trigger's special properties. + + + + + Returns whether the trigger type can be handled by delegate. + + + + + Returns database discriminator value for trigger type. + + + + + Utility class to keep track of both active transaction + and connection. + + Marko Lahma + + + + Initializes a new instance of the class. + + The connection. + The transaction. + + + + Gets or sets the connection. + + The connection. + + + + Gets or sets the transaction. + + The transaction. + + + + Persist a CronTriggerImpl. + + + + + + + Persist a DailyTimeIntervalTrigger by converting internal fields to and from + SimplePropertiesTriggerProperties. + + + + Zemian Deng saltnlight5@gmail.com + Nuno Maia (.NET) + + + + + + + + + + Base class for database based lock handlers for providing thread/resource locking + in order to protect resources from being altered by multiple threads at the + same time. + + Marko Lahma (.NET) + + + + This class extends + to include the query string constants in use by the + class. + + Jeffrey Wescott + Marko Lahma (.NET) + + + + An interface for providing thread/resource locking in order to protect + resources from being altered by multiple threads at the same time. + + James House + Marko Lahma (.NET) + + + + Grants a lock on the identified resource to the calling thread (blocking + until it is available). + + true if the lock was obtained. + + + + Release the lock on the identified resource if it is held by the calling + thread. + + + + + 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. + + Marko Lahma (.NET) + + + + Table prefix to use. + + + + + Initializes a new instance of the class. + + The table prefix. + the scheduler name + The SQL. + The default SQL. + The db provider. + + + + Execute the SQL that will lock the proper database row. + + + + + + + + + Grants a lock on the identified resource to the calling thread (blocking + until it is available). + + + + + true if the lock was obtained. + + + + Release the lock on the identified resource if it is held by the calling + thread. + + + + + + + Determine whether the calling thread owns a lock on the identified + resource. + + + + + + + + Gets or sets the lock owners. + + The lock owners. + + + + Gets the log. + + The log. + + + + This Semaphore implementation does use the database. + + + + + Gets or sets the table prefix. + + The table prefix. + + + + Initialization argumens holder for implementations. + + + + + Whether simple should be used (for serialization safety). + + + + + The logger to use during execution. + + + + + The prefix of all table names. + + + + + The instance's name. + + + + + The instance id. + + + + + The db provider. + + + + + The type loading strategy. + + + + + Object serializer and deserializer strategy to use. + + + + + Custom driver delegate initialization. + + + initStrings are of the format: + settingName=settingValue|otherSettingName=otherSettingValue|... + + + + + Conveys the state of a fired-trigger record. + + James House + Marko Lahma (.NET) + + + + Gets or sets the fire instance id. + + The fire instance id. + + + + Gets or sets the fire timestamp. + + The fire timestamp. + + + + Gets or sets a value indicating whether job disallows concurrent execution. + + + + + Gets or sets the job key. + + The job key. + + + + Gets or sets the scheduler instance id. + + The scheduler instance id. + + + + Gets or sets the trigger key. + + The trigger key. + + + + Gets or sets the state of the fire instance. + + The state of the fire instance. + + + + Gets or sets a value indicating whether [job requests recovery]. + + true if [job requests recovery]; otherwise, false. + + + + Gets or sets the priority. + + The priority. + + + + Service interface or modifying parameters + and resultset values. + + + + + Prepares a to be used to access database. + + Connection and tranasction pair + SQL to run + + + + + Adds a parameter to . + + Command to add parameter to + Parameter's name + Parameter's value + + + + Adds a parameter to . + + Command to add parameter to + Parameter's name + Parameter's value + Parameter's data type + + + + Gets the db presentation for boolean value. Subclasses can overwrite this behaviour. + + Value to map to database. + + + + + Gets the boolean value from db presentation. Subclasses can overwrite this behaviour. + + Value to map from database. + + + + + Gets the db presentation for date/time value. Subclasses can overwrite this behaviour. + + Value to map to database. + + + + + Gets the date/time value from db presentation. Subclasses can overwrite this behaviour. + + Value to map from database. + + + + + Gets the db presentation for time span value. Subclasses can overwrite this behaviour. + + Value to map to database. + + + + + Gets the time span value from db presentation. Subclasses can overwrite this behaviour. + + Value to map from database. + + + + + This is the base interface for all driver delegate classes. + + + + This interface is very similar to the + interface except each method has an additional + parameter. + + + Unless a database driver has some extremely-DB-specific + requirements, any IDriverDelegate implementation classes should extend the + class. + + + Jeffrey Wescott + James House + Marko Lahma (.NET) + + + + Initializes the driver delegate with configuration data. + + + + + + Update all triggers having one of the two given states, to the given new + state. + + The DB Connection + The new state for the triggers + The first old state to update + The second old state to update + Number of rows updated + + + + Get the names of all of the triggers that have misfired - according to + the given timestamp. + + The DB Connection + The timestamp. + An array of objects + + + + Get the names of all of the triggers in the given state that have + misfired - according to the given timestamp. + + The DB Connection + The state. + The time stamp. + An array of objects + + + + Get the names of all of the triggers in the given group and state that + have misfired - according to the given timestamp. + + The DB Connection + Name of the group. + The state. + The timestamp. + An array of objects + + + + Select all of the triggers for jobs that are requesting recovery. The + returned trigger objects will have unique "recoverXXX" trigger names and + will be in the trigger group. + + + In order to preserve the ordering of the triggers, the fire time will be + set from the ColumnFiredTime column in the TableFiredTriggers + table. The caller is responsible for calling + on each returned trigger. It is also up to the caller to insert the + returned triggers to ensure that they are fired. + + The DB Connection + An array of objects + + + + Delete all fired triggers. + + The DB Connection + The number of rows deleted + + + + Delete all fired triggers of the given instance. + + The DB Connection + The instance id. + The number of rows deleted + + + + Insert the job detail record. + + The DB Connection + The job to insert. + Number of rows inserted. + + + + Update the job detail record. + + The DB Connection. + The job to update. + Number of rows updated. + + + + Get the names of all of the triggers associated with the given job. + + + + The DB Connection + The key identifying the job. + + + + Delete the job detail record for the given job. + + The DB Connection + The key identifying the job. + the number of rows deleted + + + + Check whether or not the given job is stateful. + + The DB Connection + The key identifying the job. + true if the job exists and is stateful, false otherwise + + + + Check whether or not the given job exists. + + The DB Connection + The key identifying the job. + true if the job exists, false otherwise + + + + Update the job data map for the given job. + + The DB Connection + The job. + the number of rows updated + + + + Select the JobDetail object for a given job name / group name. + + The DB Connection + The key identifying the job. + The class load helper. + The populated JobDetail object + + + + Select the total number of jobs stored. + + The DB Connection + the total number of jobs stored + + + + Select all of the job group names that are stored. + + The DB Connection. + an array of group names + + + + Select all of the jobs contained in a given group. + + The DB Connection + + an array of job names + + + + Insert the base trigger data. + + The DB Connection + The trigger to insert. + The state that the trigger should be stored in. + The job detail. + The number of rows inserted + + + + Insert the blob trigger data. + + The DB Connection + The trigger to insert + The number of rows inserted + + + + Update the base trigger data. + + the DB Connection + The trigger. + The state. + The job detail. + the number of rows updated + + + + Update the blob trigger data. + + the DB Connection + The trigger. + the number of rows updated + + + + Check whether or not a trigger exists. + + the DB Connection + The key identifying the trigger. + the number of rows updated + + + + Update the state for a given trigger. + + The DB Connection + The key identifying the trigger. + The new state for the trigger. + the number of rows updated + + + + Update the given trigger to the given new state, if it is in the given + old state. + + The DB connection + The key identifying the trigger. + The new state for the trigger + The old state the trigger must be in + int the number of rows updated + + + + Update the given trigger to the given new state, if it is one of the + given old states. + + The DB connection + The key identifying the trigger. + The new state for the trigger + One of the old state the trigger must be in + One of the old state the trigger must be in + One of the old state the trigger must be in + + int the number of rows updated + + SQLException + + + + Update all triggers in the given group to the given new state, if they + are in one of the given old states. + + The DB connection + + The new state for the trigger + One of the old state the trigger must be in + One of the old state the trigger must be in + One of the old state the trigger must be in + The number of rows updated + + + + Update all of the triggers of the given group to the given new state, if + they are in the given old state. + + The DB connection + + The new state for the trigger group + The old state the triggers must be in. + int the number of rows updated + + + + Update the states of all triggers associated with the given job. + + The DB Connection + The key identifying the job. + The new state for the triggers. + The number of rows updated + + + + Update the states of any triggers associated with the given job, that + are the given current state. + + The DB Connection + The key identifying the job. + The new state for the triggers + The old state of the triggers + the number of rows updated + + + + Delete the BLOB trigger data for a trigger. + + The DB Connection + The key identifying the trigger. + The number of rows deleted + + + + Delete the base trigger data for a trigger. + + The DB Connection + The key identifying the trigger. + the number of rows deleted + + + + Select the number of triggers associated with a given job. + + The DB Connection + The key identifying the job. + the number of triggers for the given job + + + + Select the job to which the trigger is associated. + + The DB Connection + The key identifying the trigger. + The load helper. + + The object associated with the given trigger + + + + + Select the triggers for a job> + + The DB Connection + The key identifying the job. + an array of objects associated with a given job. + + + + Select the triggers for a calendar + + The DB Connection. + Name of the calendar. + + An array of objects associated with a given job. + + + + + Select a trigger. + + The DB Connection. + The key identifying the trigger. + The object. + + + + + Select a trigger's JobDataMap. + + The DB Connection. + The key identifying the trigger. + The of the Trigger, never null, but possibly empty. + + + + Select a trigger's state value. + + The DB Connection. + The key identifying the trigger. + The object. + + + + Select a triggers status (state and next fire time). + + The DB Connection. + The key identifying the trigger. + A object, or null + + + + Select the total number of triggers stored. + + The DB Connection. + The total number of triggers stored. + + + + Select all of the trigger group names that are stored. + + The DB Connection. + An array of group names. + + + + Select all of the triggers contained in a given group. + + The DB Connection. + + An array of trigger names. + + + + Select all of the triggers in a given state. + + The DB Connection. + The state the triggers must be in. + An array of trigger s. + + + + Inserts the paused trigger group. + + The conn. + Name of the group. + + + + + Deletes the paused trigger group. + + The conn. + Name of the group. + + + + + Deletes all paused trigger groups. + + The conn. + + + + + Determines whether the specified trigger group is paused. + + The conn. + Name of the group. + + true if trigger group is paused; otherwise, false. + + + + + Selects the paused trigger groups. + + The DB Connection. + + + + + Determines whether given trigger group already exists. + + The conn. + Name of the group. + + true if trigger group exists; otherwise, false. + + + + + Insert a new calendar. + + The DB Connection. + The name for the new calendar. + The calendar. + The number of rows inserted. + + + + Update a calendar. + + The DB Connection. + The name for the new calendar. + The calendar. + The number of rows updated. + + + + Check whether or not a calendar exists. + + The DB Connection. + The name of the calendar. + true if the trigger exists, false otherwise. + + + + Select a calendar. + + The DB Connection. + The name of the calendar. + The Calendar. + + + + Check whether or not a calendar is referenced by any triggers. + + The DB Connection. + The name of the calendar. + true if any triggers reference the calendar, false otherwise + + + + Delete a calendar. + + The DB Connection + The name of the trigger. + The number of rows deleted. + + + + Select the total number of calendars stored. + + The DB Connection + The total number of calendars stored. + + + + Select all of the stored calendars. + + The DB Connection + An array of calendar names. + + + + Select the trigger that will be fired at the given fire time. + + The DB Connection + The time that the trigger will be fired. + + A representing the + trigger that will be fired at the given fire time, or null if no + trigger will be fired at that time + + + + + Insert a fired trigger. + + The DB Connection + The trigger. + The state that the trigger should be stored in. + The job detail. + The number of rows inserted. + + + + Select the states of all fired-trigger records for a given trigger, or + trigger group if trigger name is . + + The DB Connection + Name of the trigger. + Name of the group. + A list of FiredTriggerRecord objects. + + + + Select the states of all fired-trigger records for a given job, or job + group if job name is . + + The DB Connection + Name of the job. + Name of the group. + A List of FiredTriggerRecord objects. + + + + Select the states of all fired-trigger records for a given scheduler + instance. + + The DB Connection + Name of the instance. + A list of FiredTriggerRecord objects. + + + + Delete a fired trigger. + + The DB Connection + The fired trigger entry to delete. + The number of rows deleted. + + + + Get the number instances of the identified job currently executing. + + The DB Connection + The key identifying the job. + + The number instances of the identified job currently executing. + + + + + Insert a scheduler-instance state record. + + The DB Connection + The instance id. + The check in time. + The interval. + The number of inserted rows. + + + + Delete a scheduler-instance state record. + + The DB Connection + The instance id. + The number of deleted rows. + + + + Update a scheduler-instance state record. + + The DB Connection + The instance id. + The check in time. + The number of updated rows. + + + + A List of all current s. + + If instanceId is not null, then only the record for the identified + instance will be returned. + + + The DB Connection + The instance id. + + + + + Select the next trigger which will fire to fire between the two given timestamps + in ascending order of fire time, and then descending by priority. + + The conn. + highest value of of the triggers (exclusive) + highest value of of the triggers (inclusive) + maximum number of trigger keys allow to acquired in the returning list. + A (never null, possibly empty) list of the identifiers (Key objects) of the next triggers to be fired. + + + + Select the distinct instance names of all fired-trigger records. + + + This is useful when trying to identify orphaned fired triggers (a + fired trigger without a scheduler state record.) + + The conn. + + + + + Counts the misfired triggers in states. + + The conn. + The state1. + The ts. + + + + + Selects the misfired triggers in states. + + The conn. + The state1. + The ts. + The count. + The result list. + + + + + Clear (delete!) all scheduling data - all s, s + s. + + + + + + Exception class for when a driver delegate cannot be found for a given + configuration, or lack thereof. + + Jeffrey Wescott + Marko Lahma (.NET) + + + + Base class for exceptions thrown by the Quartz . + + + SchedulerExceptions may contain a reference to another + , which was the underlying cause of the SchedulerException. + + James House + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The MSG. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + Initializes a new instance of the class. + + The cause. + + + + Initializes a new instance of the class. + + The MSG. + The cause. + + + + Creates and returns a string representation of the current exception. + + + A string representation of the current exception. + + + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + is meant to be used in an application-server + or other software framework environment that provides + container-managed-transactions. No commit / rollback will be handled by this class. + + + If you need commit / rollback, use + instead. + + Jeffrey Wescott + James House + Srinivas Venkatarangaiah + Marko Lahma (.NET) + + + + Contains base functionality for ADO.NET-based JobStore implementations. + + Jeffrey Wescott + James House + Marko Lahma (.NET) + + + + The interface to be implemented by classes that want to provide a + and storage mechanism for the + 's use. + + + Storage of s and s should be keyed + on the combination of their name and group for uniqueness. + + + + + + + + James House + Marko Lahma (.NET) + + + + Called by the QuartzScheduler before the is + used, in order to give the it a chance to Initialize. + + + + + Called by the QuartzScheduler to inform the that + the scheduler has started. + + + + + Called by the QuartzScheduler to inform the JobStore that + the scheduler has been paused. + + + + + Called by the QuartzScheduler to inform the JobStore that + the scheduler has resumed after being paused. + + + + + Called by the QuartzScheduler to inform the that + it should free up all of it's resources because the scheduler is + shutting down. + + + + + Store the given and . + + The to be stored. + The to be stored. + ObjectAlreadyExistsException + + + + returns true if the given JobGroup is paused + + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + Store the given . + + The to be stored. + + If , any existing in the + with the same name and group should be + over-written. + + + + + Remove (delete) the with the given + key, and any s that reference + it. + + + If removal of the results in an empty group, the + group should be removed from the 's list of + known group names. + + + if a with the given name and + group was found and removed from the store. + + + + + Retrieve the for the given + . + + + The desired , or null if there is no match. + + + + + Store the given . + + The to be stored. + If , any existing in + the with the same name and group should + be over-written. + ObjectAlreadyExistsException + + + + Remove (delete) the with the given key. + + + + If removal of the results in an empty group, the + group should be removed from the 's list of + known group names. + + + If removal of the results in an 'orphaned' + that is not 'durable', then the should be deleted + also. + + + + if a with the given + name and group was found and removed from the store. + + + + + Remove (delete) the with the + given name, and store the new given one - which must be associated + with the same job. + + The to be replaced. + The new to be stored. + + if a with the given + name and group was found and removed from the store. + + + + + Retrieve the given . + + + The desired , or null if there is no + match. + + + + + Determine whether a with the given identifier already + exists within the scheduler. + + + + the identifier to check for + true if a job exists with the given identifier + + + + Determine whether a with the given identifier already + exists within the scheduler. + + + + the identifier to check for + true if a trigger exists with the given identifier + + + + Clear (delete!) all scheduling data - all s, s + s. + + + + + + + Store the given . + + The name. + The to be stored. + If , any existing + in the with the same name and group + should be over-written. + If , any s existing + in the that reference an existing + Calendar with the same name with have their next fire time + re-computed with the new . + ObjectAlreadyExistsException + + + + Remove (delete) the with the + given name. + + + If removal of the would result in + s pointing to non-existent calendars, then a + will be thrown. + + The name of the to be removed. + + if a with the given name + was found and removed from the store. + + + + + Retrieve the given . + + The name of the to be retrieved. + + The desired , or null if there is no + match. + + + + + Get the number of s that are + stored in the . + + + + + + Get the number of s that are + stored in the . + + + + + + Get the number of s that are + stored in the . + + + + + + Get the names of all of the s that + have the given group name. + + If there are no jobs in the given group name, the result should be a + zero-length array (not ). + + + + + + + + Get the names of all of the s + that have the given group name. + + If there are no triggers in the given group name, the result should be a + zero-length array (not ). + + + + + + Get the names of all of the + groups. + + If there are no known group names, the result should be a zero-length + array (not ). + + + + + + Get the names of all of the + groups. + + If there are no known group names, the result should be a zero-length + array (not ). + + + + + + Get the names of all of the s + in the . + + + If there are no Calendars in the given group name, the result should be + a zero-length array (not ). + + + + + + Get all of the Triggers that are associated to the given Job. + + + If there are no matches, a zero-length array should be returned. + + + + + Get the current state of the identified . + + + + + + Pause the with the given key. + + + + + Pause all of the s in the + given group. + + + The JobStore should "remember" that the group is paused, and impose the + pause on any new triggers that are added to the group while the group is + paused. + + + + + Pause the with the given key - by + pausing all of its current s. + + + + + Pause all of the s in the given + group - by pausing all of their s. + + The JobStore should "remember" that the group is paused, and impose the + pause on any new jobs that are added to the group while the group is + paused. + + + + + + + + Resume (un-pause) the with the + given key. + + + If the missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + + + Resume (un-pause) all of the s + in the given group. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Gets the paused trigger groups. + + + + + + Resume (un-pause) the with the + given key. + + If any of the 's s missed one + or more fire-times, then the 's misfire + instruction will be applied. + + + + + + Resume (un-pause) all of the s in + the given group. + + If any of the s had s that + missed one or more fire-times, then the 's + misfire instruction will be applied. + + + + + + Pause all triggers - equivalent of calling + on every group. + + When is called (to un-pause), trigger misfire + instructions WILL be applied. + + + + + + + Resume (un-pause) all triggers - equivalent of calling + on every group. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + + + Get a handle to the next trigger to be fired, and mark it as 'reserved' + by the calling scheduler. + + If > 0, the JobStore should only return a Trigger + that will fire no later than the time represented in this value as + milliseconds. + + + + + + + + + Inform the that the scheduler no longer plans to + fire the given , that it had previously acquired + (reserved). + + + + + Inform the that the scheduler is now firing the + given (executing its associated ), + that it had previously acquired (reserved). + + + May return null if all the triggers or their calendars no longer exist, or + if the trigger was not successfully put into the 'executing' + state. Preference is to return an empty list if none of the triggers + could be fired. + + + + + Inform the that the scheduler has completed the + firing of the given (and the execution its + associated ), and that the + in the given should be updated if the + is stateful. + + + + + Indicates whether job store supports persistence. + + + + + + How long (in milliseconds) the implementation + estimates that it will take to release a trigger and acquire a new one. + + + + + Whether or not the implementation is clustered. + + + + + + Inform the of the Scheduler instance's Id, + prior to initialize being invoked. + + + + + Inform the of the Scheduler instance's name, + prior to initialize being invoked. + + + + + Tells the JobStore the pool size used to execute jobs. + + + + + Initializes a new instance of the class. + + + + + Gets the connection and starts a new transaction. + + + + + + Called by the QuartzScheduler before the is + used, in order to give it a chance to Initialize. + + + + + + + + Called by the QuartzScheduler to inform the JobStore that + the scheduler has been paused. + + + + + Called by the QuartzScheduler to inform the JobStore that + the scheduler has resumed after being paused. + + + + + Called by the QuartzScheduler to inform the that + it should free up all of it's resources because the scheduler is + shutting down. + + + + + Will recover any failed or misfired jobs and clean up the data store as + appropriate. + + + + + Will recover any failed or misfired jobs and clean up the data store as + appropriate. + + + + + Store the given and . + + Job to be stored. + Trigger to be stored. + + + + returns true if the given JobGroup + is paused + + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + Stores the given . + + The to be stored. + + If , any existing in the + with the same name & group should be over-written. + + + + + Insert or update a job. + + + + + + Check existence of a given job. + + + + + Store the given . + + The to be stored. + + If , any existing in + the with the same name & group should + be over-written. + + + if a with the same name/group already + exists, and replaceExisting is set to false. + + + + + Insert or update a trigger. + + + + + Check existence of a given trigger. + + + + + Remove (delete) the with the given + name, and any s that reference + it. + + + + If removal of the results in an empty group, the + group should be removed from the 's list of + known group names. + + + if a with the given name & + group was found and removed from the store. + + + + + Delete a job and its listeners. + + + + + + + Delete a trigger, its listeners, and its Simple/Cron/BLOB sub-table entry. + + + + + + + + Retrieve the for the given + . + + The key identifying the job. + The desired , or null if there is no match. + + + + Remove (delete) the with the + given name. + + + + + If removal of the results in an empty group, the + group should be removed from the 's list of + known group names. + + + + If removal of the results in an 'orphaned' + that is not 'durable', then the should be deleted + also. + + + The key identifying the trigger. + + if a with the given + name & group was found and removed from the store. + + + + + + + + Retrieve the given . + + The key identifying the trigger. + The desired , or null if there is no match. + + + + Get the current state of the identified . + + + + + + + + + + Gets the state of the trigger. + + The conn. + The key identifying the trigger. + + + + + Store the given . + + The name of the calendar. + The to be stored. + + If , any existing + in the with the same name & group + should be over-written. + + + + if a with the same name already + exists, and replaceExisting is set to false. + + + + + Remove (delete) the with the given name. + + + If removal of the would result in + s pointing to non-existent calendars, then a + will be thrown. + + The name of the to be removed. + + if a with the given name + was found and removed from the store. + + + + + Retrieve the given . + + The name of the to be retrieved. + The desired , or null if there is no match. + + + + Get the number of s that are + stored in the . + + + + + Get the number of s that are + stored in the . + + + + + Get the number of s that are + stored in the . + + + + + Get the names of all of the s that + have the given group name. + + + If there are no jobs in the given group name, the result should be a + zero-length array (not ). + + + + + Determine whether a with the given identifier already + exists within the scheduler. + + + + the identifier to check for + true if a Job exists with the given identifier + + + + Determine whether a with the given identifier already + exists within the scheduler. + + + + the identifier to check for + true if a Trigger exists with the given identifier + + + + Clear (delete!) all scheduling data - all s, s + s. + + + + + + + Get the names of all of the s + that have the given group name. + + + If there are no triggers in the given group name, the result should be a + zero-length array (not ). + + + + + Get the names of all of the + groups. + + + + If there are no known group names, the result should be a zero-length + array (not ). + + + + + Get the names of all of the + groups. + + + + If there are no known group names, the result should be a zero-length + array (not ). + + + + + Get the names of all of the s + in the . + + + If there are no Calendars in the given group name, the result should be + a zero-length array (not ). + + + + + Get all of the Triggers that are associated to the given Job. + + + If there are no matches, a zero-length array should be returned. + + + + + Pause the with the given name. + + + + + Pause the with the given name. + + + + + Pause the with the given name - by + pausing all of its current s. + + + + + + Pause all of the s in the given + group - by pausing all of their s. + + + + + + Determines if a Trigger for the given job should be blocked. + State can only transition to StatePausedBlocked/StateBlocked from + StatePaused/StateWaiting respectively. + + StatePausedBlocked, StateBlocked, or the currentState. + + + + Resume (un-pause) the with the + given name. + + + If the missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + Resume (un-pause) the with the + given name. + + + If any of the 's s missed one + or more fire-times, then the 's misfire + instruction will be applied. + + + + + + Resume (un-pause) all of the s in + the given group. + + + If any of the s had s that + missed one or more fire-times, then the 's + misfire instruction will be applied. + + + + + + Pause all of the s in the given group. + + + + + + Pause all of the s in the given group. + + + + + Pause all of the s in the + given group. + + + + + Resume (un-pause) all of the s + in the given group. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Pause all triggers - equivalent of calling + on every group. + + When is called (to un-pause), trigger misfire + instructions WILL be applied. + + + + + + + + Resume (un-pause) all triggers - equivalent of calling + on every group. + + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Resume (un-pause) all triggers - equivalent of calling + on every group. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + + Get a handle to the next N triggers to be fired, and mark them as 'reserved' + by the calling scheduler. + + + + + + Inform the that the scheduler no longer plans to + fire the given , that it had previously acquired + (reserved). + + + + + Inform the that the scheduler has completed the + firing of the given (and the execution its + associated ), and that the + in the given should be updated if the + is stateful. + + + + + Get a list of all scheduler instances in the cluster that may have failed. + This includes this scheduler if it is checking in for the first time. + + + + + Create dummy objects for fired triggers + that have no scheduler state record. Checkin timestamp and interval are + left as zero on these dummy objects. + + + List of all current s + + + + Cleanup the given database connection. This means restoring + any modified auto commit or transaction isolation connection + attributes, and then closing the underlying connection. + + + + This is separate from closeConnection() because the Spring + integration relies on being able to overload closeConnection() and + expects the same connection back that it originally returned + from the datasource. + + + + + + Closes the supplied connection. + + (Optional) + + + + Rollback the supplied connection. + + (Optional) + + JobPersistenceException thrown if a SQLException occurs when the + connection is rolled back + + + + + Commit the supplied connection. + + The CTH. + if set to true opens a new transaction. + JobPersistenceException thrown if a SQLException occurs when the + + + + Execute the given callback in a transaction. Depending on the JobStore, + the surrounding transaction may be assumed to be already present + (managed). + + + This method just forwards to ExecuteInLock() with a null lockName. + + + + + + Execute the given callback having acquired the given lock. + Depending on the JobStore, the surrounding transaction may be + assumed to be already present (managed). This version is just a + handy wrapper around executeInLock that doesn't require a return + value. + + + The name of the lock to acquire, for example + "TRIGGER_ACCESS". If null, then no lock is acquired, but the + lockCallback is still executed in a transaction. + + + The callback to excute after having acquired the given lock. + + + + + + Execute the given callback having acquired the given lock. + Depending on the JobStore, the surrounding transaction may be + assumed to be already present (managed). + + + The name of the lock to acquire, for example + "TRIGGER_ACCESS". If null, then no lock is acquired, but the + lockCallback is still executed in a transaction. + + + The callback to excute after having acquired the given lock. + + + + + Execute the given callback having optionally acquired 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 acquire, for example + "TRIGGER_ACCESS". If null, then no lock is acquired, but the + lockCallback is still executed in a non-managed transaction. + + + + The callback to excute after having acquired the given lock. + + + + + Execute the given callback having optionally acquired the given lock. + This uses the non-managed transaction connection. + + + The name of the lock to acquire, for example + "TRIGGER_ACCESS". If null, then no lock is acquired, but the + lockCallback is still executed in a non-managed transaction. + + + The callback to excute after having acquired the given lock. + + + + + 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. + + + However, if batch acquisition is used, it is important for this behavior + to be used for all dbs. + + + + + Get or set the ADO.NET driver delegate class name. + + + + + The driver delegate's initialization string. + + + + + set the SQL statement to use to select and lock a row in the "locks" + table. + + + + + + Get whether the threads spawned by this JobStore should be + marked as daemon. Possible threads include the + and the . + + + + + + Get whether to check to see if there are Triggers that have misfired + before actually acquiring the lock to recover them. This should be + set to false if the majority of the time, there are are misfired + Triggers. + + + + + + Get the driver delegate for DB operations. + + + + + Get whether String-only properties will be handled in JobDataMaps. + + + + + Indicates whether this job store supports persistence. + + + + + + + An interface for classes wishing to provide the service of loading classes + and resources within the scheduler... + + James House + Marko Lahma (.NET) + + + + Called to give the ClassLoadHelper a chance to Initialize itself, + including the 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 acquired the given lock. + Because CMT assumes that the connection is already part of a managed + transaction, it does not attempt to commit or rollback the + enclosing transaction. + + + + + + + The name of the lock to acquire, for example + "TRIGGER_ACCESS". If null, then no lock is acquired, but the + txCallback is still executed in a transaction. + + Callback to execute. + + + + is meant to be used in a standalone environment. + Both commit and rollback will be handled by this class. + + Jeffrey Wescott + James House + Marko Lahma (.NET) + + + + Called by the QuartzScheduler before the is + used, in order to give the it a chance to Initialize. + + + + + + + For , the non-managed TX connection is just + the normal connection because it is not CMT. + + + + + + Execute the given callback having optionally 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 + Marko Lahma (.NET) + + + + An exception that is thrown to indicate that there has been a failure in the + scheduler's underlying persistence mechanism. + + James House + Marko Lahma (.NET) + + + + Create a with the given message. + + + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + Create a with the given message + and cause. + + + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + This is a driver delegate for the MySQL ADO.NET driver. + + Marko Lahma + + + + 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) + + + + Initializes the driver delegate. + + + + + Insert the job detail record. + + the DB Connection + the new state for the triggers + the first old state to update + the second old state to update + number of rows updated + + + + Get the names of all of the triggers that have misfired. + + the DB Connection + The ts. + an array of objects + + + + Select all of the triggers in a given state. + + The DB Connection + The state the triggers must be in + an array of trigger s + + + + Get the names of all of the triggers in the given state that have + misfired - according to the given timestamp. + + The DB Connection + The state. + The time stamp. + An array of objects + + + + Get the names of all of the triggers in the given state that have + misfired - according to the given timestamp. No more than count will + be returned. + + The conn. + The state1. + The ts. + The most misfired triggers to return, negative for all + + Output parameter. A List of objects. Must not be null + + Whether there are more misfired triggers left to find beyond the given count. + + + + Get the number of triggers in the given state that have + misfired - according to the given timestamp. + + + + + + + + + Get the names of all of the triggers in the given group and state that + have misfired. + + The DB Connection + Name of the group. + The state. + The timestamp. + an array of objects + + + + Select all of the triggers for jobs that are requesting recovery. The + returned trigger objects will have unique "recoverXXX" trigger names and + will be in the + trigger group. + + + In order to preserve the ordering of the triggers, the fire time will be + set from the ColumnFiredTime column in the TableFiredTriggers + table. The caller is responsible for calling + on each returned trigger. It is also up to the caller to insert the + returned triggers to ensure that they are fired. + + The DB Connection + an array of objects + + + + Delete all fired triggers. + + The DB Connection. + The number of rows deleted. + + + + Delete all fired triggers of the given instance. + + The DB Connection + The instance id. + The number of rows deleted + + + + Clear (delete!) all scheduling data - all s, s + s. + + + + + + + Insert the job detail record. + + The DB Connection. + The job to insert. + Number of rows inserted. + + + + Gets the db presentation for boolean value. Subclasses can overwrite this behaviour. + + Value to map to database. + + + + + Gets the boolean value from db presentation. Subclasses can overwrite this behaviour. + + Value to map from database. + + + + + Gets the db presentation for date/time value. Subclasses can overwrite this behaviour. + + Value to map to database. + + + + + Gets the date/time value from db presentation. Subclasses can overwrite this behaviour. + + Value to map from database. + + + + + Gets the db presentation for time span value. Subclasses can overwrite this behaviour. + + Value to map to database. + + + + + Gets the time span value from db presentation. Subclasses can overwrite this behaviour. + + Value to map from database. + + + + + Update the job detail record. + + The DB Connection. + The job to update. + Number of rows updated. + + + + Get the names of all of the triggers associated with the given job. + + The DB Connection. + The key identifying the job. + An array of objects + + + + Delete the job detail record for the given job. + + the DB Connection + The key identifying the job. + the number of rows deleted + + + + Check whether or not the given job is stateful. + + the DB Connection + The key identifying the job. + + true if the job exists and is stateful, false otherwise + + + + + Check whether or not the given job exists. + + the DB Connection + The key identifying the job. + true if the job exists, false otherwise + + + + Update the job data map for the given job. + + The conn. + the job to update + the number of rows updated + + + + Select the JobDetail object for a given job name / group name. + + The DB Connection. + The key identifying the job. + The load helper. + The populated JobDetail object. + + + build Map from java.util.Properties encoding. + + + + Select the total number of jobs stored. + + The DB Connection. + The total number of jobs stored. + + + + Select all of the job group names that are stored. + + The DB Connection. + An array of group names. + + + + Select all of the jobs contained in a given group. + + The DB Connection. + + An array of job names. + + + + Insert the base trigger data. + + the DB Connection + the trigger to insert + the state that the trigger should be stored in + The job detail. + the number of rows inserted + + + + Insert the blob trigger data. + + The DB Connection. + The trigger to insert. + The number of rows inserted. + + + + Update the base trigger data. + + The DB Connection. + The trigger to insert. + The state that the trigger should be stored in. + The job detail. + The number of rows updated. + + + + Update the blob trigger data. + + The DB Connection. + The trigger to insert. + The number of rows updated. + + + + Check whether or not a trigger exists. + + The DB Connection. + the key of the trigger + true if the trigger exists, false otherwise + + + + Update the state for a given trigger. + + The DB Connection. + the key of the trigger + The new state for the trigger. + The number of rows updated. + + + + Update the given trigger to the given new state, if it is one of the + given old states. + + The DB connection. + the key of the trigger + The new state for the trigger. + One of the old state the trigger must be in. + One of the old state the trigger must be in. + One of the old state the trigger must be in. + The number of rows updated. + + + + Update all triggers in the given group to the given new state, if they + are in one of the given old states. + + The DB connection. + + The new state for the trigger. + One of the old state the trigger must be in. + One of the old state the trigger must be in. + One of the old state the trigger must be in. + The number of rows updated. + + + + Update the given trigger to the given new state, if it is in the given + old state. + + the DB connection + the key of the trigger + the new state for the trigger + the old state the trigger must be in + int the number of rows updated + + + + Update all of the triggers of the given group to the given new state, if + they are in the given old state. + + the DB connection + + the new state for the trigger group + the old state the triggers must be in + int the number of rows updated + + + + Update the states of all triggers associated with the given job. + + the DB Connection + the key of the job + the new state for the triggers + the number of rows updated + + + + Updates the state of the trigger states for job from other. + + The conn. + Key of the job. + The state. + The old state. + + + + + Delete the cron trigger data for a trigger. + + the DB Connection + the key of the trigger + the number of rows deleted + + + + Delete the base trigger data for a trigger. + + the DB Connection + the key of the trigger + the number of rows deleted + + + + Select the number of triggers associated with a given job. + + the DB Connection + the key of the job + the number of triggers for the given job + + + + Select the job to which the trigger is associated. + + the DB Connection + the key of the trigger + The load helper. + The object associated with the given trigger + + + + Select the triggers for a job + + the DB Connection + the key of the job + + an array of objects + associated with a given job. + + + + + Select the triggers for a calendar + + The DB Connection. + Name of the calendar. + + An array of objects associated with a given job. + + + + + Select a trigger. + + the DB Connection + the key of the trigger + The object + + + + Select a trigger's JobDataMap. + + the DB Connection + the key of the trigger + The of the Trigger, never null, but possibly empty. + + + + Select a trigger's state value. + + the DB Connection + the key of the trigger + The object + + + + Select a trigger status (state and next fire time). + + the DB Connection + the key of the trigger + + a object, or null + + + + + Select the total number of triggers stored. + + the DB Connection + the total number of triggers stored + + + + Select all of the trigger group names that are stored. + + the DB Connection + + an array of group names + + + + + Select all of the triggers contained in a given group. + + the DB Connection + + + an array of trigger names + + + + + Inserts the paused trigger group. + + The conn. + Name of the group. + + + + + Deletes the paused trigger group. + + The conn. + Name of the group. + + + + + Deletes all paused trigger groups. + + The conn. + + + + + Determines whether the specified trigger group is paused. + + The conn. + Name of the group. + + true if trigger group is paused; otherwise, false. + + + + + Determines whether given trigger group already exists. + + The conn. + Name of the group. + + true if trigger group exists; otherwise, false. + + + + + Insert a new calendar. + + the DB Connection + The name for the new calendar. + The calendar. + the number of rows inserted + IOException + + + + Update a calendar. + + the DB Connection + The name for the new calendar. + The calendar. + the number of rows updated + IOException + + + + Check whether or not a calendar exists. + + the DB Connection + The name of the calendar. + + true if the trigger exists, false otherwise + + + + + Select a calendar. + + the DB Connection + The name of the calendar. + the Calendar + ClassNotFoundException + IOException + + + + Check whether or not a calendar is referenced by any triggers. + + the DB Connection + The name of the calendar. + + true if any triggers reference the calendar, false otherwise + + + + + Delete a calendar. + + the DB Connection + The name of the trigger. + the number of rows deleted + + + + Select the total number of calendars stored. + + the DB Connection + the total number of calendars stored + + + + Select all of the stored calendars. + + the DB Connection + + an array of calendar names + + + + + Select the trigger that will be fired at the given fire time. + + the DB Connection + the time that the trigger will be fired + + a representing the + trigger that will be fired at the given fire time, or null if no + trigger will be fired at that time + + + + + Select the next trigger which will fire to fire between the two given timestamps + in ascending order of fire time, and then descending by priority. + + The conn. + highest value of of the triggers (exclusive) + highest value of of the triggers (inclusive) + maximum number of trigger keys allow to acquired in the returning list. + A (never null, possibly empty) list of the identifiers (Key objects) of the next triggers to be fired. + + + + Insert a fired trigger. + + the DB Connection + the trigger + the state that the trigger should be stored in + The job. + the number of rows inserted + + + + + Update a fired trigger. + + + + + + the DB Connection + + the trigger + + + the state that the trigger should be stored in + the number of rows inserted + + + + Select the states of all fired-trigger records for a given trigger, or + trigger group if trigger name is . + + The DB connection. + Name of the trigger. + Name of the group. + a List of objects. + + + + Select the states of all fired-trigger records for a given job, or job + group if job name is . + + The DB connection. + Name of the job. + Name of the group. + a List of objects. + + + + Select the states of all fired-trigger records for a given scheduler + instance. + + The DB Connection + Name of the instance. + A list of FiredTriggerRecord objects. + + + + Select the distinct instance names of all fired-trigger records. + + The conn. + + + This is useful when trying to identify orphaned fired triggers (a + fired trigger without a scheduler state record.) + + + + + Delete a fired trigger. + + the DB Connection + the fired trigger entry to delete + the number of rows deleted + + + + Selects the job execution count. + + The DB connection. + The key of the job. + + + + + Inserts the state of the scheduler. + + The conn. + The instance id. + The check in time. + The interval. + + + + + Deletes the state of the scheduler. + + The database connection. + The instance id. + + + + + Updates the state of the scheduler. + + The database connection. + The instance id. + The check in time. + + + + + A List of all current s. + + If instanceId is not null, then only the record for the identified + instance will be returned. + + + The DB Connection + The instance id. + + + + + Replace the table prefix in a query by replacing any occurrences of + "{0}" with the table prefix. + + The 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. + + + + This method should be overridden by any delegate subclasses that need + special handling for BLOBs for job details. + + The result set, already queued to the correct row. + The column index for the BLOB. + The deserialized Object from the ResultSet BLOB. + + + + Selects the paused trigger groups. + + The DB Connection. + + + + + Gets the select next trigger to acquire SQL clause. + MySQL version with LIMIT support. + + + + + + Exception class for when a driver delegate cannot be found for a given + configuration, or lack thereof. + + Jeffrey Wescott + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + This is a driver delegate for the Oracle database. + + Marko Lahma + + + + Creates the SQL for select next trigger to acquire. + + + + + Gets the db presentation for boolean value. For Oracle we use true/false of "1"/"0". + + Value to map to database. + + + + + Conveys a scheduler-instance state record. + + James House + Marko Lahma (.NET) + + + + Gets or sets the checkin interval. + + The checkin interval. + + + + Gets or sets the checkin timestamp. + + The checkin timestamp. + + + + Gets or sets the scheduler instance id. + + The scheduler instance id. + + + + Internal in-memory lock handler for providing thread/resource locking in + order to protect resources from being altered by multiple threads at the + same time. + + James House + Marko Lahma (.NET) + + + + Grants a lock on the identified resource to the calling thread (blocking + until it is available). + + True if the lock was obtained. + + + Release the lock on the identified resource if it is held by the calling + thread. + + + + + Determine whether the calling thread owns a lock on the identified + resource. + + + + + Gets the thread locks. + + The thread locks. + + + + Whether this Semaphore implementation requires a database connection for + its lock management operations. + + + + + + + + + This is a driver delegate for the SQLiteDelegate ADO.NET driver. + + Marko Lahma + + + + Gets the select next trigger to acquire SQL clause. + SQLite version with LIMIT support. + + + + + + A SQL Server specific driver delegate. + + Marko Lahma + + + + Gets the select next trigger to acquire SQL clause. + SQL Server specific version with TOP functionality + + + + + + Internal database based lock handler for providing thread/resource locking + in order to protect resources from being altered by multiple threads at the + same time. + + James House + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + The table prefix. + the scheduler name + The select with lock SQL. + + + + + Execute the SQL select for update that will lock the proper database row. + + + + + Property name and value holder for trigger state data. + + + + + Object representing a job or trigger key. + + James House + Marko Lahma (.NET) + + + + Construct a new TriggerStatus with the status name and nextFireTime. + + The trigger's status + The next time trigger will fire + + + + Return the string representation of the TriggerStatus. + + + + + + Provide thread/resource locking in order to protect + resources from being altered by multiple threads at the same time using + a db row update. + + + + Note: This Semaphore implementation is useful for databases that do + not support row locking via "SELECT FOR UPDATE" or SQL Server's type syntax. + + + As of Quartz.NET 2.0 version there is no need to use this implementation for + SQL Server databases. + + + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Execute the SQL that will lock the proper database row. + + + + + + + + + This implementation of the Calendar excludes a set of days of the year. You + may use it to exclude bank holidays which are on the same date every year. + + + + Juergen Donnerstag + Marko Lahma (.NET) + + + + This implementation of the Calendar may be used (you don't have to) as a + base class for more sophisticated one's. It merely implements the base + functionality required by each Calendar. + + + Regarded as base functionality is the treatment of base calendars. Base + calendar allow you to chain (stack) as much calendars as you may need. For + example to exclude weekends you may use WeeklyCalendar. In order to exclude + holidays as well you may define a WeeklyCalendar instance to be the base + calendar for HolidayCalendar instance. + + + Juergen Donnerstag + James House + Marko Lahma (.NET) + + + + An interface to be implemented by objects that define spaces of time during + which an associated may (not) fire. Calendars + do not define actual fire times, but rather are used to limit a + from firing on its normal schedule if necessary. Most + Calendars include all times by default and allow the user to specify times + to exclude. + + + As such, it is often useful to think of Calendars as being used to exclude a block + of time - as opposed to include a block of time. (i.e. the + schedule "fire every five minutes except on Sundays" could be + implemented with a and a + which excludes Sundays) + + Implementations MUST take care of being properly cloneable and Serializable. + + + James House + Juergen Donnerstag + Marko Lahma (.NET) + + + + Determine whether the given UTC time is 'included' by the + Calendar. + + + + + Determine the next UTC time that is 'included' by the + Calendar after the given UTC time. + + + + + Gets or sets a description for the instance - may be + useful for remembering/displaying the purpose of the calendar, though + the description has no meaning to Quartz. + + + + + Set a new base calendar or remove the existing one. + Get the base calendar. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The base calendar. + + + + Initializes a new instance of the class. + + The time zone. + + + + Initializes a new instance of the class. + + The base calendar. + The time zone. + + + + Serialization constructor. + + + + + + + checks whether two arrays have + the same length and + for any given place there are equal elements + in both arrays + + + + + + Get the base calendar. Will be null, if not set. + + + + + Check if date/time represented by timeStamp is included. If included + return true. The implementation of BaseCalendar simply calls the base + calendars IsTimeIncluded() method if base calendar is set. + + + + + + Determine the next UTC time (in milliseconds) that is 'included' by the + Calendar after the given time. Return the original value if timeStamp is + included. Return 0 if all days are excluded. + + + + + + Creates a new object that is a copy of the current instance. + + A new object that is a copy of this instance. + + + + Gets or sets the time zone. + + The time zone. + + + + Gets or sets the description given to the instance by + its creator (if any). + + + + + Set a new base calendar or remove the existing one + + + + + + Constructor + + + + + Constructor + + The base calendar. + + + + Serialization constructor. + + + + + + + Return true, if day is defined to be 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 + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + a string representation of the desired cron expression + + + + Create a with the given cron expression and + . + + + the base calendar for this calendar instance + see BaseCalendar for more information on base + calendar functionality + + a string representation of the desired cron expression + + + + Create a with the given cron expression and + . + + + the base calendar for this calendar instance + see BaseCalendar for more information on base + calendar functionality + + a string representation of the desired cron expression + + + + + Serialization constructor. + + + + + + + Determine whether the given time is 'included' by the + Calendar. + + the time to test + a boolean indicating whether the specified time is 'included' by the CronCalendar + + + + Determine the next time that is 'included' by the + Calendar after the given time. Return the original value if timeStamp is + included. Return 0 if all days are excluded. + + + + + + + Creates a new object that is a copy of the current instance. + + A new object that is a copy of this instance. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Sets the cron expression for the calendar to a new value. + + The expression. + + + + Returns the object representation of the cron expression that defines the + dates and times this calendar excludes. + + + + + This implementation of the Calendar excludes (or includes - see below) a + specified time range each day. + + + For example, you could use this calendar to + exclude business hours (8AM - 5PM) every day. Each + only allows a single time range to be specified, and that time range may not + * cross daily boundaries (i.e. you cannot specify a time range from 8PM - 5AM). + If the property is (default), + the time range defines a range of times in which triggers are not allowed to + * fire. If is , the time range + is inverted: that is, all times outside the defined time range + are excluded. + + Note when using , it behaves on the same principals + as, for example, WeeklyCalendar defines a set of days that are + excluded every week. Likewise, defines a + set of times that are excluded every day. + + + Mike Funk + Aaron Craven + Marko Lahma (.NET) + + + + Create a with a time range defined by the + specified strings and no baseCalendar. + and + must be in the format "HH:MM[:SS[:mmm]]" where: +
    +
  • + HH is the hour of the specified time. The hour should be + specified using military (24-hour) time and must be in the range + 0 to 23. +
  • +
  • + MM is the minute of the specified time and must be in the range + 0 to 59. +
  • +
  • + SS is the second of the specified time and must be in the range + 0 to 59. +
  • +
  • + mmm is the millisecond of the specified time and must be in the + range 0 to 999. +
  • +
  • items enclosed in brackets ('[', ']') are optional.
  • +
  • + The time range starting time must be before the time range ending + time. Note this means that a time range may not cross daily + boundaries (10PM - 2AM) +
  • +
+
+
+ + + 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. +
+ + + Serialization constructor. + + + + + + + Determine whether the given time is 'included' by the + Calendar. + + + + + + + Determine the next time (in milliseconds) that is 'included' by the + Calendar after the given time. Return the original value if timeStamp is + included. Return 0 if all days are excluded. + + + + + + + + Returns the start time of the time range of the day + specified in . + + + a DateTime representing the start time of the + time range for the specified date. + + + + + Returns the end time of the time range of the day + specified in + + + A DateTime representing the end time of the + time range for the specified date. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Sets the time range for the to the times + represented in the specified Strings. + + The range starting time string. + The range ending time string. + + + + Sets the time range for the to the times + represented in the specified values. + + The range starting hour of day. + The range starting minute. + The range starting second. + The range starting millis. + The range ending hour of day. + The range ending minute. + The range ending second. + The range ending millis. + + + + Sets the time range for the to the times + represented in the specified s. + + The range starting calendar. + The range ending calendar. + + + + Sets the time range for the to the times + represented in the specified values. + + The range starting time. + The range ending time. + + + + Gets the start of day, practically zeroes time part. + + The time. + + + + + Gets the end of day, 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 + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The base calendar. + + + + Serialization constructor. + + + + + + + Determine whether the given time (in milliseconds) is 'included' by the + Calendar. + + Note that this Calendar is only has full-day precision. + + + + + + Determine the next time (in milliseconds) that is 'included' by the + Calendar after the given time. + + Note that this Calendar is only has full-day precision. + + + + + + Creates a new object that is a copy of the current instance. + + A new object that is a copy of this instance. + + + + Add the given Date to the list of excluded days. Only the month, day and + year of the returned dates are significant. + + + + + Removes the excluded date. + + The date to remove. + + + + Returns a of Dates representing the excluded + days. Only the month, day and year of the returned dates are + significant. + + + + + This implementation of the Calendar excludes a set of days of the month. You + may use it to exclude every 1. of each month for example. But you may define + any day of a month. + + + + Juergen Donnerstag + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Constructor + + The base calendar. + + + + Serialization constructor. + + + + + + + Initialize internal variables + + + + + Return true, if 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. + + + + + + Creates a new object that is a copy of the current instance. + + A new object that is a copy of this instance. + + + + Get or set the array which defines the exclude-value of each day of month + Setting will redefine the array of days excluded. The array must of size greater or + equal 31. + + + + + This implementation of the Calendar excludes a set of days of the week. You + may use it to exclude weekends for example. But you may define any day of + the week. + + + + Juergen Donnerstag + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The base calendar. + + + + Serialization constructor. + + + + + + + Initialize internal variables + + + + + Return true, if wday is defined to be 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. + + + + + Matches using an AND operator on two Matcher operands. + + James House + Marko Lahma (.NET) + + + + Matchers can be used in various API methods to + select the entities that should be operated upon. + + James House + + + + + Create an AndMatcher that depends upon the result of both of the given matchers. + + + + + + + + + Matches on the complete key being equal (both name and group). + + + + jhouse + + + + Create an EverythingMatcher that matches all jobs. + + + + + + Create an EverythingMatcher that matches all triggers. + + + + + + Matches on group (ignores name) property of Keys. + + James House + Marko Lahma (.NET) + + + + An abstract base class for some types of matchers. + + James House + Marko Lahma (.NET) + + + + Create a GroupMatcher that matches groups equaling the given string. + + + + + + + Create a GroupMatcher that matches groups starting with the given string. + + + + + + + Create a GroupMatcher that matches groups ending with the given string. + + + + + + + Create a GroupMatcher that matches groups containing the given string. + + + + + + + Matches on the complete key being equal (both name and group). + + James House + Marko Lahma (.NET) + + + + Create a KeyMatcher that matches Keys that equal the given key. + + + + + + + + Matches on name (ignores group) property of Keys. + + James House + Marko Lahma (.NET) + + + + Create a NameMatcher that matches names equaling the given string. + + + + + + + Create a NameMatcher that matches names starting with the given string. + + + + + + + Create a NameMatcher that matches names ending with the given string. + + + + + + + Create a NameMatcher that matches names containing the given string. + + + + + + + Matches using an NOT operator on another Matcher. + + James House + Marko Lahma (.NET) + + + + Create a NotMatcher that reverses the result of the given matcher. + + + + + + + + Matches using an OR operator on two Matcher operands. + + James House + Marko Lahma (.NET) + + + + Create an OrMatcher that depends upon the result of at least one of the given matchers. + + + + + + + + + Operators available for comparing string values. + + + + + The base abstract class to be extended by all triggers. + + + + s have a name and group associated with them, which + should uniquely identify them within a single . + + + + s are the 'mechanism' by which s + are scheduled. Many s can point to the same , + but a single can only point to one . + + + + Triggers can 'send' parameters/data to s by placing contents + into the on the . + + + + + + + + James House + Sharada Jambula + Marko Lahma (.NET) + + + + Internal interface for managing triggers. This interface should not be used by the Quartz client. + + + + + Should not be used by end users. + + + + + The base interface with properties common to all s - + use to instantiate an actual Trigger. + + + + s have a associated with them, which + should uniquely identify them within a single . + + + + s are the 'mechanism' by which s + are scheduled. Many s can point to the same , + but a single can only point to one . + + + + Triggers can 'send' parameters/data to s by placing contents + into the on the . + + + + + + + + + + James House + Sharada Jambula + Marko Lahma (.NET) + + + + Get a that is configured to produce a + schedule identical to this trigger's schedule. + + + + + + Used by the to determine whether or not + it is possible for this to fire again. + + If the returned value is then the + may remove the from the . + + + + + + Returns the next time at which the is scheduled to fire. If + the trigger will not fire again, will be returned. Note that + the time returned can possibly be in the past, if the time that was computed + for the trigger to next fire has already arrived, but the scheduler has not yet + been able to fire the trigger (which would likely be due to lack of resources + e.g. threads). + + + The value returned is not guaranteed to be valid until after the + has been added to the scheduler. + + + + + + Returns the previous time at which the fired. + If the trigger has not yet fired, will be returned. + + + + + Returns the next time at which the will fire, + after the given time. If the trigger will not fire after the given time, + will be returned. + + + + + Get or set the description given to the instance by + its creator (if any). + + + + + Get or set the with the given name with + this Trigger. Use when setting to dis-associate a Calendar. + + + + + Get or set the that is associated with the + . + + Changes made to this map during job execution are not re-persisted, and + in fact typically result in an illegal state. + + + + + + Returns the last UTC time at which the will fire, if + the Trigger will repeat indefinitely, null will be returned. + + Note that the return time *may* be in the past. + + + + + + Get or set the instruction the should be given for + handling misfire situations for this - the + concrete type that you are using will have + defined a set of additional MISFIRE_INSTRUCTION_XXX + constants that may be set to this property. + + If not explicitly set, the default value is . + + + + + + + + + Gets and sets the date/time on which the trigger must stop firing. This + defines the final boundary for trigger firings 舒 the trigger will + not fire after to this date and time. If this value is null, no end time + boundary is assumed, and the trigger can continue indefinitely. + + + + + The time at which the trigger's scheduling should start. May or may not + be the first actual fire time of the trigger, depending upon the type of + trigger and the settings of the other properties of the trigger. However + the first actual first time will not be before this date. + + + Setting a value in the past may cause a new trigger to compute a first + fire time that is in the past, which may cause an immediate misfire + of the trigger. + + + + + The priority of a acts as a tie breaker such that if + two s have the same scheduled fire time, then Quartz + will do its best to give the one with the higher priority first access + to a worker thread. + + + If not explicitly set, the default value is 5. + + + + + + + Set a description for the instance - may be + useful for remembering/displaying the purpose of the trigger, though the + description has no meaning to Quartz. + + + + + Associate the with the given name with this Trigger. + + + + + Set the to be associated with the + . + + + + + The priority of a acts as a tie breaker such that if + two s have the same scheduled fire time, then Quartz + will do its best to give the one with the higher priority first access + to a worker thread. + + + If not explicitly set, the default value is 5. + + + + + + + The time at which the trigger's scheduling should start. May or may not + be the first actual fire time of the trigger, depending upon the type of + trigger and the settings of the other properties of the trigger. However + the first actual first time will not be before this date. + + + Setting a value in the past may cause a new trigger to compute a first + fire time that is in the past, which may cause an immediate misfire + of the trigger. + + ew DateTimeOffset StartTimeUtc { get; set; } + + + + + + Set the time at which the should quit repeating - + regardless of any remaining repeats (based on the trigger's particular + repeat settings). + + + + + + + + Set the instruction the should be given for + handling misfire situations for this - the + concrete type that you are using will have + defined a set of additional MisfireInstruction.XXX + constants that may be passed to this method. + + + If not explicitly set, the default value is . + + + + + + + + This method should not be used by the Quartz client. + + + Called when the has decided to 'fire' + the trigger (Execute the associated ), in order to + give the a chance to update itself for its next + triggering (if any). + + + + + + This method should not be used by the Quartz client. + + + + Called by the scheduler at the time a is first + added to the scheduler, in order to have the + compute its first fire time, based on any associated calendar. + + + + After this method has been called, + should return a valid answer. + + + + The first time at which the will be fired + by the scheduler, which is also the same value + will return (until after the first firing of the ). + + + + + This method should not be used by the Quartz client. + + + Called after the has executed the + associated with the + in order to get the final instruction code from the trigger. + + + is the that was used by the + 's method. + is the thrown by the + , if any (may be null). + + + One of the members. + + + + + + + + + + This method should not be used by the Quartz client. + + To be implemented by the concrete classes that extend this class. + + + The implementation should update the 's state + based on the MISFIRE_INSTRUCTION_XXX that was selected when the + was created. + + + + + + This method should not be used by the Quartz client. + + The implementation should update the 's state + based on the given new version of the associated + (the state should be updated so that it's next fire time is appropriate + given the Calendar's new settings). + + + + + + + + Validates whether the properties of the are + valid for submission into a . + + + + + This method should not be used by the Quartz client. + + + Usable by + implementations, in order to facilitate 'recognizing' instances of fired + s as their jobs complete execution. + + + + + Returns the previous time at which the fired. + If the trigger has not yet fired, will be returned. + + + + + Create a with no specified name, group, or . + + + Note that the , and + the and properties + must be set before the can be placed into a + . + + + + + Create a with the given name, and default group. + + + Note that the and + properties must be set before the + can be placed into a . + + The name. + + + + Create a with the given name, and group. + + + Note that the and + properties must be set before the + can be placed into a . + + The name. + if , Scheduler.DefaultGroup will be used. + + + + Create a with the given name, and group. + + The name. + if , Scheduler.DefaultGroup will be used. + Name of the job. + The job group. + ArgumentException + if name is null or empty, or the group is an empty string. + + + + + This method should not be used by the Quartz client. + + + Called when the has decided to 'fire' + the trigger (Execute the associated ), in order to + give the a chance to update itself for its next + triggering (if any). + + + + + + This method should not be used by the Quartz client. + + + + Called by the scheduler at the time a is first + added to the scheduler, in order to have the + compute its first fire time, based on any associated calendar. + + + + After this method has been called, + should return a valid answer. + + + + The first time at which the will be fired + by the scheduler, which is also the same value + will return (until after the first firing of the ). + + + + + This method should not be used by the Quartz client. + + + Called after the has executed the + associated with the + in order to get the final instruction code from the trigger. + + + is the that was used by the + 's method. + is the thrown by the + , if any (may be null). + + + One of the members. + + + + + + + Used by the to determine whether or not + it is possible for this to fire again. + + If the returned value is then the + may remove the from the . + + + + + + Returns the next time at which the is scheduled to fire. If + the trigger will not fire again, will be returned. Note that + the time returned can possibly be in the past, if the time that was computed + for the trigger to next fire has already arrived, but the scheduler has not yet + been able to fire the trigger (which would likely be due to lack of resources + e.g. threads). + + + The value returned is not guaranteed to be valid until after the + has been added to the scheduler. + + + + + + Returns the next time at which the will fire, + after the given time. If the trigger will not fire after the given time, + will be returned. + + + + + Validates the misfire instruction. + + The misfire instruction. + + + + + This method should not be used by the Quartz client. + + To be implemented by the concrete classes that extend this class. + + + The implementation should update the 's state + based on the MISFIRE_INSTRUCTION_XXX that was selected when the + was created. + + + + + + This method should not be used by the Quartz client. + + The implementation should update the 's state + based on the given new version of the associated + (the state should be updated so that it's next fire time is appropriate + given the Calendar's new settings). + + + + + + + + Validates whether the properties of the are + valid for submission into a . + + + + + Return a simple string representation of this object. + + + + + Compare the next fire time of this to that of + another by comparing their keys, or in other words, sorts them + according to the natural (i.e. alphabetical) order of their keys. + + + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Trigger equality is based upon the equality of the TriggerKey. + + + true if the key of this Trigger equals that of the given Trigger + + + + Serves as a hash function for a particular type. is suitable for use in hashing algorithms and data structures like a hash table. + + + A hash code for the current . + + + + + Creates a new object that is a copy of the current instance. + + + A new object that is a copy of this instance. + + + + + Get or sets the name of this . + + If name is null or empty. + + + + Get the group of this . If , Scheduler.DefaultGroup will be used. + + + if group is an empty string. + + + + + Get or set the name of the associated . + + + if jobName is null or empty. + + + + + Gets or sets the name of the associated 's + group. If set with , Scheduler.DefaultGroup will be used. + + ArgumentException + if group is an empty string. + + + + + Returns the 'full name' of the in the format + "group.name". + + + + + Gets the key. + + The key. + + + + Returns the 'full name' of the that the + points to, in the format "group.name". + + + + + Get or set the description given to the instance by + its creator (if any). + + + + + Get or set the with the given name with + this Trigger. Use when setting to dis-associate a Calendar. + + + + + Get or set the that is associated with the + . + + Changes made to this map during job execution are not re-persisted, and + in fact typically result in an illegal state. + + + + + + Returns the last UTC time at which the will fire, if + the Trigger will repeat indefinitely, null will be returned. + + Note that the return time *may* be in the past. + + + + + + Get or set the instruction the should be given for + handling misfire situations for this - the + concrete type that you are using will have + defined a set of additional MISFIRE_INSTRUCTION_XXX + constants that may be passed to this method. + + If not explicitly set, the default value is . + + + + + + + + + + This method should not be used by the Quartz client. + + + Usable by + implementations, in order to facilitate 'recognizing' instances of fired + s as their jobs complete execution. + + + + + Gets and sets the date/time on which the trigger must stop firing. This + defines the final boundary for trigger firings 舒 the trigger will + not fire after to this date and time. If this value is null, no end time + boundary is assumed, and the trigger can continue indefinitely. + + + + + The time at which the trigger's scheduling should start. May or may not + be the first actual fire time of the trigger, depending upon the type of + trigger and the settings of the other properties of the trigger. However + the first actual first time will not be before this date. + + + Setting a value in the past may cause a new trigger to compute a first + fire time that is in the past, which may cause an immediate misfire + of the trigger. + + + + + Tells whether this Trigger instance can handle events + in millisecond precision. + + + + + The priority of a acts as a tie breaker such that if + two s have the same scheduled fire time, then Quartz + will do its best to give the one with the higher priority first access + to a worker thread. + + + If not explicitly set, the default value is 5. + + + + + + + Gets a value indicating whether this instance has additional properties + that should be considered when for example saving to database. + + + If trigger implementation has additional properties that need to be saved + with base properties you need to make your class override this property with value true. + Returning true will effectively mean that ADOJobStore needs to serialize + this trigger instance to make sure additional properties are also saved. + + + true if this instance has additional properties; otherwise, false. + + + + + A concrete that is used to fire a + based upon repeating calendar time intervals. + + + The trigger will fire every N (see ) units of calendar time + (see ) as specified in the trigger's definition. + This trigger can achieve schedules that are not possible with (e.g + because months are not a fixed number of seconds) or (e.g. because + "every 5 months" is not an even divisor of 12). + + If you use an interval unit of then care should be taken when setting + a value that is on a day near the end of the month. For example, + if you choose a start time that occurs on January 31st, and have a trigger with unit + and interval 1, then the next fire time will be February 28th, + and the next time after that will be March 28th - and essentially each subsequent firing will + occur on the 28th of the month, even if a 31st day exists. If you want a trigger that always + fires on the last day of the month - regardless of the number of days in the month, + you should use . + + + + + + + 2.0 + James House + Marko Lahma (.NET) + + + + A that is used to fire a + based upon repeating calendar time intervals. + + + + + Get or set the interval unit - the time unit on with the interval applies. + + + + + Get the the time interval that will be added to the 's + fire time (in the set repeat interval unit) in order to calculate the time of the + next trigger repeat. + + + + + Get the number of times the has already fired. + + + + + Create a with no settings. + + + + + Create a that will occur immediately, and + repeat at the the given interval. + + Name for the trigger instance. + The repeat interval unit (minutes, days, months, etc). + The number of milliseconds to pause between the repeat firing. + + + + Create a that will occur immediately, and + repeat at the the given interval + + Name for the trigger instance. + Group for the trigger instance. + The repeat interval unit (minutes, days, months, etc). + The number of milliseconds to pause between the repeat firing. + + + + Create a that will occur at the given time, + and repeat at the the given interval until the given end time. + + Name for the trigger instance. + A set to the time for the to fire. + A set to the time for the to quit repeat firing. + The repeat interval unit (minutes, days, months, etc). + The number of milliseconds to pause between the repeat firing. + + + + Create a that will occur at the given time, + and repeat at the the given interval until the given end time. + + Name for the trigger instance. + Group for the trigger instance. + A set to the time for the to fire. + A set to the time for the to quit repeat firing. + The repeat interval unit (minutes, days, months, etc). + The number of milliseconds to pause between the repeat firing. + + + + Create a that will occur at the given time, + and repeat at the the given interval until the given end time. + + Name for the trigger instance. + Group for the trigger instance. + Name of the associated job. + Group of the associated job. + A set to the time for the to fire. + A set to the time for the to quit repeat firing. + The repeat interval unit (minutes, days, months, etc). + The number of milliseconds to pause between the repeat firing. + + + + Validates the misfire instruction. + + The misfire instruction. + + + + + Updates the 's state based on the + MisfireInstruction.XXX that was selected when the + was created. + + + If the misfire instruction is set to , + then the following scheme will be used: +
    +
  • The instruction will be interpreted as
  • +
+
+
+ + + This method should not be used by the Quartz client. + + Called when the has decided to 'fire' + the trigger (Execute the associated ), in order to + give the a chance to update itself for its next + triggering (if any). + + + + + + + This method should not be used by the Quartz client. + + The implementation should update the 's state + based on the given new version of the associated + (the state should be updated so that it's next fire time is appropriate + given the Calendar's new settings). + + + + + + + + This method should not be used by the Quartz client. + + + + Called by the scheduler at the time a is first + added to the scheduler, in order to have the + compute its first fire time, based on any associated calendar. + + + + After this method has been called, + should return a valid answer. + + + + The first time at which the will be fired + by the scheduler, which is also the same value + will return (until after the first firing of the ). + + + + + Returns the next time at which the is scheduled to fire. If + the trigger will not fire again, will be returned. Note that + the time returned can possibly be in the past, if the time that was computed + for the trigger to next fire has already arrived, but the scheduler has not yet + been able to fire the trigger (which would likely be due to lack of resources + e.g. threads). + + + The value returned is not guaranteed to be valid until after the + has been added to the scheduler. + + + + + + Returns the previous time at which the fired. + If the trigger has not yet fired, will be returned. + + + + + Returns the next time at which the will fire, + after the given time. If the trigger will not fire after the given time, + will be returned. + + + + + Determines whether or not the will occur + again. + + + + + + Validates whether the properties of the are + valid for submission into a . + + + + + Get a that is configured to produce a + schedule identical to this trigger's schedule. + + + + + + + + Get the time at which the should occur. + + + + + Tells whether this Trigger instance can handle events + in millisecond precision. + + + + + Get the time at which the should quit + repeating. + + + + + Get or set the interval unit - the time unit on with the interval applies. + + + + + Get the the time interval that will be added to the 's + fire time (in the set repeat interval unit) in order to calculate the time of the + next trigger repeat. + + + + + Get the number of times the has already fired. + + + + + Returns the final time at which the will + fire, if there is no end time set, null will be returned. + + + Note that the return time may be in the past. + + + + A concrete that is used to fire a + at given moments in time, defined with Unix 'cron-like' definitions. + + + + For those unfamiliar with "cron", this means being able to create a firing + schedule such as: "At 8:00am every Monday through Friday" or "At 1:30am + every last Friday of the month". + + + + The format of a "Cron-Expression" string is documented on the + class. + + + + Here are some full examples:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Expression Meaning
"0 0 12 * * ?"" /> Fire at 12pm (noon) every day" />
"0 15 10 ? * *"" /> Fire at 10:15am every day" />
"0 15 10 * * ?"" /> Fire at 10:15am every day" />
"0 15 10 * * ? *"" /> Fire at 10:15am every day" />
"0 15 10 * * ? 2005"" /> Fire at 10:15am every day during the year 2005" /> +
"0 * 14 * * ?"" /> Fire every minute starting at 2pm and ending at 2:59pm, every day" /> +
"0 0/5 14 * * ?"" /> Fire every 5 minutes starting at 2pm and ending at 2:55pm, every day" /> +
"0 0/5 14,18 * * ?"" /> Fire every 5 minutes starting at 2pm and ending at 2:55pm, AND fire every 5 minutes starting at 6pm and ending at 6:55pm, every day" /> +
"0 0-5 14 * * ?"" /> Fire every minute starting at 2pm and ending at 2:05pm, every day" /> +
"0 10,44 14 ? 3 WED"" /> Fire at 2:10pm and at 2:44pm every Wednesday in the month of March." /> +
"0 15 10 ? * MON-FRI"" /> Fire at 10:15am every Monday, Tuesday, Wednesday, Thursday and Friday" /> +
"0 15 10 15 * ?"" /> Fire at 10:15am on the 15th day of every month" /> +
"0 15 10 L * ?"" /> Fire at 10:15am on the last day of every month" /> +
"0 15 10 ? * 6L"" /> Fire at 10:15am on the last Friday of every month" /> +
"0 15 10 ? * 6L"" /> Fire at 10:15am on the last Friday of every month" /> +
"0 15 10 ? * 6L 2002-2005"" /> Fire at 10:15am on every last Friday of every month during the years 2002, 2003, 2004 and 2005" /> +
"0 15 10 ? * 6#3"" /> Fire at 10:15am on the third Friday of every month" /> +
+
+ + + Pay attention to the effects of '?' and '*' in the day-of-week and + day-of-month fields! + + + + NOTES: +
    +
  • Support for specifying both a day-of-week and a day-of-month value is + not complete (you'll need to use the '?' character in on of these fields). +
  • +
  • Be careful when setting fire times between mid-night and 1:00 AM - + "daylight savings" can cause a skip or a repeat depending on whether the + time moves back or jumps forward.
  • +
+
+
+ + + Sharada Jambula + James House + Contributions from Mads Henderson + Marko Lahma (.NET) +
+ + + The public interface for inspecting settings specific to a CronTrigger, + which is used to fire a + at given moments in time, defined with Unix 'cron-like' schedule definitions. + + + + For those unfamiliar with "cron", this means being able to create a firing + schedule such as: "At 8:00am every Monday through Friday" or "At 1:30am + every last Friday of the month". + + + + The format of a "Cron-Expression" string is documented on the + class. + + + + Here are some full examples:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Expression Meaning
"0 0 12 * * ?"" /> Fire at 12pm (noon) every day" />
"0 15 10 ? * *"" /> Fire at 10:15am every day" />
"0 15 10 * * ?"" /> Fire at 10:15am every day" />
"0 15 10 * * ? *"" /> Fire at 10:15am every day" />
"0 15 10 * * ? 2005"" /> Fire at 10:15am every day during the year 2005" /> +
"0 * 14 * * ?"" /> Fire every minute starting at 2pm and ending at 2:59pm, every day" /> +
"0 0/5 14 * * ?"" /> Fire every 5 minutes starting at 2pm and ending at 2:55pm, every day" /> +
"0 0/5 14,18 * * ?"" /> Fire every 5 minutes starting at 2pm and ending at 2:55pm, AND fire every 5 minutes starting at 6pm and ending at 6:55pm, every day" /> +
"0 0-5 14 * * ?"" /> Fire every minute starting at 2pm and ending at 2:05pm, every day" /> +
"0 10,44 14 ? 3 WED"" /> Fire at 2:10pm and at 2:44pm every Wednesday in the month of March." /> +
"0 15 10 ? * MON-FRI"" /> Fire at 10:15am every Monday, Tuesday, Wednesday, Thursday and Friday" /> +
"0 15 10 15 * ?"" /> Fire at 10:15am on the 15th day of every month" /> +
"0 15 10 L * ?"" /> Fire at 10:15am on the last day of every month" /> +
"0 15 10 ? * 6L"" /> Fire at 10:15am on the last Friday of every month" /> +
"0 15 10 ? * 6L"" /> Fire at 10:15am on the last Friday of every month" /> +
"0 15 10 ? * 6L 2002-2005"" /> Fire at 10:15am on every last Friday of every month during the years 2002, 2003, 2004 and 2005" /> +
"0 15 10 ? * 6#3"" /> Fire at 10:15am on the third Friday of every month" /> +
+
+ + + Pay attention to the effects of '?' and '*' in the day-of-week and + day-of-month fields! + + + + NOTES: +
    +
  • Support for specifying both a day-of-week and a day-of-month value is + not complete (you'll need to use the '?' character in on of these fields). +
  • +
  • Be careful when setting fire times between mid-night and 1:00 AM - + "daylight savings" can cause a skip or a repeat depending on whether the + time moves back or jumps forward.
  • +
+
+
+ + + Sharada Jambula + James House + Contributions from Mads Henderson + Marko Lahma (.NET) +
+ + + Gets the expression summary. + + + + + + Gets or sets the cron expression string. + + The cron expression string. + + + + Sets the time zone for which the of this + will be resolved. + + + If is set after this + property, the TimeZone setting on the CronExpression will "win". However + if is set after this property, the + time zone applied by this method will remain in effect, since the + string cron expression does not carry a time zone! + + The time zone. + + + + Create a with no settings. + + + The start-time will also be set to the current time, and the time zone + will be set the the system's default time zone. + + + + + Create a with the given name and default group. + + + The start-time will also be set to the current time, and the time zone + will be set the the system's default time zone. + + The name of the + + + + Create a with the given name and group. + + + The start-time will also be set to the current time, and the time zone + will be set the the system's default time zone. + + The name of the + The group of the + + + + Create a with the given name, group and + expression. + + + The start-time will also be set to the current time, and the time zone + will be set the the system's default time zone. + + The name of the + The group of the + A cron expression dictating the firing sequence of the + + + + Create a with the given name and group, and + associated with the identified . + + + The start-time will also be set to the current time, and the time zone + will be set the the system's default time zone. + + The name of the . + The group of the + name of the executed on firetime + Group of the executed on firetime + + + + Create a with the given name and group, + associated with the identified , + and with the given "cron" expression. + + + The start-time will also be set to the current time, and the time zone + will be set the the system's default time zone. + + The name of the + The group of the + name of the executed on firetime + Group of the executed on firetime + A cron expression dictating the firing sequence of the + + + + Create a with the given name and group, + associated with the identified , + and with the given "cron" expression resolved with respect to the . + + The name of the + The group of the + name of the executed on firetime + Group of the executed on firetime + A cron expression dictating the firing sequence of the + + Specifies for which time zone the cronExpression should be interpreted, + i.e. the expression 0 0 10 * * ?, is resolved to 10:00 am in this time zone. + + + + + Create a that will occur at the given time, + until the given end time. + + If null, the start-time will also be set to the current time, the time + zone will be set the the system's default. + + + The name of the + The group of the + name of the executed on firetime + Group of the executed on firetime + A set to the earliest time for the to start firing. + A set to the time for the to quit repeat firing. + A cron expression dictating the firing sequence of the + + + + Create a with fire time dictated by the + resolved with respect to the specified + occurring from the until + the given . + + The name of the + The group of the + name of the executed on firetime + Group of the executed on firetime + A set to the earliest time for the to start firing. + A set to the time for the to quit repeat firing. + + + + 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. + + + + + + A concrete implementation of DailyTimeIntervalTrigger that is used to fire a + based upon daily repeating time intervals. + + + + The trigger will fire every N ( ) seconds, minutes or hours + (see ) during a given time window on specified days of the week. + + + For example#1, a trigger can be set to fire every 72 minutes between 8:00 and 11:00 everyday. It's fire times would + be 8:00, 9:12, 10:24, then next day would repeat: 8:00, 9:12, 10:24 again. + + + For example#2, a trigger can be set to fire every 23 minutes between 9:20 and 16:47 Monday through Friday. + + + On each day, the starting fire time is reset to startTimeOfDay value, and then it will add repeatInterval value to it until + the endTimeOfDay is reached. If you set daysOfWeek values, then fire time will only occur during those week days period. Again, + remember this trigger will reset fire time each day with startTimeOfDay, regardless of your interval or endTimeOfDay! + + + The default values for fields if not set are: startTimeOfDay defaults to 00:00:00, the endTimeOfDay default to 23:59:59, + and daysOfWeek is default to every day. The startTime default to current time-stamp now, while endTime has not value. + + + If startTime is before startTimeOfDay, then startTimeOfDay will be used and startTime has no affect. Else if startTime is + after startTimeOfDay, then the first fire time for that day will be the next interval after the startTime. For example, if + you set startingTimeOfDay=9am, endingTimeOfDay=11am, interval=15 mins, and startTime=9:33am, then the next fire time will + be 9:45pm. Note also that if you do not set startTime value, the trigger builder will default to current time, and current time + maybe before or after the startTimeOfDay! So be aware how you set your startTime. + + + This trigger also supports "repeatCount" feature to end the trigger fire time after + a certain number of count is reached. Just as the SimpleTrigger, setting repeatCount=0 + means trigger will fire once only! Setting any positive count then the trigger will repeat + count + 1 times. Unlike SimpleTrigger, the default value of repeatCount of this trigger + is set to REPEAT_INDEFINITELY instead of 0 though. + + + + + 2.0 + James House + Zemian Deng saltnlight5@gmail.com + Nuno Maia (.NET) + + + + A that is used to fire a + based upon daily repeating time intervals. + + + The trigger will fire every N (see ) seconds, minutes or hours + (see during a given time window on specified days of the week. + + For example#1, a trigger can be set to fire every 72 minutes between 8:00 and 11:00 everyday. It's fire times + be 8:00, 9:12, 10:24, then next day would repeat: 8:00, 9:12, 10:24 again. + + For example#2, a trigger can be set to fire every 23 minutes between 9:20 and 16:47 Monday through Friday. + + On each day, the starting fire time is reset to startTimeOfDay value, and then it will add repeatInterval value to it until + the endTimeOfDay is reached. If you set daysOfWeek values, then fire time will only occur during those week days period. + + The default values for fields if not set are: startTimeOfDay defaults to 00:00:00, the endTimeOfDay default to 23:59:59, + and daysOfWeek is default to every day. The startTime default to current time-stamp now, while endTime has not value. + + If startTime is before startTimeOfDay, then it has no affect. Else if startTime after startTimeOfDay, then the first fire time + for that day will be normal startTimeOfDay incremental values after startTime value. Same reversal logic is applied to endTime + with endTimeOfDay. + + + + James House + Zemian Deng saltnlight5@gmail.com + Nuno Maia (.NET) + + + + + + + + + Get the the number of times for interval this trigger should repeat, + after which it will be automatically deleted. + + + + + Get the interval unit - the time unit on with the interval applies. + The only intervals that are valid for this type of trigger are , + , and + + + + + Get the the time interval that will be added to the 's + fire time (in the set repeat interval unit) in order to calculate the time of the + next trigger repeat. + + + + + The time of day to start firing at the given interval. + + + + + The time of day to complete firing at the given interval. + + + + + The days of the week upon which to fire. + + + A Set containing the integers representing the days of the week, per the values 0-6 as defined by + DayOfWees.Sunday - DayOfWeek.Saturday. + + + + + Get the number of times the has already fired. + + + + + Used to indicate the 'repeat count' of the trigger is indefinite. Or in + other words, the trigger should repeat continually until the trigger's + ending timestamp. + + + + + Create a with no settings. + + + + + Create a that will occur immediately, and + repeat at the the given interval. + + + The that the repeating should begin occurring. + The that the repeating should stop occurring. + The repeat interval unit. The only intervals that are valid for this type of trigger are + , , and . + + + + + Create a that will occur immediately, and + repeat at the the given interval. + + + + The that the repeating should begin occurring. + The that the repeating should stop occurring. + The repeat interval unit. The only intervals that are valid for this type of trigger are + , , and . + + + + + Create a that will occur at the given time, + and repeat at the the given interval until the given end time. + + + A set to the time for the to fire. + A set to the time for the to quit repeat firing. + The that the repeating should begin occurring. + The that the repeating should stop occurring. + The repeat interval unit. The only intervals that are valid for this type of trigger are + , , and . + The number of milliseconds to pause between the repeat firing. + + + + Create a that will occur at the given time, + and repeat at the the given interval until the given end time. + + + + A set to the time for the to fire. + A set to the time for the to quit repeat firing. + The that the repeating should begin occurring. + The that the repeating should stop occurring. + The repeat interval unit. The only intervals that are valid for this type of trigger are + , , and . + The number of milliseconds to pause between the repeat firing. + + + + Create a that will occur at the given time, + fire the identified job and repeat at the the given + interval until the given end time. + + + + + + A set to the time for the to fire. + A set to the time for the to quit repeat firing. + The that the repeating should begin occurring. + The that the repeating should stop occurring. + The repeat interval unit. The only intervals that are valid for this type of trigger are + , , and . + The number of milliseconds to pause between the repeat firing. + + + + Updates the 's state based on the + MisfireInstruction.XXX that was selected when the + was created. + + + If the misfire instruction is set to , + then the following scheme will be used: +
    +
  • The instruction will be interpreted as
  • +
+
+
+ + + Called when the scheduler has decided to 'fire' + the trigger (execute the associated job), in order to + give the trigger a chance to update itself for its next + triggering (if any). + + + + + + + + + + + + + + + This method should not be used by the Quartz client. + + + + Called by the scheduler at the time a is first + added to the scheduler, in order to have the + compute its first fire time, based on any associated calendar. + + + + After this method has been called, + should return a valid answer. + + + + The first time at which the will be fired + by the scheduler, which is also the same value + will return (until after the first firing of the ). + + + + + Returns the next time at which the is scheduled to fire. If + the trigger will not fire again, will be returned. Note that + the time returned can possibly be in the past, if the time that was computed + for the trigger to next fire has already arrived, but the scheduler has not yet + been able to fire the trigger (which would likely be due to lack of resources + e.g. threads). + + + The value returned is not guaranteed to be valid until after the + has been added to the scheduler. + + + + + + Returns the previous time at which the fired. + If the trigger has not yet fired, will be returned. + + + + + Set the next time at which the should fire. + + + This method should not be invoked by client code. + + + + + + Set the previous time at which the fired. + + + This method should not be invoked by client code. + + + + + + Returns the next time at which the will + fire, after the given time. If the trigger will not fire after the given + time, will be returned. + + + + + + + Given fireTime time, we need to advance/calculate and return a time of next available week day. + + given next fireTime. + flag to whether to advance day without check existing week day. This scenario + can happen when a caller determine fireTime has passed the endTimeOfDay that fireTime should move to next day anyway. + + a next day fireTime. + + + + Determines whether or not the will occur + again. + + + + + + Validates whether the properties of the are + valid for submission into a . + + + + + Get a that is configured to produce a + schedule identical to this trigger's schedule. + + + + + + + The time at which the should occur. + + + + + the time at which the should quit repeating. + + + + + + Get the the number of times for interval this trigger should repeat, + after which it will be automatically deleted. + + + + + the interval unit - the time unit on with the interval applies. + + + The repeat interval unit. The only intervals that are valid for this type of trigger are + , , and . + + + + + the the time interval that will be added to the 's + fire time (in the set repeat interval unit) in order to calculate the time of the + next trigger repeat. + + + + + the number of times the has already + fired. + + + + + Returns the final time at which the will + fire, if there is no end time set, null will be returned. + + Note that the return time may be in the past. + + + + + The days of the week upon which to fire. + + + A Set containing the integers representing the days of the week, per the values 0-6 as defined by + DayOfWees.Sunday - DayOfWeek.Saturday. + + + + + The time of day to start firing at the given interval. + + + + + The time of day to complete firing at the given interval. + + + + + This trigger has no additional properties besides what's defined in this class. + + + + + + Tells whether this Trigger instance can handle events + in millisecond precision. + + + + + A concrete that is used to fire a + at a given moment in time, and optionally repeated at a specified interval. + + + + James House + Contributions by Lieven Govaerts of Ebitec Nv, Belgium. + Marko Lahma (.NET) + + + + A that is used to fire a + at a given moment in time, and optionally repeated at a specified interval. + + + + James House + Contributions by Lieven Govaerts of Ebitec Nv, Belgium. + Marko Lahma (.NET) + + + + Get or set 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. + + + + + Used to indicate the 'repeat count' of the trigger is indefinite. Or in + other words, the trigger should repeat continually until the trigger's + ending timestamp. + + + + + Create a with no settings. + + + + + Create a that will occur immediately, and + not repeat. + + + + + Create a that will occur immediately, and + not repeat. + + + + + Create a that will occur immediately, and + repeat at the the given interval the given number of times. + + + + + Create a that will occur immediately, and + repeat at the the given interval the given number of times. + + + + + Create a that will occur at the given time, + and not repeat. + + + + + Create a that will occur at the given time, + and not repeat. + + + + + Create a that will occur at the given time, + and repeat at the the given interval the given number of times, or until + the given end time. + + The name. + A UTC set to the time for the to fire. + A UTC set to the time for the + to quit repeat firing. + The number of times for the to repeat + firing, use for unlimited times. + The time span to pause between the repeat firing. + + + + Create a that will occur at the given time, + and repeat at the the given interval the given number of times, or until + the given end time. + + The name. + The group. + A UTC set to the time for the to fire. + A UTC set to the time for the + to quit repeat firing. + The number of times for the to repeat + firing, use for unlimited times. + The time span to pause between the repeat firing. + + + + Create a that will occur at the given time, + fire the identified and repeat at the the given + interval the given number of times, or until the given end time. + + The name. + The group. + Name of the job. + The job group. + A set to the time for the + to fire. + A set to the time for the + to quit repeat firing. + The number of times for the to repeat + firing, use RepeatIndefinitely for unlimited times. + The time span to pause between the repeat firing. + + + + Validates the misfire instruction. + + The misfire instruction. + + + + + Updates the 's state based on the + MisfireInstruction value that was selected when the + was created. + + + If MisfireSmartPolicyEnabled is set to true, + then the following scheme will be used:
+
    +
  • If the Repeat Count is 0, then the instruction will + be interpreted as .
  • +
  • If the Repeat Count is , then + the instruction will be interpreted as . + WARNING: using MisfirePolicy.SimpleTrigger.RescheduleNowWithRemainingRepeatCount + with a trigger that has a non-null end-time may cause the trigger to + never fire again if the end-time arrived during the misfire time span. +
  • +
  • If the Repeat Count is > 0, then the instruction + will be interpreted as . +
  • +
+
+
+ + + Called when the has decided to 'fire' + the trigger (Execute the associated ), in order to + give the a chance to update itself for its next + triggering (if any). + + + + + + Updates the instance with new calendar. + + The calendar. + The misfire threshold. + + + + Called by the scheduler at the time a is first + added to the scheduler, in order to have the + compute its first fire time, based on any associated calendar. + + After this method has been called, + should return a valid answer. + + + + The first time at which the will be fired + by the scheduler, which is also the same value + will return (until after the first firing of the ). + + + + + Returns the next time at which the will + fire. If the trigger will not fire again, will be + returned. The value returned is not guaranteed to be valid until after + the has been added to the scheduler. + + + + + Returns the previous time at which the fired. + If the trigger has not yet fired, will be + returned. + + + + + Returns the next UTC time at which the will + fire, after the given UTC time. If the trigger will not fire after the given + time, will be returned. + + + + + Returns the last UTC time at which the will + fire, before the given time. If the trigger will not fire before the + given time, will be returned. + + + + + Computes the number of times fired between the two UTC date times. + + The UTC start date and time. + The UTC end date and time. + + + + + Determines whether or not the will occur + again. + + + + + Validates whether the properties of the are + valid for submission into a . + + + + + Get or set 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. + + + + + + Schedules work on a newly spawned thread. This is the default Quartz behavior. + + matt.accola + + + + Allows different strategies for scheduling threads. The + method is required to be called before the first call to + . The Thread containing the work to be performed is + passed to execute and the work is scheduled by the underlying implementation. + + matt.accola + + + + Submit a task for execution. + + Thread to execute. + + + + Initialize any state prior to calling . + + + + + A singleton implementation of . + + + Here are some examples of using this class: + + To create a scheduler that does not write anything to the database (is not + persistent), you can call : + + + DirectSchedulerFactory.Instance.CreateVolatileScheduler(10); // 10 threads + // don't forget to start the scheduler: + DirectSchedulerFactory.Instance.GetScheduler().Start(); + + + Several create methods are provided for convenience. All create methods + eventually end up calling the create method with all the parameters: + + + public void CreateScheduler(string schedulerName, string schedulerInstanceId, IThreadPool threadPool, IJobStore jobStore) + + + Here is an example of using this method: + + + // create the thread pool + SimpleThreadPool threadPool = new SimpleThreadPool(maxThreads, ThreadPriority.Normal); + threadPool.Initialize(); + // create the job store + JobStore jobStore = new RAMJobStore(); + + DirectSchedulerFactory.Instance.CreateScheduler("My Quartz Scheduler", "My Instance", threadPool, jobStore); + // don't forget to start the scheduler: + DirectSchedulerFactory.Instance.GetScheduler("My Quartz Scheduler", "My Instance").Start(); + + > + Mohammad Rezaei + James House + Marko Lahma (.NET) + + + + + + Provides a mechanism for obtaining client-usable handles to + instances. + + + + James House + Marko Lahma (.NET) + + + + Returns a client-usable handle to a . + + + + + Returns a handle to the Scheduler with the given name, if it exists. + + + + + Returns handles to all known Schedulers (made by any SchedulerFactory + within this app domain.). + + + + + Initializes a new instance of the class. + + + + + Creates an in memory job store () + The thread priority is set to Thread.NORM_PRIORITY + + The number of threads in the thread pool + + + + Creates a proxy to a remote scheduler. This scheduler can be retrieved + via . + + SchedulerException + + + + Same as , + with the addition of specifying the scheduler name and instance ID. This + scheduler can only be retrieved via . + + The name for the scheduler. + The instance ID for the scheduler. + + SchedulerException + + + + Creates a scheduler using the specified thread pool and job store. This + scheduler can be retrieved via DirectSchedulerFactory#GetScheduler() + + + The thread pool for executing jobs + + + The type of job store + + SchedulerException + if initialization failed + + + + + Same as DirectSchedulerFactory#createScheduler(ThreadPool threadPool, JobStore jobStore), + with the addition of specifying the scheduler name and instance ID. This + scheduler can only be retrieved via DirectSchedulerFactory#getScheduler(String) + + The name for the scheduler. + The instance ID for the scheduler. + The thread pool for executing jobs + The type of job store + + + + Creates a scheduler using the specified thread pool and job store and + binds it for remote access. + + The name for the scheduler. + The instance ID for the scheduler. + The thread pool for executing jobs + The type of job store + The idle wait time. You can specify "-1" for + the default value, which is currently 30000 ms. + The db failure retry interval. + + + + Creates a scheduler using the specified thread pool and job store and + binds it for remote access. + + The name for the scheduler. + The instance ID for the scheduler. + The thread pool for executing jobs + The type of job store + + The idle wait time. You can specify TimeSpan.Zero for + the default value, which is currently 30000 ms. + The db failure retry interval. + + + + Creates a scheduler using the specified thread pool and job store and + binds it for remote access. + + The name for the scheduler. + The instance ID for the scheduler. + The thread pool for executing jobs + Thread executor. + The type of job store + + The idle wait time. You can specify TimeSpan.Zero for + the default value, which is currently 30000 ms. + The db failure retry interval. + + + + Creates a scheduler using the specified thread pool and job store and + binds it for remote access. + + The name for the scheduler. + The instance ID for the scheduler. + The thread pool for executing jobs + Thread executor. + The type of job store + + The idle wait time. You can specify TimeSpan.Zero for + the default value, which is currently 30000 ms. + The db failure retry interval. + The maximum batch size of triggers, when acquiring them + The time window for which it is allowed to "pre-acquire" triggers to fire + + + + Returns a handle to the Scheduler produced by this factory. + + you must call createRemoteScheduler or createScheduler methods before + calling getScheduler() + + + + SchedulerException + + + + Returns a handle to the Scheduler with the given name, if it exists. + + + + + Gets the log. + + The log. + + + + Gets the instance. + + The instance. + + + + Returns a handle to all known Schedulers (made by any + StdSchedulerFactory instance.). + + + + + + Conveys the detail properties of a given job instance. + + + Quartz does not store an actual instance of a type, but + instead allows you to define an instance of one, through the use of a . + + s have a name and group associated with them, which + should uniquely identify them within a single . + + + s are the 'mechanism' by which s + are scheduled. Many s can point to the same , + but a single can only point to one . + + + + + + + + James House + Marko Lahma (.NET) + + + + Conveys the detail properties of a given job instance. + JobDetails are to be created/defined with . + + + Quartz does not store an actual instance of a type, but + instead allows you to define an instance of one, through the use of a . + + s have a name and group associated with them, which + should uniquely identify them within a single . + + + s are the 'mechanism' by which s + are scheduled. Many s can point to the same , + but a single can only point to one . + + + + + + + + James House + Marko Lahma (.NET) + + + + Get a that is configured to produce a + identical to this one. + + + + + The key that identifies this jobs uniquely. + + + + + Get or set the description given to the instance by its + creator (if any). + + + + + Get or sets the instance of that will be executed. + + + + + Get or set the that is associated with the . + + + + + Whether or not the should remain stored after it is + orphaned (no s point to it). + + + If not explicitly set, the default value is . + + + if the Job should remain persisted after being orphaned. + + + + + Whether the associated Job class carries the . + + + + + + Whether the associated Job class carries the . + + + + + + Set whether or not the the should re-Execute + the if a 'recovery' or 'fail-over' situation is + encountered. + + + If not explicitly set, the default value is . + + + + + + Create a with no specified name or group, and + the default settings of all the other properties. + + Note that the , and + properties must be set before the job can be + placed into a . + + + + + + Create a with the given name, default group, and + the default settings of all the other properties. + If , 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 durable. + if set to true, job will request recovery. + + ArgumentException if name is null or empty, or the group is an empty string. + + + + + Validates whether the properties of the are + valid for submission into a . + + + + + Return a simple string representation of this object. + + + + + Creates a new object that is a copy of the current instance. + + + A new object that is a copy of this instance. + + + + + Determines whether the specified detail is equal to this instance. + + The detail to examine. + + true if the specified detail is equal; otherwise, false. + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + if the specified is equal to the + current ; otherwise, . + + + + + Checks equality between given job detail and this instance. + + The detail to compare this instance with. + + + + + Serves as a hash function for a particular type, suitable + for use in hashing algorithms and data structures like a hash table. + + + A hash code for the current . + + + + + Get or sets the name of this . + + + if name is null or empty. + + + + + Get or sets the group of this . + If , will be used. + + + If the group is an empty string. + + + + + Returns the 'full name' of the in the format + "group.name". + + + + + Gets the key. + + The key. + + + + Get or set the description given to the instance by its + creator (if any). + + + May be useful for remembering/displaying the purpose of the job, though the + description has no meaning to Quartz. + + + + + Get or sets the instance of that will be executed. + + + if jobType is null or the class is not a . + + + + + Get or set the that is associated with the . + + + + + Set whether or not the the should re-Execute + the if a 'recovery' or 'fail-over' situation is + encountered. + + If not explicitly set, the default value is . + + + + + + + Whether or not the should remain stored after it is + orphaned (no s point to it). + + If not explicitly set, the default value is . + + + + if the Job should remain persisted after + being orphaned. + + + + + Whether the associated Job class carries the attribute. + + + + + Whether the associated Job class carries the attribute. + + + + + A context bundle containing handles to various environment information, that + is given to a instance as it is + executed, and to a instance after the + execution completes. + + + + The found on this object (via the + method) serves as a convenience - + it is a merge of the found on the + and the one found on the , with + the value in the latter overriding any same-named values in the former. + It is thus considered a 'best practice' that the Execute code of a Job + retrieve data from the JobDataMap found on this object + + + NOTE: Do not + expect value 'set' into this JobDataMap to somehow be set back onto a + job's own JobDataMap. + + + + s are also returned from the + + method. These are the same instances as those past into the jobs that are + currently executing within the scheduler. The exception to this is when your + application is using Quartz remotely (i.e. via remoting or WCF) - in which case you get + a clone of the s, and their references to + the and instances have been lost (a + clone of the is still available - just not a handle + to the job instance that is running). + + + + + + + + James House + Marko Lahma (.NET) + + + + A context bundle containing handles to various environment information, that + is given to a instance as it is + executed, and to a instance after the + execution completes. + + + + + Put the specified value into the context's data map with the given key. + Possibly useful for sharing data between listeners and jobs. + + NOTE: this data is volatile - it is lost after the job execution + completes, and all TriggerListeners and JobListeners have been + notified. + + + + + + + + + + Get the value with the given key from the context's data map. + + + + + + + Get a handle to the instance that fired the + . + + + + + Get a handle to the instance that fired the + . + + + + + Get a handle to the referenced by the + instance that fired the . + + + + + If the is being re-executed because of a 'recovery' + situation, this method will return . + + + + + Gets the refire count. + + The refire count. + + + + Get the convenience of this execution context. + + + + The found on this object serves as a convenience - + it is a merge of the found on the + and the one found on the , with + the value in the latter overriding any same-named values in the former. + It is thus considered a 'best practice' that the Execute code of a Job + retrieve data from the JobDataMap found on this object. + + + NOTE: Do not expect value 'set' into this JobDataMap to somehow be + set back onto a job's own JobDataMap. + + + Attempts to change the contents of this map typically result in an + illegal state. + + + + + + Get the associated with the . + + + + + Get the instance of the that was created for this + execution. + + Note: The Job instance is not available through remote scheduler + interfaces. + + + + + + The actual time the trigger fired. For instance the scheduled time may + have been 10:00:00 but the actual fire time may have been 10:00:03 if + the scheduler was too busy. + + Returns the fireTimeUtc. + + + + + The scheduled time the trigger fired for. For instance the scheduled + time may have been 10:00:00 but the actual fire time may have been + 10:00:03 if the scheduler was too busy. + + Returns the scheduledFireTimeUtc. + + + + + Gets the previous fire time. + + The previous fire time. + + + + Gets the next fire time. + + The next fire time. + + + + Get the unique Id that identifies this particular firing instance of the + trigger that triggered this job execution. It is unique to this + JobExecutionContext instance as well. + + the unique fire instance id + + + + + Returns the result (if any) that the set before its + execution completed (the type of object set as the result is entirely up + to the particular job). + + + + The result itself is meaningless to Quartz, but may be informative + to s or + s that are watching the job's + execution. + + + Set the result (if any) of the 's execution (the type of + object set as the result is entirely up to the particular job). + + + The result itself is meaningless to Quartz, but may be informative + to s or + s that are watching the job's + execution. + + + + + + The amount of time the job ran for. The returned + value will be until the job has actually completed (or thrown an + exception), and is therefore generally only useful to + s and s. + + + + + Create a 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 job's own JobDataMap. + + + Attempts to change the contents of this map typically result in an + illegal state. + + + + + + Get the associated with the . + + + + + Get the instance of the that was created for this + execution. + + Note: The Job instance is not available through remote scheduler + interfaces. + + + + + + The actual time the trigger fired. For instance the scheduled time may + have been 10:00:00 but the actual fire time may have been 10:00:03 if + the scheduler was too busy. + + Returns the fireTimeUtc. + + + + + The scheduled time the trigger fired for. For instance the scheduled + time may have been 10:00:00 but the actual fire time may have been + 10:00:03 if the scheduler was too busy. + + Returns the scheduledFireTimeUtc. + + + + + Gets the previous fire time. + + The previous fire time. + + + + Gets the next fire time. + + The next fire time. + + + + Returns the result (if any) that the set before its + execution completed (the type of object set as the result is entirely up + to the particular job). + + + + The result itself is meaningless to Quartz, but may be informative + to s or + s that are watching the job's + execution. + + + Set the result (if any) of the 's execution (the type of + object set as the result is entirely up to the particular job). + + + The result itself is meaningless to Quartz, but may be informative + to s or + s that are watching the job's + execution. + + + + + + The amount of time the job ran for. The returned + value will be until the job has actually completed (or thrown an + exception), and is therefore generally only useful to + s and s. + + + + + Returns the fire instace id. + + + + + An implementation of the interface that remotely + proxies all method calls to the equivalent call on a given + instance, via remoting or similar technology. + + + + James House + Marko Lahma (.NET) + + + + This is the main interface of a Quartz Scheduler. + + + + A maintains a registry of + s and s. Once + registered, the is responsible for executing + s when their associated s + fire (when their scheduled time arrives). + + + instances are produced by a + . A scheduler that has already been + created/initialized can be found and used through the same factory that + produced it. After a has been created, it is in + "stand-by" mode, and must have its method + called before it will fire any s. + + + s are to be created by the 'client program', by + defining a class that implements the interface. + objects are then created (also by the client) to + define a individual instances of the . + instances can then be registered with the + via the %IScheduler.ScheduleJob(JobDetail, + Trigger)% or %IScheduler.AddJob(JobDetail, bool)% method. + + + s can then be defined to fire individual + instances based on given schedules. + s are most useful for one-time firings, or + firing at an exact moment in time, with N repeats with a given delay between + them. s allow scheduling based on time of day, + day of week, day of month, and month of year. + + + s and s have a name and + group associated with them, which should uniquely identify them within a single + . The 'group' feature may be useful for creating + logical groupings or categorizations of s and + s. If you don't have need for assigning a group to a + given s of s, then you can use + the constant defined on + this interface. + + + Stored s can also be 'manually' triggered through the + use of the %IScheduler.TriggerJob(string, string)% function. + + + Client programs may also be interested in the 'listener' interfaces that are + available from Quartz. The interface provides + notifications of executions. The + interface provides notifications of + firings. The + interface provides notifications of events and + errors. Listeners can be associated with local schedulers through the + interface. + + + The setup/configuration of a instance is very + customizable. Please consult the documentation distributed with Quartz. + + + + + + + + + Marko Lahma (.NET) + + + + returns true if the given JobGroup + is paused + + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + Get a object describing the settings + and capabilities of the scheduler instance. + + + Note that the data returned is an 'instantaneous' snap-shot, and that as + soon as it's returned, the meta data values may be different. + + + + + Return a list of objects that + represent all currently executing Jobs in this Scheduler instance. + + + + This method is not cluster aware. That is, it will only return Jobs + currently executing in this Scheduler instance, not across the entire + cluster. + + + Note that the list returned is an 'instantaneous' snap-shot, and that as + soon as it's returned, the true list of executing jobs may be different. + Also please read the doc associated with - + especially if you're using remoting. + + + + + + + Get the names of all known groups. + + + + + Get the names of all known groups. + + + + + Get the names of all groups that are paused. + + + + + Starts the 's threads that fire s. + When a scheduler is first created it is in "stand-by" mode, and will not + fire triggers. The scheduler can also be put into stand-by mode by + calling the method. + + + The misfire/recovery process will be started, if it is the initial call + to this method on this scheduler instance. + + + + + + + + Calls after the indicated delay. + (This call does not block). This can be useful within applications that + have initializers that create the scheduler immediately, before the + resources needed by the executing jobs have been fully initialized. + + + + + + + + Temporarily halts the 's firing of s. + + + + When is called (to bring the scheduler out of + stand-by mode), trigger misfire instructions will NOT be applied + during the execution of the method - any misfires + will be detected immediately afterward (by the 's + normal process). + + + The scheduler is not destroyed, and can be re-started at any time. + + + + + + + + Halts the 's firing of s, + and cleans up all resources associated with the Scheduler. Equivalent to + . + + + The scheduler cannot be re-started. + + + + + + Halts the 's firing of s, + and cleans up all resources associated with the Scheduler. + + + The scheduler cannot be re-started. + + + if the scheduler will not allow this method + to return until all currently executing jobs have completed. + + + + + + Add the given to the + Scheduler, and associate the given with + it. + + + If the given Trigger does not reference any , then it + will be set to reference the Job passed with it into this method. + + + + + Schedule the given with the + identified by the 's settings. + + + + + Schedule all of the given jobs with the related set of triggers. + + + If any of the given jobs or triggers already exist (or more + specifically, if the keys are not unique) and the replace + parameter is not set to true then an exception will be thrown. + + + + + Remove the indicated from the scheduler. + If the related job does not have any other triggers, and the job is + not durable, then the job will also be deleted. + + + + + Remove all of the indicated s from the scheduler. + + + If the related job does not have any other triggers, and the job is + not durable, then the job will also be deleted. + Note that while this bulk operation is likely more efficient than + invoking several + times, it may have the adverse affect of holding data locks for a + single long duration of time (rather than lots of small durations + of time). + + + + + Remove (delete) the with the + given key, and store the new given one - which must be associated + with the same job (the new trigger must have the job name & group specified) + - however, the new trigger need not have the same name as the old trigger. + + The to be replaced. + + The new to be stored. + + + if a with the given + name and group was not found and removed from the store (and the + new trigger is therefore not stored), otherwise + the first fire time of the newly scheduled trigger. + + + + + Add the given to the Scheduler - with no associated + . The will be 'dormant' until + it is scheduled with a , or + is called for it. + + + The must by definition be 'durable', if it is not, + SchedulerException will be thrown. + + + + + Delete the identified from the Scheduler - and any + associated s. + + true if the Job was found and deleted. + + + + Delete the identified jobs from the Scheduler - and any + associated s. + + + Note that while this bulk operation is likely more efficient than + invoking several + times, it may have the adverse affect of holding data locks for a + single long duration of time (rather than lots of small durations + of time). + + + true if all of the Jobs were found and deleted, false if + one or more were not deleted. + + + + + Trigger the identified + (Execute it now). + + + + + Trigger the identified (Execute it now). + + + the (possibly ) JobDataMap to be + associated with the trigger that fires the job immediately. + + + The of the to be executed. + + + + + Pause the with the given + key - by pausing all of its current s. + + + + + Pause all of the s in the + matching groups - by pausing all of their s. + + + + The Scheduler will "remember" that the groups are paused, and impose the + pause on any new jobs that are added to any of those groups until it is resumed. + + NOTE: There is a limitation that only exactly matched groups + can be remembered as paused. For example, if there are pre-existing + job in groups "aaa" and "bbb" and a matcher is given to pause + groups that start with "a" then the group "aaa" will be remembered + as paused and any subsequently added jobs in group "aaa" will be paused, + however if a job is added to group "axx" it will not be paused, + as "axx" wasn't known at the time the "group starts with a" matcher + was applied. HOWEVER, if there are pre-existing groups "aaa" and + "bbb" and a matcher is given to pause the group "axx" (with a + group equals matcher) then no jobs will be paused, but it will be + remembered that group "axx" is paused and later when a job is added + in that group, it will become paused. + + + + + + Pause the with the given key. + + + + + Pause all of the s in the groups matching. + + + + The Scheduler will "remember" all the groups paused, and impose the + pause on any new triggers that are added to any of those groups until it is resumed. + + NOTE: There is a limitation that only exactly matched groups + can be remembered as paused. For example, if there are pre-existing + triggers in groups "aaa" and "bbb" and a matcher is given to pause + groups that start with "a" then the group "aaa" will be remembered as + paused and any subsequently added triggers in that group be paused, + however if a trigger is added to group "axx" it will not be paused, + as "axx" wasn't known at the time the "group starts with a" matcher + was applied. HOWEVER, if there are pre-existing groups "aaa" and + "bbb" and a matcher is given to pause the group "axx" (with a + group equals matcher) then no triggers will be paused, but it will be + remembered that group "axx" is paused and later when a trigger is added + in that group, it will become paused. + + + + + + Resume (un-pause) the with + the given key. + + + If any of the 's s missed one + or more fire-times, then the 's misfire + instruction will be applied. + + + + + Resume (un-pause) all of the s + in matching groups. + + + If any of the s had s that + missed one or more fire-times, then the 's + misfire instruction will be applied. + + + + + + Resume (un-pause) the with the given + key. + + + If the missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + Resume (un-pause) all of the s in matching groups. + + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Pause all triggers - similar to calling + on every group, however, after using this method + must be called to clear the scheduler's state of 'remembering' that all + new triggers will be paused as they are added. + + + When is called (to un-pause), trigger misfire + instructions WILL be applied. + + + + + + + + Resume (un-pause) all triggers - similar to calling + on every group. + + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Get the keys of all the s in the matching groups. + + + + + Get all s that are associated with the + identified . + + + The returned Trigger objects will be snap-shots of the actual stored + triggers. If you wish to modify a trigger, you must re-store the + trigger afterward (e.g. see ). + + + + + Get the names of all the s in the given + groups. + + + + + Get the for the + instance with the given key . + + + The returned JobDetail object will be a snap-shot of the actual stored + JobDetail. If you wish to modify the JobDetail, you must re-store the + JobDetail afterward (e.g. see ). + + + + + Get the instance with the given key. + + + The returned Trigger object will be a snap-shot of the actual stored + trigger. If you wish to modify the trigger, you must re-store the + trigger afterward (e.g. see ). + + + + + Get the current state of the identified . + + + + + + + + + + + Add (register) the given to the Scheduler. + + Name of the calendar. + The calendar. + if set to true [replace]. + whether or not to update existing triggers that + referenced the already existing calendar so that they are 'correct' + based on the new trigger. + + + + Delete the identified from the Scheduler. + + Name of the calendar. + + true if the Calendar was found and deleted. + + + + + Get the instance with the given name. + + + + + Get the names of all registered . + + + + + Request the interruption, within this Scheduler instance, of all + currently executing instances of the identified , which + must be an implementor of the interface. + + + + If more than one instance of the identified job is currently executing, + the method will be called on + each instance. However, there is a limitation that in the case that + on one instances throws an exception, all + remaining instances (that have not yet been interrupted) will not have + their method called. + + + + If you wish to interrupt a specific instance of a job (when more than + one is executing) you can do so by calling + to obtain a handle + to the job instance, and then invoke on it + yourself. + + + This method is not cluster aware. That is, it will only interrupt + instances of the identified InterruptableJob currently executing in this + Scheduler instance, not across the entire cluster. + + + + true is at least one instance of the identified job was found and interrupted. + + + + + + + Request the interruption, within this Scheduler instance, of the + identified executing job instance, which + must be an implementor of the interface. + + + This method is not cluster aware. That is, it will only interrupt + instances of the identified InterruptableJob currently executing in this + Scheduler instance, not across the entire cluster. + + + + + + + the unique identifier of the job instance to be interrupted (see + + true if the identified job instance was found and interrupted. + + + + Determine whether a with the given identifier already + exists within the scheduler. + + the identifier to check for + true if a Job exists with the given identifier + + + + Determine whether a with the given identifier already + exists within the scheduler. + + the identifier to check for + true if a Trigger exists with the given identifier + + + + Clears (deletes!) all scheduling data - all s, s + s. + + + + + Returns the name of the . + + + + + Returns the instance Id of the . + + + + + Returns the of the . + + + + + Reports whether the is in stand-by mode. + + + + + + + Reports whether the has been Shutdown. + + + + + Set the that will be responsible for producing + instances of classes. + + + JobFactories may be of use to those wishing to have their application + produce instances via some special mechanism, such as to + give the opportunity for dependency injection. + + + + + + Get a reference to the scheduler's , + through which listeners may be registered. + + the scheduler's + + + + + + + + Whether the scheduler has been started. + + + Note: This only reflects whether has ever + been called on this Scheduler, so it will return even + if the is currently in standby mode or has been + since shutdown. + + + + + + + + Construct a instance to proxy the given + RemoteableQuartzScheduler instance. + + + + + returns true if the given JobGroup + is paused + + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + Get a object 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' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Get the names of all groups that are paused. + + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Get the names of all registered . + + + + + + Calls the equivalent method on the 'proxied' . + + + + + Returns the name of the . + + + + + Returns the instance Id of the . + + + + + Returns the of the . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Set the that will be responsible for producing + instances of classes. + + JobFactories may be of use to those wishing to have their application + produce instances via some special mechanism, such as to + give the 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. + + + + + + + + This utility calls methods reflectively on the given objects even though the + methods are likely on a proper interface (ThreadPool, JobStore, etc). The + motivation is to be tolerant of older implementations that have not been + updated for the changes in the interfaces (eg. LocalTaskExecutorThreadPool in + spring quartz helpers) + + teck + Marko Lahma (.NET) + + + + Holds references to Scheduler instances - ensuring uniqueness, and + preventing garbage collection, and allowing 'global' lookups. + + James House + Marko Lahma (.NET) + + + + Binds the specified sched. + + The sched. + + + + Removes the specified sched name. + + Name of the sched. + + + + + Lookups the specified sched name. + + Name of the sched. + + + + + Lookups all. + + + + + + Gets the singleton instance. + + The instance. + + + + Responsible for creating the instances of + to be used within the instance. + + James House + Marko Lahma (.NET) + + + + Initialize the factory, providing a handle to the + that should be made available within the and + the s within it. + + + + + Called by the to obtain instances of + . + + + + + An implementation of the interface that directly + proxies all method calls to the equivalent call on a given + instance. + + + + James House + Marko Lahma (.NET) + + + + 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' . + + + + + 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' . + + + + + Construct a instance to proxy the given + 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' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Get the names of all registered . + + + + + + Request the interruption, within this Scheduler instance, of all + currently executing instances of the identified , which + must be an implementor of the interface. + + + + If more than one instance of the identified job is currently executing, + the method will be called on + each instance. However, there is a limitation that in the case that + on one instances throws an exception, all + remaining instances (that have not yet been interrupted) will not have + their method called. + + + If you wish to interrupt a specific instance of a job (when more than + one is executing) you can do so by calling + to obtain a handle + to the job instance, and then invoke on it + yourself. + + + This method is not cluster aware. That is, it will only interrupt + instances of the identified InterruptableJob currently executing in this + Scheduler instance, not across the entire cluster. + + + true is at least one instance of the identified job was found and interrupted. + UnableToInterruptJobException if the job does not implement + + + + + + Returns the name of the . + + + + + Returns the instance Id of the . + + + + + Returns the of the . + + + + + Whether the scheduler has been started. + + + + Note: This only reflects whether has ever + been called on this Scheduler, so it will return even + if the is currently in standby mode or has been + since shutdown. + + + + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + + + + + An implementation of that + does all of it's work of creating a instance + based on the contents of a properties file. + + + + By default a properties are loaded from App.config's quartz section. + If that fails, then the file is loaded "quartz.properties". If file does not exist, + default configration 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) + + + + Returns a handle to the default Scheduler, creating it if it does not + yet exist. + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The props. + + + + Initialize the . + + + By default a properties file named "quartz.properties" is loaded from + the 'current working directory'. If that fails, then the + "quartz.properties" file located (as an embedded resource) in the Quartz.NET + assembly is loaded. If you wish to use a file other than these defaults, + you must define the system property 'quartz.properties' to point to + the file you want. + + + + + Creates a new name value collection and overrides its values + with system values (environment variables). + + The base properties to override. + A new NameValueCollection instance. + + + + Initialize the with + the contents of the given key value collection object. + + + + + + + + Needed while loadhelper is not constructed. + + + + + + + Returns a handle to the Scheduler produced by this factory. + + + If one of the methods has not be previously + called, then the default (no-arg) method + will be called by this method. + + + + + Returns a handle to the Scheduler with the given name, if it exists (if + it has already been instantiated). + + + + + + Returns a handle to all known Schedulers (made by any + StdSchedulerFactory instance.). + + + + + + Inspects a directory and compares whether any files' "last modified dates" + have changed since the last time it was inspected. If one or more files + have been updated (or created), the job invokes a "call-back" method on an + identified that can be found in the + . + + pl47ypus + James House + Marko Lahma (.NET) + + + + + The interface to be implemented by classes which represent a 'job' to be + performed. + + + Instances of this interface must have a + no-argument constructor. provides a mechanism for 'instance member data' + that may be required by some implementations of this interface. + + + + + + + + James House + Marko Lahma (.NET) + + + + Called by the when a + fires that is associated with the . + + + The implementation may wish to set a result object on the + JobExecutionContext before this method exits. The result itself + is meaningless to Quartz, but may be informative to + s or + s that are watching the job's + execution. + + The execution context. + + + key with which to specify the directory to be + monitored - an absolute path is recommended. + + + key with which to specify the + to be + notified when the directory contents change. + + + key with which to specify a + value that represents the minimum number of milliseconds that must have + passed since the file's last modified time in order to consider the file + new/altered. This is necessary because another process may still be + in the middle of writing to the file when the scan occurs, and the + file may therefore not yet be ready for processing. + If this parameter is not specified, a default value of 5000 (five seconds) will be used. + + + + This is the main entry point for job execution. The scheduler will call this method on the + job once it is triggered. + + The that + the job will use during execution. + + + + Inspects a file and compares whether it's "last modified date" has changed + since the last time it was inspected. If the file has been updated, the + job invokes a "call-back" method on an identified + that can be found in the + . + + James House + Marko Lahma (.NET) + + + + + JobDataMap key with which to specify the name of the file to monitor. + + + + + JobDataMap key with which to specify the + to be notified when the file contents change. + + + + + key with which to specify a long + value that represents the minimum number of milliseconds that must have + past since the file's last modified time in order to consider the file + new/altered. This is necessary because another process may still be + in the middle of writing to the file when the scan occurs, and the + file may therefore not yet be ready for processing. + + If this parameter is not specified, a default value of + 5000 (five seconds) will be used. + + + + + Initializes a new instance of the class. + + + + + Called by the when a + fires that is associated with the . + + The implementation may wish to set a result object on the + JobExecutionContext before this method exits. The result itself + is meaningless to Quartz, but may be informative to + s or + s that are watching the job's + execution. + + + The execution context. + + + + + + Gets the last modified date. + + Name of the file. + + + + + Gets the log. + + The log. + + + Interface for objects wishing to receive a 'call-back' from a + Instances should be stored in the such that the + can find it. + James House + Marko Lahma (.NET) + + + An array of objects that were updated/added + since the last scan of the directory + + + + Interface for objects wishing to receive a 'call-back' from a + . + + James House + Marko Lahma (.NET) + + + + + Ãnforms that certain file has been updated. + + Name of the file. + + + + Built in job for executing native executables in a separate process. + + + + JobDetail job = new JobDetail("dumbJob", null, typeof(Quartz.Jobs.NativeJob)); + job.JobDataMap.Put(Quartz.Jobs.NativeJob.PropertyCommand, "echo \"hi\" >> foobar.txt"); + Trigger trigger = TriggerUtils.MakeSecondlyTrigger(5); + trigger.Name = "dumbTrigger"; + sched.ScheduleJob(job, trigger); + + If PropertyWaitForProcess is true, then the integer exit value of the process + will be saved as the job execution result in the JobExecutionContext. + + Matthew Payne + James House + Steinar Overbeck Cook + Marko Lahma (.NET) + + + + Required parameter that specifies the name of the command (executable) + to be ran. + + + + + Optional parameter that specifies the parameters to be passed to the + executed command. + + + + + Optional parameter (value should be 'true' or 'false') that specifies + whether the job should wait for the execution of the native process to + complete before it completes. + + Defaults to . + + + + + Optional parameter (value should be 'true' or 'false') that specifies + whether the spawned process's stdout and stderr streams should be + consumed. If the process creates output, it is possible that it might + 'hang' if the streams are not consumed. + + Defaults to . + + + + + Optional parameter that specifies the 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 + Marko Lahma (.NET) + + + + Do nothing. + + + + + A Job which sends an e-mail with the configured content to the configured + recipient. + + James House + Marko Lahma (.NET) + + + The host name of the smtp server. REQUIRED. + + + The 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 JobListener instances and broadcasts all + events to them (in order). + + + The broadcasting behavior of this listener to delegate listeners may be + more convenient than registering all of the listeners directly with the + Scheduler, and provides the flexibility of easily changing which listeners + get notified. + + + + + James House (jhouse AT revolition DOT net) + + + + Construct an instance with the given name. + + + (Remember to add some delegate listeners!) + + the name of this instance + + + + Construct an instance with the given name, and List of listeners. + + + + the name of this instance + the initial List of JobListeners to broadcast to. + + + + Holds a List of references to SchedulerListener instances and broadcasts all + events to them (in order). + + + This may be more convenient than registering all of the listeners + directly with the Scheduler, and provides the flexibility of easily changing + which listeners get notified. + + + + James House + Marko Lahma (.NET) + + + + Construct an instance with the given List of listeners. + + The initial List of SchedulerListeners to broadcast to. + + + + Holds a List of references to TriggerListener instances and broadcasts all + events to them (in order). + + + The broadcasting behavior of this listener to delegate listeners may be + more convenient than registering all of the listeners directly with the + Scheduler, and provides the flexibility of easily changing which listeners + get notified. + + + + + James House (jhouse AT revolition DOT net) + + + + The interface to be implemented by classes that want to be informed when a + fires. In general, applications that use a + will not have use for this mechanism. + + + + + + + James House + Marko Lahma (.NET) + + + + Called by the when a + has fired, and it's associated + is about to be executed. + + It is called before the method of this + interface. + + + The that has fired. + + The that will be passed to the 's method. + + + + + Called by the when a + has fired, and it's associated + is about to be executed. + + It is called after the method of this + interface. If the implementation vetos the execution (via + returning ), the job's execute method will not be called. + + + The that has fired. + The that will be passed to + the 's method. + Returns true if job execution should be vetoed, false otherwise. + + + + Called by the when a + has misfired. + + Consideration should be given to how much time is spent in this method, + as it will affect all triggers that are misfiring. If you have lots + of triggers misfiring at once, it could be an issue it this method + does a lot. + + + The that has misfired. + + + + Called by the when a + has fired, it's associated + has been executed, and it's method has been + called. + + The that was fired. + + The that was passed to the + 's method. + + + The result of the call on the 's method. + + + + + Get the name of the . + + + + + Construct an instance with the given name. + + + (Remember to add some delegate listeners!) + + the name of this instance + + + + Construct an instance with the given name, and List of listeners. + + + + the name of this instance + the initial List of TriggerListeners to broadcast to. + + + + Keeps a collection of mappings of which Job to trigger after the completion + of a given job. If this listener is notified of a job completing that has a + mapping, then it will then attempt to trigger the follow-up job. This + achieves "job chaining", or a "poor man's workflow". + + + + Generally an instance of this listener would be registered as a global + job listener, rather than being registered directly to a given job. + + + If for some reason there is a failure creating the trigger for the + follow-up job (which would generally only be caused by a rare serious + failure in the system, or the non-existence of the follow-up job), an error + 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 + Marko Lahma (.NET) + + + + A helpful abstract base class for implementors of . + + + + The methods in this class are empty so you only need to override the + subset for the events you care about. + + + + You are required to implement + to return the unique name of your . + + + Marko Lahma (.NET) + + + + + Initializes a new instance of the class. + + + + + Called by the when a + is about to be executed (an associated + has 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 JobKey with the name and group of the first job + a JobKey with the name and group of the follow-up job + + + + A helpful abstract base class for implementors of + . + + + + The methods in this class are empty so you only need to override the + subset for the events + you care about. + + + + You are required to implement + to return the unique name of your . + + + Marko Lahma (.NET) + + + + + Get the for this + class's category. This should be used by subclasses for logging. + + + + + Get the name of the . + + + + + + Logs a history of all job executions (and execution 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" +
+
+ Marko Lahma (.NET) +
+ + + Provides an interface for a class to become a "plugin" to Quartz. + + + Plugins can do virtually anything you wish, though the most interesting ones + will obviously interact with the scheduler in some way - either actively: by + invoking actions on the scheduler, or passively: by being a , + , and/or . + + If you use to + Initialize your Scheduler, it can also create and Initialize your plugins - + look at the configuration docs for details. + + + If you need direct access your plugin, you can have it explicitly put a + reference to itself in the 's + as part of its + method. + + + James House + Marko Lahma (.NET) + + + + Called during creation of the in order to give + the a chance to Initialize. + + + At this point, the Scheduler's is not yet + + If you need direct access your plugin, you can have it explicitly put a + reference to itself in the 's + as part of its + method. + + + + The name by which the plugin is identified. + + + The scheduler to which the plugin is registered. + + + + + Called when the associated is started, in order + to let the plug-in know it can now make calls into the scheduler if it + needs to. + + + + + Called in order to inform the that it + should free up all of it's resources because the scheduler is shutting + down. + + + + + Called during creation of the in order to give + the a chance to Initialize. + + + + + Called when the associated is started, in order + to let the plug-in know it can now make calls into the scheduler if it + needs to. + + + + + Called in order to inform the that it + should free up all of it's resources because the scheduler is shutting + down. + + + + + Called by the when a is + about to be executed (an associated has occurred). + + This method will not be invoked if the execution of the Job was vetoed by a + . + + + + + + + Called by the after a + has been executed, and be for the associated 's + method has been called. + + + + + + + Called by the when a + was about to be executed (an associated + has 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 + Marko Lahma (.NET) +
+ + + Called during creation of the in order to give + the a chance to Initialize. + + + + + Called when the associated is started, in order + to let the plug-in know it can now make calls into the scheduler if it + needs to. + + + + + Called in order to inform the that it + should free up all of it's resources because the scheduler is shutting + down. + + + + + Called by the when a + has fired, and it's associated + is about to be executed. + + It is called before the method of this + interface. + + + The that has fired. + The that will be passed to the 's method. + + + + Called by the when a + has misfired. + + Consideration should be given to how much time is spent in this method, + as it will affect all triggers that are misfiring. If you have lots + of triggers misfiring at once, it could be an issue it this method + does a lot. + + + The that has misfired. + + + + Called by the when a + has fired, it's associated + has been executed, and it's method has been + called. + + The that was fired. + The that was passed to the + 's method. + The result of the call on the 's method. + + + + Called by the when a + has fired, and it's associated + is about to be executed. + + It is called after the method of this + interface. + + + The that has fired. + The that will be passed to + the 's method. + + + + + Logger instance to use. Defaults to common logging. + + + + + Get or set the message that is printed upon the completion of a trigger's + firing. + + + + + Get or set the message that is printed upon a trigger's firing. + + + + + Get or set the message that is printed upon a trigger's mis-firing. + + + + + Get the name of the . + + + + + + This plugin catches the event of the VM terminating (such as upon a CRTL-C) + and tells the scheuler to Shutdown. + + + James House + Marko Lahma (.NET) + + + + Called during creation of the in order to give + the a chance to Initialize. + + + + + Called when the associated is started, in order + to let the plug-in know it can now make calls into the scheduler if it + needs to. + + + + + Called in order to inform the that it + should free up all of it's resources because the scheduler is shutting + down. + + + + + Determine whether or not the plug-in is configured to cause a clean + Shutdown of the scheduler. + + The default value is . + + + + + + + This plugin loads XML file(s) to add jobs and schedule them with triggers + as the scheduler is initialized, and can optionally periodically scan the + file for changes. + + + The periodically scanning of files for changes is not currently supported in a + clustered environment. + + James House + Pierre Awaragi + + + + Initializes a new instance of the class. + + + + + + + + + + + Called during creation of the in order to give + the a chance to initialize. + + The name. + The scheduler. + SchedulerConfigException + + + + Called when the associated is started, in order + to let the plug-in know it can now make calls into the scheduler if it + needs to. + + + + + Helper method for generating unique job/trigger name for the + file scanning jobs (one per FileJob). The unique names are saved + in jobTriggerNameSet. + + + + + + + Called in order to inform the that it + should free up all of it's resources because the scheduler is shutting + down. + + + + + Gets the log. + + The log. + + + + Comma separated list of file names (with paths) to the XML files that should be read. + + + + + The interval at which to scan for changes to the file. + If the file has been changed, it is re-loaded and parsed. The default + value for the interval is 0, which disables scanning. + + + + + Whether or not initialization of the plugin should fail (throw an + exception) if the file cannot be found. Default is . + + + + + Information about a file that should be processed by . + + + + + Default object serialization strategy that uses + under the hood. + + Marko Lahma + + + + Interface for object serializers. + + Marko Lahma + + + + + Serializes given object as bytes + that can be stored to permanent stores. + + Object to serialize, always non-null. + + + + Deserializes object from byte array presentation. + + Data to deserialize object from, always non-null and non-empty. + + + + Serializes given object as bytes + that can be stored to permanent stores. + + Object to serialize. + + + + Deserializes object from byte array presentation. + + Data to deserialize object from. + + + + that names the scheduler instance using + just the machine hostname. + + + This class is useful when you know that your scheduler instance will be the + only one running on a particular machine. Each time the scheduler is + restarted, it will get the same instance id as long as the machine is not + renamed. + + Marko Lahma (.NET) + + + + + + An IInstanceIdGenerator is responsible for generating the clusterwide unique + instance id for a node. + + + This interface may be of use to those wishing to have specific control over + the mechanism by which the instances in their + application are named. + + + Marko Lahma (.NET) + + + + Generate the instance id for a + + The clusterwide unique instance id. + + + + + Generate the instance id for a + + The clusterwide unique instance id. + + + + A JobFactory that instantiates the Job instance (using the default no-arg + constructor, or more specifically: ), and + then attempts to set all values from the and + the 's merged onto + properties of the job. + + + Set the WarnIfPropertyNotFound property to true if you'd like noisy logging in + the case of values in the not mapping to properties on your job + class. This may be useful for troubleshooting typos of property names, etc. + but very noisy if you regularly (and purposely) have extra things in your + . + Also of possible interest is the ThrowIfPropertyNotFound property which + will throw exceptions on unmatched JobDataMap keys. + + + + + + + + James Houser + Marko Lahma (.NET) + + + + The default JobFactory used by Quartz - simply calls + on the job class. + + + + James House + Marko Lahma (.NET) + + + + A JobFactory is responsible for producing instances of + classes. + + + This interface may be of use to those wishing to have their application + produce instances via some special mechanism, such as to + give the opertunity for dependency injection. + + + + + James House + Marko Lahma (.NET) + + + + Called by the scheduler at the time of the trigger firing, in order to + produce a instance on which to call Execute. + + + It should be extremely rare for this method to throw an exception - + basically only the the case where there is no way at all to instantiate + and prepare the Job for execution. When the exception is thrown, the + Scheduler will move all triggers associated with the Job into the + state, which will require human + intervention (e.g. an application restart after fixing whatever + configuration problem led to the issue wih instantiating the Job. + + + The TriggerFiredBundle from which the + and other info relating to the trigger firing can be obtained. + + a handle to the scheduler that is about to execute the job + SchedulerException if there is a problem instantiating the Job. + the newly instantiated Job + + + + + 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. + + + + + Gets the fired trigger record id. + + The fired trigger record id. + + + + Called by the QuartzScheduler before the is + used, in order to give the it a chance to Initialize. + + + + + Called by the QuartzScheduler to inform the that + the scheduler has started. + + + + + Called by the QuartzScheduler to inform the JobStore that + the scheduler has been paused. + + + + + Called by the QuartzScheduler to inform the JobStore that + the scheduler has resumed after being paused. + + + + + Called by the QuartzScheduler to inform the that + it should free up all of it's resources because the scheduler is + shutting down. + + + + + Clears (deletes!) all scheduling data - all s, s + s. + + + + + Store the given and . + + The to be stored. + The to be stored. + + + + Returns true if the given job group is paused. + + Job group name + + + + + returns true if the given TriggerGroup is paused. + + + + + + + Store the given . + + The to be stored. + If , any existing in the + with the same name and group should be + over-written. + + + + Remove (delete) the with the given + name, and any s that reference + it. + + + if a with the given name and + group was found and removed from the store. + + + + + Remove (delete) the with the + given name. + + + if a with the given + name and group was found and removed from the store. + + + + + Store the given . + + The to be stored. + If , any existing in + the with the same name and group should + be over-written. + + + + Remove (delete) the with the + given name. + + + + if a with the given + name and group was found and removed from the store. + + The to be removed. + Whether to delete orpahaned job details from scheduler if job becomes orphaned from removing the trigger. + + + + Replaces the trigger. + + The of the to be replaced. + The new trigger. + + + + + Retrieve the for the given + . + + + The desired , or null if there is no match. + + + + + Retrieve the given . + + + The desired , or null if there is no match. + + + + + Determine whether a with the given identifier already + exists within the scheduler. + + the identifier to check for + true if a Job exists with the given identifier + + + + Determine whether a with the given identifier already + exists within the scheduler. + + triggerKey the identifier to check for + true if a Trigger exists with the given identifier + + + + Get the current state of the identified . + + + + + + + + + + + Store the given . + + The name. + The to be stored. + If , any existing + in the with the same name and group + should be over-written. + If , any s existing + in the that reference an existing + Calendar with the same name with have their next fire time + re-computed with the new . + + + + Remove (delete) the with the + given name. + + If removal of the would result in + s pointing to non-existent calendars, then a + will be thrown. + + The name of the to be removed. + + if a with the given name + was found and removed from the store. + + + + + Retrieve the given . + + The name of the to be retrieved. + + The desired , or null if there is no match. + + + + + Get the number of s that are + stored in the . + + + + + Get the number of s that are + stored in the . + + + + + Get the number of s that are + stored in the . + + + + + Get the names of all of the s that + match the given group matcher. + + + + + Get the names of all of the s + in the . + + If there are no ICalendars in the given group name, the result should be + a zero-length array (not ). + + + + + + Get the names of all of the s + that have the given group name. + + + + + Get the names of all of the + groups. + + + + + Get the names of all of the groups. + + + + + Get all of the Triggers that are associated to the given Job. + + If there are no matches, a zero-length array should be returned. + + + + + + Gets the trigger wrappers for job. + + + + + + Gets the trigger wrappers for calendar. + + Name of the cal. + + + + + Pause the with the given name. + + + + + Pause all of the s in the given group. + + The JobStore should "remember" that the group is paused, and impose the + pause on any new triggers that are added to the group while the group is + paused. + + + + + + Pause the with the given + name - by pausing all of its current s. + + + + + Pause all of the s in the + given group - by pausing all of their s. + + The JobStore should "remember" that the group is paused, and impose the + pause on any new jobs that are added to the group while the group is + paused. + + + + + + Resume (un-pause) the with the given key. + + + If the missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + Resume (un-pause) all of the s in the + given group. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Resume (un-pause) the with + the given name. + + If any of the 's s missed one + or more fire-times, then the 's misfire + instruction will be applied. + + + + + + Resume (un-pause) all of the s + in the given group. + + If any of the s had s that + missed one or more fire-times, then the 's + misfire instruction will be applied. + + + + + + Pause all triggers - equivalent of calling + on every group. + + When is called (to un-pause), trigger misfire + instructions WILL be applied. + + + + + + + Resume (un-pause) all triggers - equivalent of calling + on every trigger group and setting all job groups unpaused />. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + + Applies the misfire. + + The trigger wrapper. + + + + + Get a handle to the next trigger to be fired, and mark it as 'reserved' + by the calling scheduler. + + + + + + Inform the that the scheduler no longer plans to + fire the given , that it had previously acquired + (reserved). + + + + + Inform the that the scheduler is now firing the + given (executing its associated ), + that it had previously acquired (reserved). + + + + + Inform the that the scheduler has completed the + firing of the given (and the execution its + associated ), and that the + in the given should be updated if the + is stateful. + + + + + Sets the state of all triggers of job to specified state. + + + + + Peeks the triggers. + + + + + + + + + The time span by which a trigger must have missed its + next-fire-time, in order for it to be considered "misfired" and thus + have its misfire instruction applied. + + + + + Returns whether this instance supports persistence. + + + + + + + Inform the of the Scheduler instance's Id, + prior to initialize being invoked. + + + + + Inform the of the Scheduler instance's name, + prior to initialize being invoked. + + + + + Comparer for trigger wrappers. + + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + 2 + + + + Possible internal trigger states + in RAMJobStore + + + + + Waiting + + + + + Acquired + + + + + Executing + + + + + Complete + + + + + Paused + + + + + Blocked + + + + + Paused and Blocked + + + + + Error + + + + + Helper wrapper class + + + + + The key used + + + + + Job's key + + + + + The trigger + + + + + Current state + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Serves as a hash function for a particular type. is suitable for use in hashing algorithms and data structures like a hash table. + + + A hash code for the current . + + + + + Scheduler exporter that exports scheduler to remoting context. + + Marko Lahma + + + + Service interface for scheduler exporters. + + Marko Lahma + + + + Binds (exports) scheduler to external context. + + + + + + Unbinds scheduler from external context. + + + + + + Registers remoting channel if needed. This is determined + by checking whether there is a positive value for port. + + + + + Gets or sets the port used for remoting. + + + + + Gets or sets the name to use when exporting + scheduler to remoting context. + + + + + Gets or sets the name to use when binding to + tcp channel. + + + + + Sets the channel type when registering remoting. + + + + + + Sets the used when + exporting to remoting context. Defaults to + . + + + + + A implementation that creates + connection to remote scheduler using remoting. + + + + + Client Proxy to a IRemotableQuartzScheduler + + + + + Returns a client proxy to a remote . + + + + + Returns a client proxy to a remote . + + + + + Gets or sets the remote scheduler address. + + The remote scheduler address. + + + + The default InstanceIdGenerator used by Quartz when instance id is to be + automatically generated. Instance id is of the form HOSTNAME + CURRENT_TIME. + + Marko Lahma (.NET) + + + + + + Generate the instance id for a + + The clusterwide unique instance id. + + + + This is class is a simple implementation of a thread pool, based on the + interface. + + + objects are sent to the pool with the + method, which blocks until a becomes available. + + The pool has a fixed number of s, and does not grow or + shrink based on demand. + + James House + Juergen Donnerstag + Marko Lahma (.NET) + + + + The interface to be implemented by classes that want to provide a thread + pool for the 's use. + + + implementation instances should ideally be made + for the sole use of Quartz. Most importantly, when the method + returns a value of 1 or greater, + there must still be at least one available thread in the pool when the + method is called a few moments (or + many moments) later. If this assumption does not hold true, it may + result in extra JobStore queries and updates, and if clustering features + are being used, it may result in greater imballance of load. + + + James House + Marko Lahma (.NET) + + + + Execute the given in the next + available . + + + The implementation of this interface should not throw exceptions unless + there is a serious problem (i.e. a serious misconfiguration). If there + are no available threads, rather it should either queue the Runnable, or + block until a thread is available, depending on the desired strategy. + + + + + Determines the number of threads that are currently available in in + the pool. Useful for determining the number of times + can be called before returning + false. + + + The implementation of this method should block until there is at + least one available thread. + + the number of currently available threads + + + + Must be called before the is + used, in order to give the it a chance to Initialize. + + + Typically called by the . + + + + + Called by the QuartzScheduler to inform the + that it should free up all of it's resources because the scheduler is + shutting down. + + + + + Get the current number of threads in the . + + + + + Inform the of the Scheduler instance's Id, + prior to initialize being invoked. + + + + + Inform the of the Scheduler instance's name, + prior to initialize being invoked. + + + + + Create a new (unconfigured) . + + + + + Create a new with the specified number + of s that have the given priority. + + + the number of worker s in the pool, must + be > 0. + + + the thread priority for the worker threads. + + + + + + Called by the QuartzScheduler before the is + used, in order to give the it a chance to Initialize. + + + + + Terminate any worker threads in this thread group. + Jobs currently in progress will complete. + + + + + Run the given object in the next available + . If while waiting the thread pool is asked to + shut down, the Runnable is executed immediately within a new additional + thread. + + The to be added. + + + + Creates the worker threads. + + The thread count. + + + + + Terminate any worker threads in this thread group. + Jobs currently in progress will complete. + + + + + Gets or sets the number of worker threads in the pool. + Set has no effect after has been called. + + + + + Get or set the thread priority of worker threads in the pool. + Set operation has no effect after has been called. + + + + + Gets or sets the thread name prefix. + + The thread name prefix. + + + + Gets or sets the value of makeThreadsDaemons. + + + + + Gets the size of the pool. + + The size of the pool. + + + + Inform the of the Scheduler instance's Id, + prior to initialize being invoked. + + + + + Inform the of the Scheduler instance's name, + prior to initialize being invoked. + + + + + A Worker loops, waiting to Execute tasks. + + + + + Create a worker thread and start it. Waiting for the next Runnable, + executing it, and waiting for the next Runnable, until the Shutdown + flag is set. + + + + + Create a worker thread, start it, Execute the runnable and terminate + the thread (one time execution). + + + + + Signal the thread that it should terminate. + + + + + Loop, executing targets as they are received. + + + + + A that simply calls . + + + James House + Marko Lahma (.NET) + + + + Called to give the ClassLoadHelper a chance to Initialize itself, + including the 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 + + + + + InstanceIdGenerator that will use a to configure the scheduler. + If no value set for the property, a is thrown. + Alex Snaps + + + + + System property to read the instanceId from. + + + + + Returns the cluster wide value for this scheduler instance's id, based on a system property. + + + + + This is class is a simple implementation of a zero size thread pool, based on the + interface. + + + The pool has zero s and does not grow or shrink based on demand. + Which means it is obviously not useful for most scenarios. When it may be useful + is to prevent creating any worker threads at all - which may be desirable for + the sole purpose of preserving system resources in the case where the scheduler + instance only exists in order to schedule jobs, but which will never execute + jobs (e.g. will never have Start() called on it). + + Wayne Fay + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Called by the QuartzScheduler before the is + used, in order to give the it a chance to Initialize. + + + + + Shutdowns this instance. + + + + + Called by the QuartzScheduler to inform the + that it should free up all of it's resources because the scheduler is + shutting down. + + + + + + Execute the given in the next + available . + + + + + The implementation of this interface should not throw exceptions unless + there is a serious problem (i.e. a serious misconfiguration). If there + are no available threads, rather it should either queue the Runnable, or + block until a thread is available, depending on the desired strategy. + + + + + Determines the number of threads that are currently available in in + the pool. Useful for determining the number of times + can be called before returning + false. + + + the number of currently available threads + + + The implementation of this method should block until there is at + least one available thread. + + + + + Gets the log. + + The log. + + + + Gets the size of the pool. + + The size of the pool. + + + + Inform the of the Scheduler instance's Id, + prior to initialize being invoked. + + + + + Inform the of the Scheduler instance's name, + prior to initialize being invoked. + + + + + A simple class (structure) used for returning execution-time data from the + JobStore to the . + + + James House + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + The job. + The trigger. + The calendar. + if set to true [job is recovering]. + The fire time. + The scheduled fire time. + The previous fire time. + The next fire time. + + + + Gets the job detail. + + The job detail. + + + + Gets the trigger. + + The trigger. + + + + Gets the calendar. + + The calendar. + + + + Gets a value indicating whether this is recovering. + + true if recovering; otherwise, false. + + + + Returns the UTC fire time. + + + + + Gets the next UTC fire time. + + The next fire time. + Returns the nextFireTimeUtc. + + + + Gets the previous UTC fire time. + + The previous fire time. + Returns the previous fire time. + + + + Returns the scheduled UTC fire time. + + + + + Result holder for trigger firing event. + + + + + Constructor. + + + + + + Constructor. + + + + + Bundle. + + + + + Possible exception. + + + + + Extension methods for . + + + + + Tries to read value and returns the value if successfully read. Otherwise return default value + for value's type. + + + + + + + + + + Extension methods for simplified access. + + + + + Returns string from given column name, or null if DbNull. + + + + + Returns int from given column name. + + + + + Returns long from given column name. + + + + + Returns long from given column name, or null if DbNull. + + + + + Returns decimal from given column name. + + + + + Manages a collection of IDbProviders, and provides transparent access + to their database. + + + James House + Sharada Jambula + Mohammad Rezaei + Marko Lahma (.NET) + + + + 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 + Marko Lahma (.NET) + + + + Create a DirtyFlagMap that 'wraps' a . + + + + + Create a DirtyFlagMap that 'wraps' a that has the + given initial capacity. + + + + + Serialization constructor. + + + + + + + Creates a new object that is a copy of the current instance. + + + A new object that is a copy of this instance. + + + + + When implemented by a class, removes all elements from the . + + + The is read-only. + + + + + When implemented by a class, determines whether the contains an element with the specified key. + + The key to locate in the . + + if the contains an element with the key; otherwise, . + + + is . + + + + When implemented by a class, removes the element with the + specified key from the . + + The key of the element to remove. + + is . + + The is read-only. + -or- + The has a fixed size. + + + + + When implemented by a class, returns an + for the . + + + An for the . + + + + + When implemented by a class, adds an element with the provided key and value to the . + + The to use as the key of the element to add. + The to use as the value of the element to add. + is . + + An element with the same key already exists in the . + + + The is read-only. + -or- + The has a fixed size. + + + + + When implemented by a class, copies the elements of + the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + is . + + is less than zero. + + + is multidimensional. + -or- + + is equal to or greater than the length of . + -or- + The number of elements in the source is greater than the available space from to the end of the destination . + + The type of the source cannot be cast automatically to the type of the destination . + + + + Clear the 'dirty' flag (set dirty flag to ). + + + + + Determines whether the specified obj contains value. + + The obj. + + true if the specified obj contains value; otherwise, false. + + + + + Gets the entries as a set. + + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + if the specified is equal to the + current ; otherwise, . + + + + + Serves as a hash function for a particular type, suitable + for use in hashing algorithms and data structures like a hash table. + + + A hash code for the current . + + + + + Gets keyset for this map. + + + + + + Puts the value behind a specified key. + + The key. + The val. + + + + + Puts all. + + The t. + + + + Determine whether the is flagged dirty. + + + + + Get a direct handle to the underlying Map. + + + + + Gets a value indicating whether this instance is empty. + + true if this instance is empty; otherwise, false. + + + + Gets or sets the with the specified key. + + + + + + When implemented by a class, gets the number of + elements contained in the . + + + + + + When implemented by a class, gets an containing the values in the . + + + + + + When implemented by a class, gets an containing the keys of the . + + + + + + When implemented by a class, gets a value indicating whether the + is read-only. + + + + + + When implemented by a class, gets a value indicating whether the + has a fixed size. + + + + + + When implemented by a class, gets an object that + can be used to synchronize access to the . + + + + + + When implemented by a class, gets a value + indicating whether access to the is synchronized + (thread-safe). + + + + + + Utility class for file handling related things. + + Marko Lahma + + + + Resolves file to actual file if for example relative '~' used. + + File name to check + Expanded file name or actual no resolving was done. + + + + Object representing a job or trigger key. + + Jeffrey Wescott + Marko Lahma (.NET) + + + + The default group for scheduling entities, with the value "DEFAULT". + + + + + Construct a new key with the given name and group. + + the name + the group + + + + Return the string representation of the key. The format will be: + <group>.<name>. + + + + the string representation of the key + + + + + Get the name portion of the key. + + the name + + + + + Get the group portion of the key. + + + + the group + + + + + Wrapper class to access thread local data. + Data is either accessed from thread or HTTP Context's + data if HTTP Context is 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. + + + + Generic extension methods for objects. + + + + + Creates a deep copy of object by serializing to memory stream. + + + + + + Utility methods that are used to convert objects from one type into another. + + Aleksandar Seovic + Marko Lahma + + + + Convert the value to the required (if necessary from a string). + + The proposed change value. + + The we must convert to. + + The new value, possibly the result of type conversion. + + + + Determines whether value is assignable to required type. + + The value to check. + Type of the required. + + true if value can be assigned as given type; otherwise, false. + + + + + Instantiates an instance of the type specified. + + + + + + Sets the object properties using reflection. + + + + + Sets the object properties using reflection. + + The object to set values to. + The properties to set to object. + + + + This is an utility class used to parse the properties. + + James House + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + The props. + + + + Gets the string property. + + The name. + + + + + Gets the string property. + + The name. + The default value. + + + + + Gets the string array property. + + The name. + + + + + Gets the string array property. + + The name. + The default value. + + + + + Gets the boolean property. + + The name. + + + + + Gets the boolean property. + + The name. + if set to true [defaultValue]. + + + + + Gets the byte property. + + The name. + + + + + Gets the byte property. + + The name. + The default value. + + + + + Gets the char property. + + The name. + + + + + Gets the char property. + + The name. + The default value. + + + + + Gets the double property. + + The name. + + + + + Gets the double property. + + The name. + The default value. + + + + + Gets the float property. + + The name. + + + + + Gets the float property. + + The name. + The default value. + + + + + Gets the int property. + + The name. + + + + + Gets the int property. + + The name. + The default value. + + + + + Gets the int array property. + + The name. + + + + + Gets the int array property. + + The name. + The default value. + + + + + Gets the long property. + + The name. + + + + + Gets the long property. + + The name. + The def. + + + + + Gets the TimeSpan property. + + The name. + The def. + + + + + Gets the short property. + + The name. + + + + + Gets the short property. + + The name. + The default value. + + + + + Gets the property groups. + + The prefix. + + + + + Gets the property group. + + The prefix. + + + + + Gets the property group. + + The prefix. + if set to true [strip prefix]. + + + + + Get all properties that start with the given prefix. + + The prefix for which to search. If it does not end in a "." then one will be added to it for search purposes. + Whether to strip off the given in the result's keys. + Optional array of fully qualified prefixes to exclude. For example if is "a.b.c", then might be "a.b.c.ignore". + Group of that start with the given prefix, optionally have that prefix removed, and do not include properties that start with one of the given excluded prefixes. + + + + Reads the properties from assembly (embedded resource). + + The file name to read resources from. + + + + + Reads the properties from file system. + + The file name to read resources from. + + + + + Gets the underlying properties. + + The underlying properties. + + + + Extension methods for . + + + + + Allows null-safe trimming of string. + + + + + + + Trims string and if resulting string is empty, null is returned. + + + + + + + An implementation of that wraps another + and flags itself 'dirty' when it is modified, enforces that all keys are + strings. + + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The initial capacity. + + + + Serialization constructor. + + + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + if the specified is equal to the + current ; otherwise, . + + + + + Serves as a hash function for a particular type, suitable + for use in hashing algorithms and data structures like a hash table. + + + A hash code for the current . + + + + + Gets the keys. + + + + + + Adds the name-value pairs in the given to the . + + All keys must be s, and all values must be serializable. + + + + + + Adds the given value to the 's + data map. + + + + + Adds the given value to the 's + data map. + + + + + Adds the given value to the 's + data map. + + + + + Adds the given value to the 's + data map. + + + + + Adds the given value to the 's + data map. + + + + + Adds the given value to the 's + data map. + + + + + Adds the given value to the 's + data map. + + + + + Retrieve the identified value from the . + + + + + Retrieve the identified value from the . + + + + + Retrieve the identified value from the . + + + + + Retrieve the identified value from the . + + + + + Retrieve the identified value from the . + + + + + Retrieve the identified value from the . + + + + + Retrieve the identified value from the . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reports JobSchedulingDataProcessor validation exceptions. + + Chris Bonham + Marko Lahma (.NET) + + + + Constructor for ValidationException. + + + + + Constructor for ValidationException. + + exception message. + + + + Constructor for ValidationException. + + collection of validation exceptions. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + Gets the validation exceptions. + + The validation exceptions. + + + + Returns the detail message string. + + + + + Parses an XML file that declares Jobs and their schedules (Triggers). + + + + The xml document must conform to the format defined in "job_scheduling_data_2_0.xsd" + + + + After creating an instance of this class, you should call one of the + functions, after which you may call the ScheduledJobs() + function to get a handle to the defined Jobs and Triggers, which can then be + scheduled with the . Alternatively, you could call + the function to do all of this + in one step. + + + + The same instance can be used again and again, with the list of defined Jobs + being cleared each time you call a method, + however a single instance is not thread-safe. + + + Chris Bonham + James House + Marko Lahma (.NET) + + + + Constructor for XMLSchedulingDataProcessor. + + + + + Process the xml file in the default location (a file named + "quartz_jobs.xml" in the current working directory). + + + + + Process the xml file named . + + meta data file name. + + + + Process the xmlfile named with the given system + ID. + + Name of the file. + The system id. + + + + Process the xmlfile named with the given system + ID. + + The stream. + The system id. + + + + Process the xml file in the default location, and schedule all of the jobs defined within it. + + Note that we will set overWriteExistingJobs after the default xml is parsed. + + + + + + Process the xml file in the default location, and schedule all of the + jobs defined within it. + + + + + Process the xml file in the given location, and schedule all of the + jobs defined within it. + + meta data file name. + The scheduler. + + + + Process the xml file in the given location, and schedule all of the + jobs defined within it. + + Name of the file. + The system id. + The sched. + + + + Schedules the given sets of jobs and triggers. + + The sched. + + + + Adds a detected validation exception. + + The exception. + + + + Resets the the number of detected validation exceptions. + + + + + Throws a ValidationException if the number of validationExceptions + detected is greater than zero. + + + DTD validation exception. + + + + + Whether the existing scheduling data (with same identifiers) will be + overwritten. + + + If false, and is not false, and jobs or + triggers with the same names already exist as those in the file, an + error will occur. + + + + + + If true (and is false) then any + job/triggers encountered in this file that have names that already exist + in the scheduler will be ignored, and no error will be produced. + + + + + + Gets the log. + + The log. + + + + Helper class to map constant names to their values. + + + + + CalendarIntervalScheduleBuilder is a + that defines calendar time (day, week, month, year) interval-based + schedules for Triggers. + + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + Client code can then use the DSL to write code such as this: + + JobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + Trigger trigger = TriggerBuilder.Create() + .WithIdentity("myTrigger", "myTriggerGroup") + .WithSimpleSchedule(x => x + .WithIntervalInHours(1) + .RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + + + + Base class for implementors. + + + + + + Schedule builders offer fluent interface and are responsible for creating schedules. + + + + + + + + + Build the actual Trigger -- NOT intended to be invoked by end users, + but will rather be invoked by a TriggerBuilder which this + ScheduleBuilder is given to. + + + + + + Build the actual Trigger -- NOT intended to be invoked by end users, + but will rather be invoked by a TriggerBuilder which this + ScheduleBuilder is given to. + + + + + + Create a CalendarIntervalScheduleBuilder. + + + + + + Build the actual Trigger -- NOT intended to be invoked by end users, + but will rather be invoked by a TriggerBuilder which this + ScheduleBuilder is given to. + + + + + + Specify the time unit and interval for the Trigger to be produced. + + + + the interval at which the trigger should repeat. + the time unit (IntervalUnit) of the interval. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.SECOND that the produced + Trigger will repeat at. + + + + the number of seconds at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.MINUTE that the produced + Trigger will repeat at. + + + + the number of minutes at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.HOUR that the produced + Trigger will repeat at. + + + + the number of hours at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.DAY that the produced + Trigger will repeat at. + + + + the number of days at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.WEEK that the produced + Trigger will repeat at. + + + + the number of weeks at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.MONTH that the produced + Trigger will repeat at. + + + + the number of months at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.YEAR that the produced + Trigger will repeat at. + + + + the number of years at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CronScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CalendarIntervalScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CalendarIntervalScheduleBuilder + + + + + Extension methods that attach to . + + + + + Provides a parser and evaluator for unix-like cron expressions. Cron + expressions provide the ability to specify complex time combinations such as + "At 8:00am every Monday through Friday" or "At 1:30am every + last Friday of the month". + + + + Cron expressions are comprised of 6 required fields and one optional field + separated by white space. The fields respectively are described as follows: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field Name Allowed Values Allowed Special Characters
Seconds 0-59 , - /// /
Minutes 0-59 , - /// /
Hours 0-23 , - /// /
Day-of-month 1-31 , - /// ? / L W C
Month 1-12 or JAN-DEC , - /// /
Day-of-Week 1-7 or SUN-SAT , - /// ? / L #
Year (Optional) empty, 1970-2199 , - /// /
+ + The '*' character is used to specify all values. For example, "*" + in the minute field means "every minute". + + + The '?' character is allowed for the day-of-month and day-of-week fields. It + is used to specify 'no specific value'. This is useful when you need to + specify something in one of the two fields, but not the other. + + + The '-' character is used to specify ranges For example "10-12" in + the hour field means "the hours 10, 11 and 12". + + + The ',' character is used to specify additional values. For example + "MON,WED,FRI" in the day-of-week field means "the days Monday, + Wednesday, and Friday". + + + The '/' character is used to specify increments. For example "0/15" + in the seconds field means "the seconds 0, 15, 30, and 45". And + "5/15" in the seconds field means "the seconds 5, 20, 35, and + 50". Specifying '*' before the '/' is equivalent to specifying 0 is + the value to start with. Essentially, for each field in the expression, there + is a set of numbers that can be turned on or off. For seconds and minutes, + the numbers range from 0 to 59. For hours 0 to 23, for days of the month 0 to + 31, and for months 1 to 12. The "/" character simply helps you turn + on every "nth" value in the given set. Thus "7/6" in the + month field only turns on month "7", it does NOT mean every 6th + month, please note that subtlety. + + + The 'L' character is allowed for the day-of-month and day-of-week fields. + This character is short-hand for "last", but it has different + meaning in each of the two fields. For example, the value "L" in + the day-of-month field means "the last day of the month" - day 31 + for January, day 28 for February on non-leap years. If used in the + day-of-week field by itself, it simply means "7" or + "SAT". But if used in the day-of-week field after another value, it + means "the last xxx day of the month" - for example "6L" + means "the last friday of the month". You can also specify an offset + from the last day of the month, such as "L-3" which would mean the third-to-last + day of the calendar month. When using the 'L' option, it is important not to + specify lists, or ranges of values, as you'll get confusing/unexpected results. + + + The 'W' character is allowed for the day-of-month field. This character + is used to specify the weekday (Monday-Friday) nearest the given day. As an + example, if you were to specify "15W" as the value for the + day-of-month field, the meaning is: "the nearest weekday to the 15th of + the month". So if the 15th is a Saturday, the trigger will fire on + Friday the 14th. If the 15th is a Sunday, the trigger will fire on Monday the + 16th. If the 15th is a Tuesday, then it will fire on Tuesday the 15th. + However if you specify "1W" as the value for day-of-month, and the + 1st is a Saturday, the trigger will fire on Monday the 3rd, as it will not + 'jump' over the boundary of a month's days. The 'W' character can only be + specified when the day-of-month is a single day, not a range or list of days. + + + The 'L' and 'W' characters can also be combined for the day-of-month + expression to yield 'LW', which translates to "last weekday of the + month". + + + The '#' character is allowed for the day-of-week field. This character is + used to specify "the nth" XXX day of the month. For example, the + value of "6#3" in the day-of-week field means the third Friday of + the month (day 6 = Friday and "#3" = the 3rd one in the month). + Other examples: "2#1" = the first Monday of the month and + "4#5" = the fifth Wednesday of the month. Note that if you specify + "#5" and there is not 5 of the given day-of-week in the month, then + no firing will occur that month. If the '#' character is used, there can + only be one expression in the day-of-week field ("3#1,6#3" is + not valid, since there are two expressions). + + + + + + The legal characters and the names of months and days of the week are not + case sensitive. + + + NOTES: +
    +
  • Support for specifying both a day-of-week and a day-of-month value is + not complete (you'll need to use the '?' character in one of these fields). +
  • +
  • Overflowing ranges is supported - that is, having a larger number on + the left hand side than the right. You might do 22-2 to catch 10 o'clock + at night until 2 o'clock in the morning, or you might have NOV-FEB. It is + very important to note that overuse of overflowing ranges creates ranges + that don't make sense and no effort has been made to determine which + interpretation CronExpression chooses. An example would be + "0 0 14-6 ? * FRI-MON".
  • +
+
+
+ Sharada Jambula + James House + Contributions from Mads Henderson + Refactoring from CronTrigger to CronExpression by Aaron Craven + Marko Lahma (.NET) +
+ + + Field specification for second. + + + + + Field specification for minute. + + + + + Field specification for hour. + + + + + Field specification for day of month. + + + + + Field specification for month. + + + + + Field specification for day of week. + + + + + Field specification for year. + + + + + Field specification for all wildcard value '*'. + + + + + Field specification for not specified value '?'. + + + + + Field specification for wildcard '*'. + + + + + Field specification for no specification at all '?'. + + + + + Seconds. + + + + + minutes. + + + + + Hours. + + + + + Days of month. + + + + + Months. + + + + + Days of week. + + + + + Years. + + + + + Last day of week. + + + + + Nth day of week. + + + + + Last day of month. + + + + + Nearest weekday. + + + + + Calendar day of week. + + + + + Calendar day of month. + + + + + Expression parsed. + + + + + Constructs a new based on the specified + parameter. + + + String representation of the cron expression the new object should represent + + + + + + Indicates whether the given date satisfies the cron expression. + + + Note that milliseconds are ignored, so two Dates falling on different milliseconds + of the same second will always have the same result here. + + The date to evaluate. + a boolean indicating whether the given date satisfies the cron expression + + + + Returns the next date/time after the given date/time which + satisfies the cron expression. + + the date/time at which to begin the search for the next valid date/time + the next valid date/time + + + + Returns the next date/time after the given date/time which does + not satisfy the expression. + + the date/time at which to begin the search for the next invalid date/time + the next valid date/time + + + + Returns the string representation of the + + The string representation of the + + + + Indicates whether the specified cron expression can be parsed into a + valid cron expression + + the expression to evaluate + a boolean indicating whether the given expression is a valid cron + expression + + + + Builds the expression. + + The expression. + + + + Stores the expression values. + + The position. + The string to traverse. + The type of value. + + + + + Checks the next value. + + The position. + The string to check. + The value. + The type to search. + + + + + Gets the expression summary. + + + + + + Gets the expression set summary. + + The data. + + + + + Skips the white space. + + The i. + The s. + + + + + Finds the next white space. + + The i. + The s. + + + + + Adds to set. + + The val. + The end. + The incr. + The type. + + + + Gets the set of given type. + + The type of set to get. + + + + + Gets the value. + + The v. + The s. + The i. + + + + + Gets the numeric value from string. + + The string to parse from. + The i. + + + + + Gets the month number. + + The string to map with. + + + + + Gets the day of week number. + + The s. + + + + + Gets the time from given time parts. + + The seconds. + The minutes. + The hours. + The day of month. + The month. + + + + + Gets the next fire time after the given time. + + The UTC time to start searching from. + + + + + Creates the date time without milliseconds. + + The time. + + + + + Advance the calendar to the particular hour paying particular attention + to daylight saving problems. + + The date. + The hour. + + + + + Gets the time before. + + The end time. + + + + + NOT YET IMPLEMENTED: Returns the final time that the + will match. + + + + + + Determines whether given year is a leap year. + + The year. + + true if the specified year is a leap year; otherwise, false. + + + + + Gets the last day of month. + + The month num. + The year. + + + + + Creates a new object that is a copy of the current instance. + + + A new object that is a copy of this instance. + + + + + Determines whether the specified is equal to the current . + + + true if the specified is equal to the current ; otherwise, false. + + The to compare with the current . + + + + Determines whether the specified is equal to the current . + + + true if the specified is equal to the current ; otherwise, false. + + The to compare with the current . + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + 2 + + + + Sets or gets the time zone for which the of this + will be resolved. + + + + + Gets the cron expression string. + + The cron expression string. + + + + Helper class for cron expression handling. + + + + + The value. + + + + + The position. + + + + + CronScheduleBuilder is a that defines + -based schedules for s. + + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + + Client code can then use the DSL to write code such as this: + + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + ITrigger trigger = newTrigger() + .WithIdentity(triggerKey("myTrigger", "myTriggerGroup")) + .WithSimpleSchedule(x => x.WithIntervalInHours(1).RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + + + + + Build the actual Trigger -- NOT intended to be invoked by end users, + but will rather be invoked by a TriggerBuilder which this + ScheduleBuilder is given to. + + + + + + Create a CronScheduleBuilder with the given cron-expression - which + is presumed to b e valid cron expression (and hence only a RuntimeException + will be thrown if it is not). + + + + the cron expression to base the schedule on. + the new CronScheduleBuilder + + + + + Create a CronScheduleBuilder with the given cron-expression string - which + may not be a valid cron expression (and hence a ParseException will be thrown + f it is not). + + the cron expression string to base the schedule on + the new CronScheduleBuilder + + + + + Create a CronScheduleBuilder with the given cron-expression. + + the cron expression to base the schedule on. + the new CronScheduleBuilder + + + + + Create a CronScheduleBuilder with a cron-expression that sets the + schedule to fire every day at the given time (hour and minute). + + + + the hour of day to fire + the minute of the given hour to fire + the new CronScheduleBuilder + + + + + Create a CronScheduleBuilder with a cron-expression that sets the + schedule to fire at the given day at the given time (hour and minute) on the given days of the week. + + the hour of day to fire + the minute of the given hour to fire + the days of the week to fire + the new CronScheduleBuilder + + + + + Create a CronScheduleBuilder with a cron-expression that sets the + schedule to fire one per week on the given day at the given time + (hour and minute). + + + + the day of the week to fire + the hour of day to fire + the minute of the given hour to fire + the new CronScheduleBuilder + + + + + Create a CronScheduleBuilder with a cron-expression that sets the + schedule to fire one per month on the given day of month at the given + time (hour and minute). + + + + the day of the month to fire + the hour of day to fire + the minute of the given hour to fire + the new CronScheduleBuilder + + + + + The in which to base the schedule. + + + + the time-zone for the schedule. + the updated CronScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CronScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CronScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CronScheduleBuilder + + + + + Extension methods that attach to . + + + + + A implementation that build schedule for DailyTimeIntervalTrigger. + + + + This builder provide an extra convenient method for you to set the trigger's EndTimeOfDay. You may + use either endingDailyAt() or EndingDailyAfterCount() to set the value. The later will auto calculate + your EndTimeOfDay by using the interval, IntervalUnit and StartTimeOfDay to perform the calculation. + + + When using EndingDailyAfterCount(), you should note that it is used to calculating EndTimeOfDay. So + if your startTime on the first day is already pass by a time that would not add up to the count you + expected, until the next day comes. Remember that DailyTimeIntervalTrigger will use StartTimeOfDay + and endTimeOfDay as fresh per each day! + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + Client code can then use the DSL to write code such as this: + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + + ITrigger trigger = TriggerBuilder.Create() + .WithIdentity(triggerKey("myTrigger", "myTriggerGroup")) + .WithDailyTimeIntervalSchedule(x => + x.WithIntervalInMinutes(15) + .StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(8, 0)) + .Build(); + + scheduler.scheduleJob(job, trigger); + + + James House + Zemian Deng saltnlight5@gmail.com + Nuno Maia (.NET) + + + + A set of all days of the week. + + + The set contains all values between and + + + + + A set of the business days of the week (for locales similar to the USA). + + + The set contains all values between and + + + + + A set of the weekend days of the week (for locales similar to the USA). + + + The set contains and + + + + + Create a DailyTimeIntervalScheduleBuilder + + The new DailyTimeIntervalScheduleBuilder + + + + Build the actual Trigger -- NOT intended to be invoked by end users, + but will rather be invoked by a TriggerBuilder which this + ScheduleBuilder is given to. + + + + + + Specify the time unit and interval for the Trigger to be produced. + + + + the interval at which the trigger should repeat. + the time unit (IntervalUnit) of the interval. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.Second that the produced + Trigger will repeat at. + + The number of seconds at which the trigger should repeat. + the updated DailyTimeIntervalScheduleBuilder> + + + + + + Specify an interval in the IntervalUnit.Minute that the produced + Trigger will repeat at. + + The number of minutes at which the trigger should repeat. + the updated DailyTimeIntervalScheduleBuilder> + + + + + + Specify an interval in the IntervalUnit.Hour that the produced + Trigger will repeat at. + + The number of hours at which the trigger should repeat. + the updated DailyTimeIntervalScheduleBuilder> + + + + + + Set the trigger to fire on the given days of the week. + + a Set containing the integers representing the days of the week, defined by - . + + the updated DailyTimeIntervalScheduleBuilder + + + + Set the trigger to fire on the given days of the week. + + a variable length list of week days representing the days of the week + the updated DailyTimeIntervalScheduleBuilder + + + + Set the trigger to fire on the days from Monday through Friday. + + the updated DailyTimeIntervalScheduleBuilder + + + + Set the trigger to fire on the days Saturday and Sunday. + + the updated DailyTimeIntervalScheduleBuilder + + + + Set the trigger to fire on all days of the week. + + the updated DailyTimeIntervalScheduleBuilder + + + + Set the trigger to begin firing each day at the given time. + + + the updated DailyTimeIntervalScheduleBuilder + + + + Set the startTimeOfDay for this trigger to end firing each day at the given time. + + + the updated DailyTimeIntervalScheduleBuilder + + + + Calculate and set the EndTimeOfDay using count, interval and StarTimeOfDay. This means + that these must be set before this method is call. + + + the updated DailyTimeIntervalScheduleBuilder + + + + If the Trigger misfires, use the + instruction. + + the updated DailyTimeIntervalScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + the updated DailyTimeIntervalScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + the updated DailyTimeIntervalScheduleBuilder + + + + + Set number of times for interval to repeat. + + + Note: if you want total count = 1 (at start time) + repeatCount + + + + + + + Extension methods that attach to . + + + + + DateBuilder is used to conveniently create + instances that meet particular criteria. + + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + Client code can then use the DSL to write code such as this: + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + ITrigger trigger = newTrigger() + .WithIdentity(triggerKey("myTrigger", "myTriggerGroup")) + .WithSimpleSchedule(x => x + .WithIntervalInHours(1) + .RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minutes)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + Create a DateBuilder, with initial settings for the current date + and time in the system default timezone. + + + + + Create a DateBuilder, with initial settings for the current date and time in the given timezone. + + + + + + Create a DateBuilder, with initial settings for the current date and time in the system default timezone. + + + + + + Create a DateBuilder, with initial settings for the current date and time in the given timezone. + + Time zone to use. + + + + + Build the defined by this builder instance. + + New date time based on builder parameters. + + + + Set the hour (0-23) for the Date that will be built by this builder. + + + + + + + Set the minute (0-59) for the Date that will be built by this builder. + + + + + + + Set the second (0-59) for the Date that will be built by this builder, and truncate the milliseconds to 000. + + + + + + + Set the day of month (1-31) for the Date that will be built by this builder. + + + + + + + Set the month (1-12) for the Date that will be built by this builder. + + + + + + + Set the year for the Date that will be built by this builder. + + + + + + + Set the TimeZoneInfo for the Date that will be built by this builder (if "null", system default will be used) + + + + + + + Get a object that represents the given time, on + tomorrow's date. + + + + + + + + + Get a object that represents the given time, on + today's date (equivalent to . + + + + + + + + + Get a object that represents the given time, on today's date. + + The value (0-59) to give the seconds field of the date + The value (0-59) to give the minutes field of the date + The value (0-23) to give the hours field of the date + the new date + + + + Get a object that represents the given time, on the + given date. + + The value (0-59) to give the seconds field of the date + The value (0-59) to give the minutes field of the date + The value (0-23) to give the hours field of the date + The value (1-31) to give the day of month field of the date + The value (1-12) to give the month field of the date + the new date + + + + Get a object that represents the given time, on the + given date. + + + + The value (0-59) to give the seconds field of the date + The value (0-59) to give the minutes field of the date + The value (0-23) to give the hours field of the date + The value (1-31) to give the day of month field of the date + The value (1-12) to give the month field of the date + The value (1970-2099) to give the year field of the date + the new date + + + + Returns a date that is rounded to the next even hour after the current time. + + + For example a current time of 08:13:54 would result in a date + with the time of 09:00:00. If the date's time is in the 23rd hour, the + date's 'day' will be promoted, and the time will be set to 00:00:00. + + the new rounded date + + + + Returns a date that is rounded to the next even hour above the given date. + + + For example an input date with a time of 08:13:54 would result in a date + with the time of 09:00:00. If the date's time is in the 23rd hour, the + date's 'day' will be promoted, and the time will be set to 00:00:00. + + the Date to round, if the current time will + be used + the new rounded date + + + + Returns a date that is rounded to the previous even hour below the given date. + + + For example an input date with a time of 08:13:54 would result in a date + with the time of 08:00:00. + + the Date to round, if the current time will + be used + the new rounded date + + + + + Returns a date that is rounded to the next even minute after the current time. + + + + For example a current time of 08:13:54 would result in a date + with the time of 08:14:00. If the date's time is in the 59th minute, + then the hour (and possibly the day) will be promoted. + + the new rounded date + + + + Returns a date that is rounded to the next even minute above the given date. + + + For example an input date with a time of 08:13:54 would result in a date + with the time of 08:14:00. If the date's time is in the 59th minute, + then the hour (and possibly the day) will be promoted. + + The Date to round, if the current time will be used + The new rounded date + + + + Returns a date that is rounded to the previous even minute below the given date. + + + For example an input date with a time of 08:13:54 would result in a date + with the time of 08:13:00. + + the Date to round, if the current time will + be used + the new rounded date + + + + Returns a date that is rounded to the next even second after the current time. + + the new rounded date + + + + Returns a date that is rounded to the next even second above the given date. + + + the Date to round, if the current time will + be used + the new rounded date + + + + Returns a date that is rounded to the previous even second below the + given date. + + + + For example an input date with a time of 08:13:54.341 would result in a + date with the time of 08:13:00.000. + + + + the Date to round, if the current time will + be used + the new rounded date + + + + Returns a date that is rounded to the next even multiple of the given + minute. + + + + For example an input date with a time of 08:13:54, and an input + minute-base of 5 would result in a date with the time of 08:15:00. The + same input date with an input minute-base of 10 would result in a date + with the time of 08:20:00. But a date with the time 08:53:31 and an + input minute-base of 45 would result in 09:00:00, because the even-hour + is the next 'base' for 45-minute intervals. + + + More examples: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input 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 to round, if the current time will + be used + the base-second to set the time on + the new rounded date + + + + + An attribute that marks a class as one that must not have multiple + instances executed concurrently (where instance is based-upon a + definition - or in other words based upon a . + + + This can be used in lieu of implementing the StatefulJob marker interface that + was used prior to Quartz 2.0 + + + James House + Marko Lahma (.NET) + + + + The interface to be implemented by s that provide a + mechanism for having their execution interrupted. It is NOT a requirement + for jobs to implement this interface - in fact, for most people, none of + their jobs will. + + + + The means of actually interrupting the Job must be implemented within the + itself (the method of this + interface is simply a means for the scheduler to inform the + that a request has been made for it to be interrupted). The mechanism that + your jobs use to interrupt themselves might vary between implementations. + However the principle idea in any implementation should be to have the + body of the job's periodically check some flag to + see if an interruption has been requested, and if the flag is set, somehow + abort the performance of the rest of the job's work. An example of + interrupting a job can be found in the java source for the class + . It is legal to use + some combination of and + synchronization within and + in order to have the method block until the + signals that it has noticed the set flag. + + + + If the Job performs some form of blocking I/O or similar functions, you may + want to consider having the method store a + reference to the calling as a member variable. Then the + implementation of this interfaces method can call + on that Thread. Before attempting this, make + sure that you fully understand what + does and doesn't do. Also make sure that you clear the Job's member + reference to the Thread when the Execute(..) method exits (preferably in a + block. + + + + + + James House + Marko Lahma (.NET) + + + + Called by the when a user + interrupts the . + + void (nothing) if job interrupt is successful. + + + + Supported interval units used by . + + + + + A marker interface for s that + wish to have their state maintained between executions. + + + instances follow slightly different rules from + regular instances. The key difference is that their + associated is re-persisted after every + execution of the job, thus preserving state for the next execution. The + other difference is that stateful jobs are not allowed to Execute + concurrently, which means new triggers that occur before the completion of + the method will be delayed. + + + + + + + + James House + Marko Lahma (.NET) + + + + JobBuilder is used to instantiate s. + + + + The builder will always try to keep itself in a valid state, with + reasonable defaults set for calling Build() at any point. For instance + if you do not invoke WithIdentity(..) a job name will be generated + for you. + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + + Client code can then use the DSL to write code such as this: + + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + + ITrigger trigger = TriggerBuilder.Create() + .WithIdentity("myTrigger", "myTriggerGroup") + .WithSimpleSchedule(x => x.WithIntervalInHours(1).RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + + scheduler.scheduleJob(job, trigger); + + + + + + + + + Create a JobBuilder with which to define a . + + a new JobBuilder + + + + Create a JobBuilder with which to define a , + and set the class name of the job to be executed. + + a new JobBuilder + + + + Create a JobBuilder with which to define a , + and set the class name of the job to be executed. + + a new JobBuilder + + + + Produce the instance defined by this JobBuilder. + + the defined JobDetail. + + + + Use a with the given name and default group to + identify the JobDetail. + + + If none of the 'withIdentity' methods are set on the JobBuilder, + then a random, unique JobKey will be generated. + + the name element for the Job's JobKey + the updated JobBuilder + + + + + + Use a with the given name and group to + identify the JobDetail. + + + If none of the 'withIdentity' methods are set on the JobBuilder, + then a random, unique JobKey will be generated. + + the name element for the Job's JobKey + the group element for the Job's JobKey + the updated JobBuilder + + + + + + Use a to identify the JobDetail. + + + If none of the 'withIdentity' methods are set on the JobBuilder, + then a random, unique JobKey will be generated. + + the Job's JobKey + the updated JobBuilder + + + + + + Set the given (human-meaningful) description of the Job. + + the description for the Job + the updated JobBuilder + + + + + Set the class which will be instantiated and executed when a + Trigger fires that is associated with this JobDetail. + + the updated JobBuilder + + + + + Set the class which will be instantiated and executed when a + Trigger fires that is associated with this JobDetail. + + the updated JobBuilder + + + + + Instructs the whether or not the job + should be re-executed if a 'recovery' or 'fail-over' situation is + encountered. + + + If not explicitly set, the default value is . + + the updated JobBuilder + + + + + Instructs the whether or not the job + should be re-executed if a 'recovery' or 'fail-over' situation is + encountered. + + + If not explicitly set, the default value is . + + + the updated JobBuilder + + + + Whether or not the job should remain stored after it is + orphaned (no s point to it). + + + If not explicitly set, the default value is . + + the updated JobBuilder + + + + + Whether or not the job should remain stored after it is + orphaned (no s point to it). + + + If not explicitly set, the default value is . + + the value to set for the durability property. + the updated JobBuilder + + + + + Add the given key-value pair to the JobDetail's . + + the updated JobBuilder + + + + + Add the given key-value pair to the JobDetail's . + + the updated JobBuilder + + + + + Add the given key-value pair to the JobDetail's . + + the updated JobBuilder + + + + + Add the given key-value pair to the JobDetail's . + + the updated JobBuilder + + + + + Add the given key-value pair to the JobDetail's . + + the updated JobBuilder + + + + + Add the given key-value pair to the JobDetail's . + + the updated JobBuilder + + + + + Set the JobDetail's , adding any values to it + that were already set on this JobBuilder using any of the + other 'usingJobData' methods. + + the updated JobBuilder + + + + + Holds state information for instances. + + + instances are stored once when the + is added to a scheduler. They are also re-persisted after every execution of + instances that have present. + + instances can also be stored with a + . This can be useful in the case where you have a Job + that is stored in the scheduler for regular/repeated use by multiple + Triggers, yet with each independent triggering, you want to supply the + Job with different data inputs. + + + The passed to a Job at execution time + also contains a convenience that is the result + of merging the contents of the trigger's JobDataMap (if any) over the + Job's JobDataMap (if any). + + + + + + + James House + Marko Lahma (.NET) + + + + Create an empty . + + + + + Create a with the given data. + + + + + Create a with the given data. + + + + + Serialization constructor. + + + + + + + Adds the given value as a string version to the + 's data map. + + + + + Adds the given value as a string version to the + 's data map. + + + + + Adds the given value as a string version to the + 's data map. + + + + + Adds the given value as a string version to the + 's data map. + + + + + Adds the given value as a string version to the + 's data map. + + + + + Adds the given value as a string version to the + 's data map. + + + + + 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. + + + + + An exception that can be thrown by a + to indicate to the Quartz that an error + occurred while executing, and whether or not the requests + to be re-fired immediately (using the same , + or whether it wants to be unscheduled. + + + Note that if the flag for 'refire immediately' is set, the flags for + unscheduling the Job are ignored. + + + + + James House + Marko Lahma (.NET) + + + + Create a 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. + + + + Uniquely identifies a . + + + Keys are composed of both a name and group, and the name must be unique + within the group. If only a group is specified then the default group + name will be used. + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + Client code can then use the DSL to write code such as this: + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + ITrigger trigger = TriggerBuilder.Create() + .WithIdentity("myTrigger", "myTriggerGroup") + .WithSimpleSchedule(x => x + .WithIntervalInHours(1) + .RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + Misfire instructions. + + Marko Lahma (.NET) + + + + Instruction not set (yet). + + + + + Use smart policy. + + + + + Instructs the that the + will never be evaluated for a misfire situation, + and that the scheduler will simply try to fire it as soon as it can, + and then update the Trigger as if it had fired at the proper time. + + + NOTE: if a trigger uses this instruction, and it has missed + several of its scheduled firings, then several rapid firings may occur + as the trigger attempt to catch back up to where it would have been. + For example, a SimpleTrigger that fires every 15 seconds which has + misfired for 5 minutes will fire 20 times once it gets the chance to + fire. + + + + + Misfire policy settings for SimpleTrigger. + + + + + Instructs the that upon a mis-fire + situation, the wants to be fired + now by . + + NOTE: This instruction should typically only be used for + 'one-shot' (non-repeating) Triggers. If it is used on a trigger with a + repeat count > 0 then it is equivalent to the instruction + . + + + + + + Instructs the that upon a mis-fire + situation, the wants to be + re-scheduled to 'now' (even if the associated + excludes 'now') with the repeat count left as-is. This does obey the + end-time however, so if 'now' is after the + end-time the will not fire again. + + + + NOTE: Use of this instruction causes the trigger to 'forget' + the start-time and repeat-count that it was originally setup with (this + is only an issue if you for some reason wanted to be able to tell what + the original values were at some later time). + + + + + + Instructs the that upon a mis-fire + situation, the wants to be + re-scheduled to 'now' (even if the associated + excludes 'now') with the repeat count set to what it would be, if it had + not missed any firings. This does obey the end-time + however, so if 'now' is after the end-time the will + not fire again. + + + NOTE: Use of this instruction causes the trigger to 'forget' + the start-time and repeat-count that it was originally setup with. + Instead, the repeat count on the trigger will be changed to whatever + the remaining repeat count is (this is only an issue if you for some + reason wanted to be able to tell what the original values were at some + later time). + + + + NOTE: This instruction could cause the + to go to the 'COMPLETE' state after firing 'now', if all the + repeat-fire-times where missed. + + + + + + Instructs the that upon a mis-fire + situation, the wants to be + re-scheduled to the next scheduled time after 'now' - taking into + account any associated , and with the + repeat count set to what it would be, if it had not missed any firings. + + + NOTE/WARNING: This instruction could cause the + to go directly to the 'COMPLETE' state if all fire-times where missed. + + + + + Instructs the that upon a mis-fire + situation, the wants to be + re-scheduled to the next scheduled time after 'now' - taking into + account any associated , and with the + repeat count left unchanged. + + + + NOTE/WARNING: This instruction could cause the + to go directly to the 'COMPLETE' state if all the end-time of the trigger + has arrived. + + + + + + misfire instructions for CronTrigger + + + + + Instructs the that upon a mis-fire + situation, the wants to be fired now + by . + + + + + Instructs the that upon a mis-fire + situation, the wants to have it's + next-fire-time updated to the next time in the schedule after the + current time (taking into account any associated , + but it does not want to be fired now. + + + + + misfire instructions for 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. + + + + + Misfire instructions for DateIntervalTrigger + + + + + Instructs the that upon a mis-fire + situation, the wants to be + fired now by . + + + + + Instructs the that upon a mis-fire + situation, the wants to have it's + next-fire-time updated to the next time in the schedule after the + current time (taking into account any associated , + but it does not want to be fired now. + + + + + Misfire instructions for DailyTimeIntervalTrigger + + + + + Instructs the that upon a mis-fire + situation, the wants to be + fired now by . + + + + + Instructs the that upon a mis-fire + situation, the wants to have it's + next-fire-time updated to the next time in the schedule after the + current time (taking into account any associated , + but it does not want to be fired now. + + + + + 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 + Marko Lahma (.NET) + + + + 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 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 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 + + + + + Get a that is configured to produce a + schedule identical to this trigger's schedule. + + + + + + + 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 + Marko Lahma (.NET) + + + + Create a with the given + message. + + + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + Create a and auto-generate a + message using the name/group from the given . + + + + The message will read:
"Unable to store Job with name: '__' and + group: '__', because one already exists with this identification." +
+
+
+ + + Create a and auto-generate a + message using the name/group from the given . + + + + The message will read:
"Unable to store Trigger with name: '__' and + group: '__', because one already exists with this identification." +
+
+
+ + + An attribute that marks a class as one that makes updates to its + during execution, and wishes the scheduler to re-store the + when execution completes. + + + + Jobs that are marked with this annotation should also seriously consider + using the attribute, to avoid data + storage race conditions with concurrently executing job instances. + + + This can be used in lieu of implementing the StatefulJob marker interface that + was used prior to Quartz 2.0 + + + + James House + Marko Lahma (.NET) + + + + An exception that is thrown to indicate that there is a misconfiguration of + the - or one of the components it + configures. + + James House + Marko Lahma (.NET) + + + + Create a with the given message. + + + + + Create a with the given message + and cause. + + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + Scheduler constants. + + Marko Lahma (.NET) + + + + A (possibly) useful constant that can be used for specifying the group + that and instances belong to. + + + + + A constant group name used internally by the + scheduler - clients should not use the value of this constant + ("RECOVERING_JOBS") for 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 context/environment data that can be made available to Jobs as they + are executed. + + + Future versions of Quartz may make distinctions on how it propagates + data in between instances of proxies to a + single scheduler instance - i.e. if Quartz is being used via WCF of Remoting. + + + James House + Marko Lahma (.NET) + + + + Create an empty . + + + + + Create a with the given data. + + + + + Serialization constructor. + + + + + + + Instructs Scheduler what to do with a trigger and job. + + Marko Lahma (.NET) + + + + Instructs the that the + has no further instructions. + + + + + Instructs the that the + wants the to re-Execute + immediately. If not in a 'RECOVERING' or 'FAILED_OVER' situation, the + execution context will be re-used (giving the the + ability to 'see' anything placed in the context by its last execution). + + + + + Instructs the that the + should be put in the state. + + + + + Instructs the that the + wants itself deleted. + + + + + Instructs the that all + s referencing the same as + this one should be put in the state. + + + + + Instructs the that all + s referencing the same as + this one should be put in the state. + + + + + Instructs the that the + should be put in the state. + + + + + Describes the settings and capabilities of a given + instance. + + James House + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + Name of the scheduler. + The scheduler instance. + The scheduler type. + if set to true, scheduler is a remote scheduler. + if set to true, scheduler is started. + if set to true, scheduler is in standby mode. + if set to true, scheduler is shutdown. + The start time. + The number of jobs executed. + The job store type. + if set to true, job store is persistent. + if set to true, the job store is clustered + The thread pool type. + Size of the thread pool. + The version string. + + + + Returns a formatted (human readable) string describing all the 's + meta-data values. + + + + The format of the string looks something like this: +
+            Quartz Scheduler 'SchedulerName' with instanceId 'SchedulerInstanceId' Scheduler class: 'Quartz.Impl.StdScheduler' - running locally. Running since: '11:33am on Jul 19, 2002' Not currently paused. Number of Triggers fired: '123' Using thread pool 'Quartz.Simpl.SimpleThreadPool' - with '8' threads Using job-store 'Quartz.Impl.JobStore' - which supports persistence.
+            
+
+
+
+ + + Return a simple string representation of this object. + + + + + Returns the name of the . + + + + + Returns the instance Id of the . + + + + + Returns the class-name of the instance. + + + + + Returns whether the is being used remotely (via remoting). + + + + + Returns whether the scheduler has been started. + + + Note: may return even if + returns . + + + + + Reports whether the is in standby mode. + + + Note: may return even if + returns . + + + + + Reports whether the has been Shutdown. + + + + + Returns the class-name of the instance that is + being used by the . + + + + + Returns the type name of the instance that is + being used by the . + + + + + Returns the number of threads currently in the 's + + + + + Returns the version of Quartz that is running. + + + + + Returns the at which the Scheduler started running. + + null if the scheduler has not been started. + + + + + Returns the number of jobs executed since the + started.. + + + + + Returns whether or not the 's + instance supports persistence. + + + + + Returns whether or not the 's + is clustered. + + + + + SimpleScheduleBuilder is a + that defines strict/literal interval-based schedules for + s. + + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + Client code can then use the DSL to write code such as this: + + JobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + Trigger trigger = TriggerBuilder.Create() + .WithIdentity(triggerKey("myTrigger", "myTriggerGroup")) + .WithSimpleSchedule(x => x + .WithIntervalInHours(1) + .RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + + + + Create a SimpleScheduleBuilder. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat forever with a 1 minute interval. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat forever with an interval + of the given number of minutes. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat forever with a 1 second interval. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat forever with an interval + of the given number of seconds. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat forever with a 1 hour interval. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat forever with an interval + of the given number of hours. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat the given number + of times - 1 with a 1 minute interval. + + + Note: Total count = 1 (at start time) + repeat count + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat the given number + of times - 1 with an interval of the given number of minutes. + + + Note: Total count = 1 (at start time) + repeat count + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat the given number + of times - 1 with a 1 second interval. + + + Note: Total count = 1 (at start time) + repeat count + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat the given number + of times - 1 with an interval of the given number of seconds. + + + Note: Total count = 1 (at start time) + repeat count + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat the given number + of times - 1 with a 1 hour interval. + + + Note: Total count = 1 (at start time) + repeat count + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat the given number + of times - 1 with an interval of the given number of hours. + + + Note: Total count = 1 (at start time) + repeat count + + the new SimpleScheduleBuilder + + + + Build the actual Trigger -- NOT intended to be invoked by end users, + but will rather be invoked by a TriggerBuilder which this + ScheduleBuilder is given to. + + + + + + + + Specify a repeat interval in milliseconds. + + + + the time span at which the trigger should repeat. + the updated SimpleScheduleBuilder + + + + + + Specify a repeat interval in seconds. + + + + the time span at which the trigger should repeat. + the updated SimpleScheduleBuilder + + + + + + Specify a the number of time the trigger will repeat - total number of + firings will be this number + 1. + + + + the number of seconds at which the trigger should repeat. + the updated SimpleScheduleBuilder + + + + + + Specify that the trigger will repeat indefinitely. + + + + the updated SimpleScheduleBuilder + + + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CronScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated SimpleScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated SimpleScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated SimpleScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated SimpleScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated SimpleScheduleBuilder + + + + + Extension methods that attach to . + + + + + A time source for Quartz.NET that returns the current time. + Original idea by Ayende Rahien: + http://ayende.com/Blog/archive/2008/07/07/Dealing-with-time-in-tests.aspx + + + + + Return current UTC time via . Allows easier unit testing. + + + + + Return current time in current time zone via . Allows easier unit testing. + + + + + Represents a time in hour, minute and second of any given day. + + + The hour is in 24-hour convention, meaning values are from 0 to 23. + + + + + James House + Zemian Deng saltnlight5@gmail.com + Nuno Maia (.NET) + + + + Create a TimeOfDay instance for the given hour, minute and second. + + The hour of day, between 0 and 23. + The minute of the hour, between 0 and 59. + The second of the minute, between 0 and 59. + + + + Create a TimeOfDay instance for the given hour, minute (at the zero second of the minute). + + The hour of day, between 0 and 23. + The minute of the hour, between 0 and 59. + + + + Create a TimeOfDay instance for the given hour, minute and second. + + The hour of day, between 0 and 23. + The minute of the hour, between 0 and 59. + The second of the minute, between 0 and 59. + + + + + Create a TimeOfDay instance for the given hour, minute (at the zero second of the minute).. + + The hour of day, between 0 and 23. + The minute of the hour, between 0 and 59. + The newly instantiated TimeOfDay + + + + Determine with this time of day is before the given time of day. + + + True this time of day is before the given time of day. + + + + Return a date with time of day reset to this object values. The millisecond value will be zero. + + + + + + The hour of the day (between 0 and 23). + + + + + The minute of the hour (between 0 and 59). + + + + + The second of the minute (between 0 and 59). + + + + + Attribute to use with public properties that + can be set with Quartz configuration. Attribute can be used to advice + parsing to use correct type of time span (milliseconds, seconds, minutes, hours) + as it may depend on property. + + Marko Lahma (.NET) + + + + + Initializes a new instance of the class. + + The rule. + + + + Gets the rule. + + The rule. + + + + Possible parse rules for s. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + TriggerBuilder is used to instantiate s. + + + + The builder will always try to keep itself in a valid state, with + reasonable defaults set for calling build() at any point. For instance + if you do not invoke WithSchedule(..) method, a default schedule + of firing once immediately will be used. As another example, if you + do not invoked WithIdentity(..) a trigger name will be generated + for you. + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + + Client code can then use the DSL to write code such as this: + + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + ITrigger trigger = TriggerBuilder.Create() + .WithIdentity("myTrigger", "myTriggerGroup") + .WithSimpleSchedule(x => x + .WithIntervalInHours(1) + .RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + + + Create a new TriggerBuilder with which to define a + specification for a Trigger. + + + + the new TriggerBuilder + + + + Produce the . + + + + a Trigger that meets the specifications of the builder. + + + + Use a with the given name and default group to + identify the Trigger. + + + If none of the 'withIdentity' methods are set on the TriggerBuilder, + then a random, unique TriggerKey will be generated. + + the name element for the Trigger's TriggerKey + the updated TriggerBuilder + + + + + + Use a TriggerKey with the given name and group to + identify the Trigger. + + + If none of the 'withIdentity' methods are set on the TriggerBuilder, + then a random, unique TriggerKey will be generated. + + the name element for the Trigger's TriggerKey + the group element for the Trigger's TriggerKey + the updated TriggerBuilder + + + + + + Use the given TriggerKey to identify the Trigger. + + + If none of the 'withIdentity' methods are set on the TriggerBuilder, + then a random, unique TriggerKey will be generated. + + the TriggerKey for the Trigger to be built + the updated TriggerBuilder + + + + + + Set the given (human-meaningful) description of the Trigger. + + + + the description for the Trigger + the updated TriggerBuilder + + + + + Set the Trigger's priority. When more than one Trigger have the same + fire time, the scheduler will fire the one with the highest priority + first. + + + + the priority for the Trigger + the updated TriggerBuilder + + + + + + Set the name of the that should be applied to this + Trigger's schedule. + + + + the name of the Calendar to reference. + the updated TriggerBuilder + + + + + + Set the time the Trigger should start at - the trigger may or may + not fire at this time - depending upon the schedule configured for + the Trigger. However the Trigger will NOT fire before this time, + regardless of the Trigger's schedule. + + + + the start time for the Trigger. + the updated TriggerBuilder + + + + + + Set the time the Trigger should start at to the current moment - + the trigger may or may not fire at this time - depending upon the + schedule configured for the Trigger. + + + + the updated TriggerBuilder + + + + + Set the time at which the Trigger will no longer fire - even if it's + schedule has remaining repeats. + + + + the end time for the Trigger. If null, the end time is indefinite. + the updated TriggerBuilder + + + + + + Set the that will be used to define the + Trigger's schedule. + + + The particular used will dictate + the concrete type of Trigger that is produced by the TriggerBuilder. + + the SchedulerBuilder to use. + the updated TriggerBuilder + + + + + + + + Set the identity of the Job which should be fired by the produced + Trigger. + + + + the identity of the Job to fire. + the updated TriggerBuilder + + + + + Set the identity of the Job which should be fired by the produced + Trigger - a will be produced with the given + name and default group. + + + + the name of the job (in default group) to fire. + the updated TriggerBuilder + + + + + Set the identity of the Job which should be fired by the produced + Trigger - a will be produced with the given + name and group. + + + + the name of the job to fire. + the group of the job to fire. + the updated TriggerBuilder + + + + + Set the identity of the Job which should be fired by the produced + Trigger, by extracting the JobKey from the given job. + + + + the Job to fire. + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Common constants for triggers. + + + + + The default value for priority. + + + + + Uniquely identifies a . + + + Keys are composed of both a name and group, and the name must be unique + within the group. If only a name is specified then the default group + name will be used. + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + + Client code can then use the DSL to write code such as this: + + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + ITrigger trigger = TriggerBuilder.Create() + .WithIdentity("myTrigger", "myTriggerGroup") + .WithSimpleSchedule(x => x + .WithIntervalInHours(1) + .RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + All trigger states known to Scheduler. + + Marko Lahma (.NET) + + + + Indicates that the is in the "normal" state. + + + + + Indicates that the is in the "paused" state. + + + + + Indicates that the is in the "complete" state. + + + "Complete" indicates that the trigger has not remaining fire-times in + its schedule. + + + + + Indicates that the is in the "error" state. + + + + A arrives at the error state when the scheduler + attempts to fire it, but cannot due to an error creating and executing + its related job. Often this is due to the 's + class not existing in the classpath. + + + + When the trigger is in the error state, the scheduler will make no + attempts to fire it. + + + + + + Indicates that the is in the "blocked" state. + + + A arrives at the blocked state when the job that + it is associated with has a and it is + currently executing. + + + + + + Indicates that the does not exist. + + + + + A Comparator that compares trigger's next fire times, or in other words, + sorts them according to earliest next fire time. If the fire times are + the same, then the triggers are sorted according to priority (highest + value first), if the priorities are the same, then they are sorted + by key. + + + + + Convenience and utility methods for simplifying the construction and + configuration of s and DateTimeOffsetOffsets. + + + + James House + Marko Lahma (.NET) + + + + Returns a list of Dates that are the next fire times of a + . + The input trigger will be cloned before any work is done, so you need + not worry about its state being altered by this method. + + The trigger upon which to do the work + The calendar to apply to the trigger's schedule + The number of next fire times to produce + List of java.util.Date objects + + + + Compute the that is 1 second after the Nth firing of + the given , taking the triger's associated + into consideration. + + + The input trigger will be cloned before any work is done, so you need + not worry about its state being altered by this method. + + The trigger upon which to do the work + The calendar to apply to the trigger's schedule + The number of next fire times to produce + the computed Date, or null if the trigger (as configured) will not fire that many times + + + + Returns a list of Dates that are the next fire times of a + that fall within the given date range. The input trigger will be cloned + before any work is done, so you need not worry about its state being + altered by this method. + + NOTE: if this is a trigger that has previously fired within the given + date range, then firings which have already occurred will not be listed + in the output List. + + + The trigger upon which to do the work + The calendar to apply to the trigger's schedule + The starting date at which to find fire times + The ending date at which to stop finding fire times + List of java.util.Date objects + + + + An exception that is thrown to indicate that a call to + failed without interrupting the Job. + + + James House + Marko Lahma (.NET) + + + + Create a with the given message. + + + + + Create a with the given cause. + + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + +
+
diff --git a/lib/Quartz20/mono/4.0/C5.dll b/lib/Quartz20/mono/4.0/C5.dll new file mode 100644 index 00000000..2130d1fa Binary files /dev/null and b/lib/Quartz20/mono/4.0/C5.dll differ diff --git a/lib/Quartz20/mono/4.0/Quartz.dll b/lib/Quartz20/mono/4.0/Quartz.dll new file mode 100644 index 00000000..ca83d893 Binary files /dev/null and b/lib/Quartz20/mono/4.0/Quartz.dll differ diff --git a/lib/Quartz20/mono/4.0/Quartz.xml b/lib/Quartz20/mono/4.0/Quartz.xml new file mode 100644 index 00000000..c983e3df --- /dev/null +++ b/lib/Quartz20/mono/4.0/Quartz.xml @@ -0,0 +1,19889 @@ + + + + Quartz + + + + + A wrapper for generic HashSet that brings a common interface. + + + + + + Represents a collection ob objects that contains no duplicate elements. + + Marko Lahma (.NET) + + + + A sorted set. + + Marko Lahma (.NET) + + + + Returns a portion of the list whose elements are greater than the limit object parameter. + + The start element of the portion to extract. + The portion of the collection whose elements are greater than the limit object parameter. + + + + Returns the first item in the set. + + First object. + + + + Returns the object in the specified index. + + + + + + + Simple C5 wrapper for common interface. + + + + + + Default constructor. + + + + + Constructor that accepts comparer. + + Comparer to use. + + + + Constructor that prepolutates. + + + + + + Returns the first element. + + + + + + Return items from given range. + + + + + + + Indexer. + + + + + + + Only for backwards compatibility with serialization! + + + + + Responsible for creating the instances of + to be used within the instance. + + James House + Marko Lahma (.NET) + + + + Initialize the factory, providing a handle to the + that should be made available within the and + the s within it. + + + + + Called by the + to obtain instances of . + + + + + JobRunShell instances are responsible for providing the 'safe' environment + for s to run in, and for performing all of the work of + executing the , catching ANY thrown exceptions, updating + the with the 's completion code, + etc. + + A instance is created by a + on behalf of the which then runs the + shell in a thread from the configured when the + scheduler determines that a has been triggered. + + + + + + + James House + Marko Lahma (.NET) + + + + A helpful abstract base class for implementors of + . + + + The methods in this class are empty so you only need to override the + subset for the events you care about. + + Marko Lahma (.NET) + + + + + The interface to be implemented by classes that want to be informed of major + events. + + + + + James House + Marko Lahma (.NET) + + + + Called by the when a + is scheduled. + + + + + Called by the when a + is unscheduled. + + + + + + Called by the when a + has reached the condition in which it will never fire again. + + + + + Called by the a s has been paused. + + + + + Called by the a group of + s has been paused. + + + If a all groups were paused, then the parameter + will be null. + + The trigger group. + + + + Called by the when a + has been un-paused. + + + + + Called by the when a + group of s has been un-paused. + + + If all groups were resumed, then the parameter + will be null. + + The trigger group. + + + + Called by the when a + has been added. + + + + + + Called by the when a + has been deleted. + + + + + Called by the when a + has been paused. + + + + + Called by the when a + group of s has been paused. + + If all groups were paused, then the parameter will be + null. If all jobs were paused, then both parameters will be null. + + + The job group. + + + + Called by the when a + has been un-paused. + + + + + Called by the when a + has been un-paused. + + The job group. + + + + Called by the when a serious error has + occurred within the scheduler - such as repeated failures in the , + or the inability to instantiate a instance when its + has fired. + + + + + Called by the to inform the listener + that it has move to standby mode. + + + + + Called by the to inform the listener + that it has started. + + + + + Called by the to inform the listener + that it has Shutdown. + + + + + Called by the to inform the listener + that it has begun the shutdown sequence. + + + + + Called by the to inform the listener + that all jobs, triggers and calendars were deleted. + + + + + Get the for this + type's category. This should be used by subclasses for logging. + + + + + This interface should be implemented by any class whose instances are intended + to be executed by a thread. + + Marko Lahma (.NET) + + + + This method has to be implemented in order that starting of the thread causes the object's + run method to be called in that separately executing thread. + + + + + Create a JobRunShell instance with the given settings. + + The instance that should be made + available within the . + + + + + Initializes the job execution context with given scheduler and bundle. + + The scheduler. + + + + Requests the Shutdown. + + + + + This method has to be implemented in order that starting of the thread causes the object's + run method to be called in that separately executing thread. + + + + + Runs begin procedures on this instance. + + + + + Completes the execution. + + if set to true [successful execution]. + + + + Passivates this instance. + + + + + 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. + + + + + Default concrete implementation of . + + + + + Client programs may be interested in the 'listener' interfaces that are + available from Quartz. The interface + provides notifications of Job executions. The + interface provides notifications of + firings. The + interface provides notifications of scheduler events and + errors. Listeners can be associated with local schedulers through the + interface. + + + + jhouse + 2.0 - previously listeners were managed directly on the Scheduler interface. + + + + Add the given to the, + and register it to receive events for Jobs that are matched by ANY of the + given Matchers. + + + If no matchers are provided, the will be used. + + + + + + + Add the given to the, + and register it to receive events for Jobs that are matched by ANY of the + given Matchers. + + + If no matchers are provided, the will be used. + + + + + + + Add the given Matcher to the set of matchers for which the listener + will receive events if ANY of the matchers match. + + + + the name of the listener to add the matcher to + the additional matcher to apply for selecting events + true if the identified listener was found and updated + + + + Remove the given Matcher to the set of matchers for which the listener + will receive events if ANY of the matchers match. + + + + the name of the listener to add the matcher to + the additional matcher to apply for selecting events + true if the given matcher was found and removed from the listener's list of matchers + + + + Set the set of Matchers for which the listener + will receive events if ANY of the matchers match. + + + Removes any existing matchers for the identified listener! + + the name of the listener to add the matcher to + the matchers to apply for selecting events + true if the given matcher was found and removed from the listener's list of matchers + + + + Get the set of Matchers for which the listener + will receive events if ANY of the matchers match. + + + + the name of the listener to add the matcher to + the matchers registered for selecting events for the identified listener + + + + Remove the identified from the. + + + + true if the identified listener was found in the list, and removed. + + + + Get a List containing all of the s in + the. + + + + + Get the that has the given name. + + + + + Add the given to the, + and register it to receive events for Triggers that are matched by ANY of the + given Matchers. + + + If no matcher is provided, the will be used. + + + + + + + Add the given to the, + and register it to receive events for Triggers that are matched by ANY of the + given Matchers. + + + If no matcher is provided, the will be used. + + + + + + + Add the given Matcher to the set of matchers for which the listener + will receive events if ANY of the matchers match. + + + + the name of the listener to add the matcher to + the additional matcher to apply for selecting events + true if the identified listener was found and updated + + + + Remove the given Matcher to the set of matchers for which the listener + will receive events if ANY of the matchers match. + + + + the name of the listener to add the matcher to + the additional matcher to apply for selecting events + true if the given matcher was found and removed from the listener's list of matchers + + + + Set the set of Matchers for which the listener + will receive events if ANY of the matchers match. + + + Removes any existing matchers for the identified listener! + + the name of the listener to add the matcher to + the matchers to apply for selecting events + true if the given matcher was found and removed from the listener's list of matchers + + + + Get the set of Matchers for which the listener + will receive events if ANY of the matchers match. + + + + the name of the listener to add the matcher to + the matchers registered for selecting events for the identified listener + + + + Remove the identified from the. + + + + true if the identified listener was found in the list, and + removed. + + + + Get a List containing all of the s + in the. + + + + + Get the that has the given name. + + + + + Register the given with the + . + + + + + Remove the given from the + . + + + + true if the identified listener was found in the list, and removed. + + + + Get a List containing all of the s + registered with the. + + + + + This is the heart of Quartz, an indirect implementation of the + interface, containing methods to schedule s, + register instances, etc. + + + + + + James House + Marko Lahma (.NET) + + + + Remote scheduler service interface. + + Marko Lahma (.NET) + + + + Starts this instance. + + + + + Standbies this instance. + + + + + Shutdowns this instance. + + + + + returns true if the given JobGroup + is paused + + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + Initializes the class. + + + + + Register the given with the + 's list of internal listeners. + + + + + + Remove the given from the + 's list of internal listeners. + + + true if the identified listener was found in the list, andremoved. + + + + Create a with the given configuration + properties. + + + + + + Bind the scheduler to remoting infrastructure. + + + + + Un-bind the scheduler from remoting infrastructure. + + + + + Adds an object that should be kept as reference to prevent + it from being garbage collected. + + The obj. + + + + Removes the object from 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 key of the trigger + The new to be stored. + + if a with the given + name and group was not found and removed from the store, otherwise + the first fire time of the newly scheduled trigger. + + + + + Creates a new positive random number + + The last random obtained + Returns a new positive random number + + + + Trigger the identified (Execute it now) - with a non-volatile trigger. + + + + + Store and schedule the identified + + + + + + Pause the with the given name. + + + + + Pause all of the s in the given group. + + + + + Pause the with the given + name - by pausing all of its current s. + + + + + Pause all of the s in the + given group - by pausing all of their s. + + + + + Resume (un-pause) the with the given + name. + + If the missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Resume (un-pause) all of the s in the + matching groups. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Gets the paused trigger groups. + + + + + + Resume (un-pause) the with + the given name. + + If any of the 's s missed one + or more fire-times, then the 's misfire + instruction will be applied. + + + + + + Resume (un-pause) all of the s + in the matching groups. + + If any of the s had s that + missed one or more fire-times, then the 's + misfire instruction will be applied. + + + + + + Pause all triggers - equivalent of calling + with a matcher matching all known groups. + + When is called (to un-pause), trigger misfire + instructions WILL be applied. + + + + + + + + Resume (un-pause) all triggers - equivalent of calling + on every group. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + + Get the names of all known groups. + + + + + Get the names of all the s in the + given group. + + + + + Get all s that are associated with the + identified . + + + + + Get the names of all known + groups. + + + + + Get the names of all the s in + the matching groups. + + + + + Get the for the + instance with the given name and group. + + + + + Get the instance with the given name and + group. + + + + + Determine whether a with the given identifier already + exists within the scheduler. + + + + the identifier to check for + true if a Job exists with the given identifier + + + + Determine whether a with the given identifier already + exists within the scheduler. + + + + the identifier to check for + true if a Trigger exists with the given identifier + + + + Clears (deletes!) all scheduling data - all s, s + s. + + + + + Get the current state of the identified . + + + + + + Add (register) the given to the Scheduler. + + + + + Delete the identified from the Scheduler. + + true if the Calendar was found and deleted. + + + + Get the instance with the given name. + + + + + Get the names of all registered s. + + + + + Add the given to the + 's internal list. + + + + + + Remove the identified from the 's + list of internal listeners. + + + true if the identified listener was found in the list, and removed. + + + + Get the internal + that has the given name. + + + + + + + Add the given to the + 's internal list. + + + + + + Remove the identified from the 's + list of internal listeners. + + + true if the identified listener was found in the list, and removed. + + + + Get the internal that + has the given name. + + + + + + + Notifies the job store job complete. + + The trigger. + The detail. + The instruction code. + + + + Notifies the scheduler thread. + + + + + Notifies the trigger listeners about fired trigger. + + The job execution context. + + + + + Notifies the trigger listeners about misfired trigger. + + The trigger. + + + + Notifies the trigger listeners of completion. + + The job 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. + + + + + Notifies the scheduler listeners about finalized trigger. + + The trigger. + + + + Notifies the scheduler listeners about paused trigger. + + The group. + + + + Notifies the scheduler listeners about paused trigger. + + + + + Notifies the scheduler listeners resumed trigger. + + The group. + + + + Notifies the scheduler listeners resumed trigger. + + + + + Notifies the scheduler listeners about paused job. + + + + + Notifies the scheduler listeners about paused job. + + The group. + + + + Notifies the scheduler listeners about resumed job. + + + + + Notifies the scheduler listeners about resumed job. + + The group. + + + + Notifies the scheduler listeners about scheduler shutdown. + + + + + Interrupt all instances of the identified InterruptableJob. + + + + + Interrupt all instances of the identified InterruptableJob executing in this Scheduler instance. + + + This method is not cluster aware. That is, it will only interrupt + instances of the identified InterruptableJob currently executing in this + Scheduler instance, not across the entire cluster. + + + + + + + + Obtains a lifetime service object to control the lifetime policy for this instance. + + + + + Gets the version of the Quartz Scheduler. + + The version. + + + + Gets the version major. + + The version major. + + + + Gets the version minor. + + The version minor. + + + + Gets the version iteration. + + The version iteration. + + + + Gets the scheduler signaler. + + The scheduler signaler. + + + + Returns the name of the . + + + + + Returns the instance Id of the . + + + + + Returns the of the . + + + + + Gets or sets a value indicating whether to signal on scheduling change. + + + true if 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 internal s + registered with the . + + + + + Gets or sets the job factory. + + The job factory. + + + + Gets the running since. + + The running since. + + + + Gets the number of jobs executed. + + The number of jobs executed. + + + + Gets a value indicating whether this scheduler supports persistence. + + true if supports persistence; otherwise, false. + + + + Get a List containing all of the s + in the 's internal list. + + + + + + Get a list containing all of the s + in the 's internal list. + + + + + Helper class to start scheduler in a delayed fashion. + + + + + ErrorLogger - Scheduler Listener Class + + + + + The interface to be implemented by classes that want to be informed when a + executes. In general, applications that use a + will not have use for this mechanism. + + + + + + + + James House + Marko Lahma (.NET) + + + + Called by the when a + is about to be executed (an associated + has occurred). + + This method will not be invoked if the execution of the Job was vetoed + by a . + + + + + + + Called by the when a + was about to be executed (an associated + has occurred), but a vetoed it's + execution. + + + + + + Called by the after a + has been executed, and be for the associated 's + method has been called. + + + + + Get the name of the . + + + + + Contains all of the resources (,, + etc.) necessary to create a instance. + + + James House + Marko Lahma (.NET) + + + + Gets the unique identifier. + + Name of the scheduler. + The scheduler instance id. + + + + + Gets the unique identifier. + + + + + + Add the given for the + to use. This method expects the plugin's + "initialize" method to be invoked externally (either before or after + this method is called). + + + + + + Get or set the name for the . + + + if name is null or empty. + + + + + Get or set the instance Id for the . + + + if name is null or empty. + + + + + Get or set the name for the . + + + if name is null or empty. + + + + + Get or set the for the + to use. + + + if threadPool is null. + + + + + Get or set the for the + to use. + + + if jobStore is null. + + + + + Get or set the for the + to use. + + + if jobRunShellFactory is null. + + + + + Get the of all s for the + to use. + + + + + + Gets or sets a value indicating whether to make scheduler thread daemon. + + + true if scheduler should be thread daemon; otherwise, false. + + + + + Gets or sets the scheduler exporter. + + The scheduler exporter. + + + + The ThreadExecutor which runs the QuartzSchedulerThread. + + + + + Gets or sets the batch time window. + + + + + The thread responsible for performing the work of firing + s that are registered with the . + + + + + James House + Marko Lahma (.NET) + + + + Support class used to handle threads + + Marko Lahma (.NET) + + + + The instance of System.Threading.Thread + + + + + Initializes a new instance of the QuartzThread class + + + + + Initializes a new instance of the Thread class. + + The name of the thread + + + + This method has no functionality unless the method is overridden + + + + + Causes the operating system to change the state of the current thread instance to ThreadState.Running + + + + + Interrupts a thread that is in the WaitSleepJoin thread state + + + + + Blocks the calling thread until a thread terminates + + + + + Obtain a string that represents the current object + + A string that represents the current object + + + + Gets or sets the name of the thread + + + + + Gets or sets a value indicating the scheduling priority of a thread + + + + + Gets or sets a value indicating whether or not a thread is a background thread. + + + + + Gets the randomized idle wait time. + + The randomized idle wait time. + + + + Construct a new for the given + as a non-daemon + with normal priority. + + + + + Construct a new for the given + as a with the given + attributes. + + + + + Signals the main processing loop to pause at the next possible point. + + + + + Signals the main processing loop to pause at the next possible point. + + + + + Signals the main processing loop that a change in scheduling has been + made - in order to interrupt any sleeping that may be 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 + Marko Lahma (.NET) + + + + Notifies the scheduler about misfired trigger. + + The trigger that misfired. + + + + Notifies the scheduler about finalized trigger. + + The trigger that has finalized. + + + + Signals the scheduling change. + + + + + 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. + + + + + Metadata information about specific ADO.NET driver library. Metadata is used to + create correct types of object instances to interact with the underlying + database. + + Marko Lahma + + + + Initializes this instance. Parses information and initializes startup + values. + + + + + Gets the name of the parameter which includes the parameter prefix for this + database. + + Name of the parameter. + + + Gets or sets the name of the assembly that holds the connection library. + The name of the assembly. + + + + Gets or sets the name of the product. + + The name of the product. + + + + Gets or sets the type of the connection. + + The type of the connection. + + + + Gets or sets the type of the command. + + The type of the command. + + + + Gets or sets the type of the parameter. + + The type of the parameter. + + + + Gets the type of the command builder. + + The type of the command builder. + + + Gets the command builder's derive parameters method. + The command builder derive parameters method. + + + + Gets or sets the parameter name prefix. + + The parameter name prefix. + + + + Gets or sets the type of the exception that is thrown when using driver + library. + + The type of the exception. + + + + Gets or sets a value indicating whether parameters are bind by name when using + ADO.NET parameters. + + true if parameters are bind by name; otherwise, false. + + + Gets or sets the type of the database parameters. + The type of the parameter db. + + + + Gets the parameter db type property. + + The parameter db type property. + + + + Gets the parameter is nullable property. + + The parameter is nullable property. + + + + Gets or sets the type of the db binary column. This is a string representation of + Enum element because this information is database driver specific. + + The type of the db binary. + + + Gets the type of the db binary. + The type of the db binary. + + + + Sets the name of the parameter db type property. + + The name of the parameter db type property. + + + + Gets or sets a value indicating whether [use parameter name prefix in parameter collection]. + + + true if [use parameter name prefix in parameter collection]; otherwise, false. + + + + + Concrete implementation of . + + Marko Lahma + + + + Data access provider interface. + + Marko Lahma + + + + 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. + + + + This interface can be implemented by any + class that needs to use the constants contained herein. + + Jeffrey Wescott + James House + Marko Lahma(.NET) + + + + Simple Trigger type. + + + + + Cron Trigger type. + + + + + Calendar Interval Trigger type. + + + + + Daily Time Interval Trigger type. + + + + + A general blob Trigger type. + + + + + This class contains utility functions for use in all delegate classes. + + Jeffrey Wescott + Marko Lahma (.NET) + + + + Replace the table prefix in a query by replacing any occurrences of + "{0}" with the table prefix. + + The unsubstitued query + The table prefix + the scheduler name + The query, with proper table prefix substituted + + + + Common helper methods for working with ADO.NET. + + Marko Lahma + + + + Persist a CalendarIntervalTriggerImpl by converting internal fields to and from + SimplePropertiesTriggerProperties. + + + + + + + A base implementation of that persists + trigger fields in the "QRTZ_SIMPROP_TRIGGERS" table. This allows extending + concrete classes to simply implement a couple methods that do the work of + getting/setting the trigger's fields, and creating the + for the particular type of trigger. + + + jhouse + Marko Lahma (.NET) + + + + An interface which provides an implementation for storing a particular + type of 's extended properties. + + jhouse + + + + Initializes the persistence delegate. + + + + + Returns whether the trigger type can be handled by delegate. + + + + + Returns database discriminator value for trigger type. + + + + + Inserts trigger's special properties. + + + + + Updates trigger's special properties. + + + + + Deletes trigger's special properties. + + + + + Loads trigger's special properties. + + + + + Returns whether the trigger type can be handled by delegate. + + + + + Returns database discriminator value for trigger type. + + + + + Utility class to keep track of both active transaction + and connection. + + Marko Lahma + + + + Initializes a new instance of the class. + + The connection. + The transaction. + + + + Gets or sets the connection. + + The connection. + + + + Gets or sets the transaction. + + The transaction. + + + + Persist a CronTriggerImpl. + + + + + + + Persist a DailyTimeIntervalTrigger by converting internal fields to and from + SimplePropertiesTriggerProperties. + + + + Zemian Deng saltnlight5@gmail.com + Nuno Maia (.NET) + + + + + + + + + + Base class for database based lock handlers for providing thread/resource locking + in order to protect resources from being altered by multiple threads at the + same time. + + Marko Lahma (.NET) + + + + This class extends + to include the query string constants in use by the + class. + + Jeffrey Wescott + Marko Lahma (.NET) + + + + An interface for providing thread/resource locking in order to protect + resources from being altered by multiple threads at the same time. + + James House + Marko Lahma (.NET) + + + + Grants a lock on the identified resource to the calling thread (blocking + until it is available). + + true if the lock was obtained. + + + + Release the lock on the identified resource if it is held by the calling + thread. + + + + + 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. + + Marko Lahma (.NET) + + + + Table prefix to use. + + + + + Initializes a new instance of the class. + + The table prefix. + the scheduler name + The SQL. + The default SQL. + The db provider. + + + + Execute the SQL that will lock the proper database row. + + + + + + + + + Grants a lock on the identified resource to the calling thread (blocking + until it is available). + + + + + true if the lock was obtained. + + + + Release the lock on the identified resource if it is held by the calling + thread. + + + + + + + Determine whether the calling thread owns a lock on the identified + resource. + + + + + + + + Gets or sets the lock owners. + + The lock owners. + + + + Gets the log. + + The log. + + + + This Semaphore implementation does use the database. + + + + + Gets or sets the table prefix. + + The table prefix. + + + + Initialization argumens holder for implementations. + + + + + Whether simple should be used (for serialization safety). + + + + + The logger to use during execution. + + + + + The prefix of all table names. + + + + + The instance's name. + + + + + The instance id. + + + + + The db provider. + + + + + The type loading strategy. + + + + + Object serializer and deserializer strategy to use. + + + + + Custom driver delegate initialization. + + + initStrings are of the format: + settingName=settingValue|otherSettingName=otherSettingValue|... + + + + + Conveys the state of a fired-trigger record. + + James House + Marko Lahma (.NET) + + + + Gets or sets the fire instance id. + + The fire instance id. + + + + Gets or sets the fire timestamp. + + The fire timestamp. + + + + Gets or sets a value indicating whether job disallows concurrent execution. + + + + + Gets or sets the job key. + + The job key. + + + + Gets or sets the scheduler instance id. + + The scheduler instance id. + + + + Gets or sets the trigger key. + + The trigger key. + + + + Gets or sets the state of the fire instance. + + The state of the fire instance. + + + + Gets or sets a value indicating whether [job requests recovery]. + + true if [job requests recovery]; otherwise, false. + + + + Gets or sets the priority. + + The priority. + + + + Service interface or modifying parameters + and resultset values. + + + + + Prepares a to be used to access database. + + Connection and tranasction pair + SQL to run + + + + + Adds a parameter to . + + Command to add parameter to + Parameter's name + Parameter's value + + + + Adds a parameter to . + + Command to add parameter to + Parameter's name + Parameter's value + Parameter's data type + + + + Gets the db presentation for boolean value. Subclasses can overwrite this behaviour. + + Value to map to database. + + + + + Gets the boolean value from db presentation. Subclasses can overwrite this behaviour. + + Value to map from database. + + + + + Gets the db presentation for date/time value. Subclasses can overwrite this behaviour. + + Value to map to database. + + + + + Gets the date/time value from db presentation. Subclasses can overwrite this behaviour. + + Value to map from database. + + + + + Gets the db presentation for time span value. Subclasses can overwrite this behaviour. + + Value to map to database. + + + + + Gets the time span value from db presentation. Subclasses can overwrite this behaviour. + + Value to map from database. + + + + + This is the base interface for all driver delegate classes. + + + + This interface is very similar to the + interface except each method has an additional + parameter. + + + Unless a database driver has some extremely-DB-specific + requirements, any IDriverDelegate implementation classes should extend the + class. + + + Jeffrey Wescott + James House + Marko Lahma (.NET) + + + + Initializes the driver delegate with configuration data. + + + + + + Update all triggers having one of the two given states, to the given new + state. + + The DB Connection + The new state for the triggers + The first old state to update + The second old state to update + Number of rows updated + + + + Get the names of all of the triggers that have misfired - according to + the given timestamp. + + The DB Connection + The timestamp. + An array of objects + + + + Get the names of all of the triggers in the given state that have + misfired - according to the given timestamp. + + The DB Connection + The state. + The time stamp. + An array of objects + + + + Get the names of all of the triggers in the given group and state that + have misfired - according to the given timestamp. + + The DB Connection + Name of the group. + The state. + The timestamp. + An array of objects + + + + Select all of the triggers for jobs that are requesting recovery. The + returned trigger objects will have unique "recoverXXX" trigger names and + will be in the trigger group. + + + In order to preserve the ordering of the triggers, the fire time will be + set from the ColumnFiredTime column in the TableFiredTriggers + table. The caller is responsible for calling + on each returned trigger. It is also up to the caller to insert the + returned triggers to ensure that they are fired. + + The DB Connection + An array of objects + + + + Delete all fired triggers. + + The DB Connection + The number of rows deleted + + + + Delete all fired triggers of the given instance. + + The DB Connection + The instance id. + The number of rows deleted + + + + Insert the job detail record. + + The DB Connection + The job to insert. + Number of rows inserted. + + + + Update the job detail record. + + The DB Connection. + The job to update. + Number of rows updated. + + + + Get the names of all of the triggers associated with the given job. + + + + The DB Connection + The key identifying the job. + + + + Delete the job detail record for the given job. + + The DB Connection + The key identifying the job. + the number of rows deleted + + + + Check whether or not the given job is stateful. + + The DB Connection + The key identifying the job. + true if the job exists and is stateful, false otherwise + + + + Check whether or not the given job exists. + + The DB Connection + The key identifying the job. + true if the job exists, false otherwise + + + + Update the job data map for the given job. + + The DB Connection + The job. + the number of rows updated + + + + Select the JobDetail object for a given job name / group name. + + The DB Connection + The key identifying the job. + The class load helper. + The populated JobDetail object + + + + Select the total number of jobs stored. + + The DB Connection + the total number of jobs stored + + + + Select all of the job group names that are stored. + + The DB Connection. + an array of group names + + + + Select all of the jobs contained in a given group. + + The DB Connection + + an array of job names + + + + Insert the base trigger data. + + The DB Connection + The trigger to insert. + The state that the trigger should be stored in. + The job detail. + The number of rows inserted + + + + Insert the blob trigger data. + + The DB Connection + The trigger to insert + The number of rows inserted + + + + Update the base trigger data. + + the DB Connection + The trigger. + The state. + The job detail. + the number of rows updated + + + + Update the blob trigger data. + + the DB Connection + The trigger. + the number of rows updated + + + + Check whether or not a trigger exists. + + the DB Connection + The key identifying the trigger. + the number of rows updated + + + + Update the state for a given trigger. + + The DB Connection + The key identifying the trigger. + The new state for the trigger. + the number of rows updated + + + + Update the given trigger to the given new state, if it is in the given + old state. + + The DB connection + The key identifying the trigger. + The new state for the trigger + The old state the trigger must be in + int the number of rows updated + + + + Update the given trigger to the given new state, if it is one of the + given old states. + + The DB connection + The key identifying the trigger. + The new state for the trigger + One of the old state the trigger must be in + One of the old state the trigger must be in + One of the old state the trigger must be in + + int the number of rows updated + + SQLException + + + + Update all triggers in the given group to the given new state, if they + are in one of the given old states. + + The DB connection + + The new state for the trigger + One of the old state the trigger must be in + One of the old state the trigger must be in + One of the old state the trigger must be in + The number of rows updated + + + + Update all of the triggers of the given group to the given new state, if + they are in the given old state. + + The DB connection + + The new state for the trigger group + The old state the triggers must be in. + int the number of rows updated + + + + Update the states of all triggers associated with the given job. + + The DB Connection + The key identifying the job. + The new state for the triggers. + The number of rows updated + + + + Update the states of any triggers associated with the given job, that + are the given current state. + + The DB Connection + The key identifying the job. + The new state for the triggers + The old state of the triggers + the number of rows updated + + + + Delete the BLOB trigger data for a trigger. + + The DB Connection + The key identifying the trigger. + The number of rows deleted + + + + Delete the base trigger data for a trigger. + + The DB Connection + The key identifying the trigger. + the number of rows deleted + + + + Select the number of triggers associated with a given job. + + The DB Connection + The key identifying the job. + the number of triggers for the given job + + + + Select the job to which the trigger is associated. + + The DB Connection + The key identifying the trigger. + The load helper. + + The object associated with the given trigger + + + + + Select the triggers for a job> + + The DB Connection + The key identifying the job. + an array of objects associated with a given job. + + + + Select the triggers for a calendar + + The DB Connection. + Name of the calendar. + + An array of objects associated with a given job. + + + + + Select a trigger. + + The DB Connection. + The key identifying the trigger. + The object. + + + + + Select a trigger's JobDataMap. + + The DB Connection. + The key identifying the trigger. + The of the Trigger, never null, but possibly empty. + + + + Select a trigger's state value. + + The DB Connection. + The key identifying the trigger. + The object. + + + + Select a triggers status (state and next fire time). + + The DB Connection. + The key identifying the trigger. + A object, or null + + + + Select the total number of triggers stored. + + The DB Connection. + The total number of triggers stored. + + + + Select all of the trigger group names that are stored. + + The DB Connection. + An array of group names. + + + + Select all of the triggers contained in a given group. + + The DB Connection. + + An array of trigger names. + + + + Select all of the triggers in a given state. + + The DB Connection. + The state the triggers must be in. + An array of trigger s. + + + + Inserts the paused trigger group. + + The conn. + Name of the group. + + + + + Deletes the paused trigger group. + + The conn. + Name of the group. + + + + + Deletes all paused trigger groups. + + The conn. + + + + + Determines whether the specified trigger group is paused. + + The conn. + Name of the group. + + true if trigger group is paused; otherwise, false. + + + + + Selects the paused trigger groups. + + The DB Connection. + + + + + Determines whether given trigger group already exists. + + The conn. + Name of the group. + + true if trigger group exists; otherwise, false. + + + + + Insert a new calendar. + + The DB Connection. + The name for the new calendar. + The calendar. + The number of rows inserted. + + + + Update a calendar. + + The DB Connection. + The name for the new calendar. + The calendar. + The number of rows updated. + + + + Check whether or not a calendar exists. + + The DB Connection. + The name of the calendar. + true if the trigger exists, false otherwise. + + + + Select a calendar. + + The DB Connection. + The name of the calendar. + The Calendar. + + + + Check whether or not a calendar is referenced by any triggers. + + The DB Connection. + The name of the calendar. + true if any triggers reference the calendar, false otherwise + + + + Delete a calendar. + + The DB Connection + The name of the trigger. + The number of rows deleted. + + + + Select the total number of calendars stored. + + The DB Connection + The total number of calendars stored. + + + + Select all of the stored calendars. + + The DB Connection + An array of calendar names. + + + + Select the trigger that will be fired at the given fire time. + + The DB Connection + The time that the trigger will be fired. + + A representing the + trigger that will be fired at the given fire time, or null if no + trigger will be fired at that time + + + + + Insert a fired trigger. + + The DB Connection + The trigger. + The state that the trigger should be stored in. + The job detail. + The number of rows inserted. + + + + Select the states of all fired-trigger records for a given trigger, or + trigger group if trigger name is . + + The DB Connection + Name of the trigger. + Name of the group. + A list of FiredTriggerRecord objects. + + + + Select the states of all fired-trigger records for a given job, or job + group if job name is . + + The DB Connection + Name of the job. + Name of the group. + A List of FiredTriggerRecord objects. + + + + Select the states of all fired-trigger records for a given scheduler + instance. + + The DB Connection + Name of the instance. + A list of FiredTriggerRecord objects. + + + + Delete a fired trigger. + + The DB Connection + The fired trigger entry to delete. + The number of rows deleted. + + + + Get the number instances of the identified job currently executing. + + The DB Connection + The key identifying the job. + + The number instances of the identified job currently executing. + + + + + Insert a scheduler-instance state record. + + The DB Connection + The instance id. + The check in time. + The interval. + The number of inserted rows. + + + + Delete a scheduler-instance state record. + + The DB Connection + The instance id. + The number of deleted rows. + + + + Update a scheduler-instance state record. + + The DB Connection + The instance id. + The check in time. + The number of updated rows. + + + + A List of all current s. + + If instanceId is not null, then only the record for the identified + instance will be returned. + + + The DB Connection + The instance id. + + + + + Select the next trigger which will fire to fire between the two given timestamps + in ascending order of fire time, and then descending by priority. + + The conn. + highest value of of the triggers (exclusive) + highest value of of the triggers (inclusive) + maximum number of trigger keys allow to acquired in the returning list. + A (never null, possibly empty) list of the identifiers (Key objects) of the next triggers to be fired. + + + + Select the distinct instance names of all fired-trigger records. + + + This is useful when trying to identify orphaned fired triggers (a + fired trigger without a scheduler state record.) + + The conn. + + + + + Counts the misfired triggers in states. + + The conn. + The state1. + The ts. + + + + + Selects the misfired triggers in states. + + The conn. + The state1. + The ts. + The count. + The result list. + + + + + Clear (delete!) all scheduling data - all s, s + s. + + + + + + Exception class for when a driver delegate cannot be found for a given + configuration, or lack thereof. + + Jeffrey Wescott + Marko Lahma (.NET) + + + + Base class for exceptions thrown by the Quartz . + + + SchedulerExceptions may contain a reference to another + , which was the underlying cause of the SchedulerException. + + James House + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The MSG. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + Initializes a new instance of the class. + + The cause. + + + + Initializes a new instance of the class. + + The MSG. + The cause. + + + + Creates and returns a string representation of the current exception. + + + A string representation of the current exception. + + + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + is meant to be used in an application-server + or other software framework environment that provides + container-managed-transactions. No commit / rollback will be handled by this class. + + + If you need commit / rollback, use + instead. + + Jeffrey Wescott + James House + Srinivas Venkatarangaiah + Marko Lahma (.NET) + + + + Contains base functionality for ADO.NET-based JobStore implementations. + + Jeffrey Wescott + James House + Marko Lahma (.NET) + + + + The interface to be implemented by classes that want to provide a + and storage mechanism for the + 's use. + + + Storage of s and s should be keyed + on the combination of their name and group for uniqueness. + + + + + + + + James House + Marko Lahma (.NET) + + + + Called by the QuartzScheduler before the is + used, in order to give the it a chance to Initialize. + + + + + Called by the QuartzScheduler to inform the that + the scheduler has started. + + + + + Called by the QuartzScheduler to inform the JobStore that + the scheduler has been paused. + + + + + Called by the QuartzScheduler to inform the JobStore that + the scheduler has resumed after being paused. + + + + + Called by the QuartzScheduler to inform the that + it should free up all of it's resources because the scheduler is + shutting down. + + + + + Store the given and . + + The to be stored. + The to be stored. + ObjectAlreadyExistsException + + + + returns true if the given JobGroup is paused + + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + Store the given . + + The to be stored. + + If , any existing in the + with the same name and group should be + over-written. + + + + + Remove (delete) the with the given + key, and any s that reference + it. + + + If removal of the results in an empty group, the + group should be removed from the 's list of + known group names. + + + if a with the given name and + group was found and removed from the store. + + + + + Retrieve the for the given + . + + + The desired , or null if there is no match. + + + + + Store the given . + + The to be stored. + If , any existing in + the with the same name and group should + be over-written. + ObjectAlreadyExistsException + + + + Remove (delete) the with the given key. + + + + If removal of the results in an empty group, the + group should be removed from the 's list of + known group names. + + + If removal of the results in an 'orphaned' + that is not 'durable', then the should be deleted + also. + + + + if a with the given + name and group was found and removed from the store. + + + + + Remove (delete) the with the + given name, and store the new given one - which must be associated + with the same job. + + The to be replaced. + The new to be stored. + + if a with the given + name and group was found and removed from the store. + + + + + Retrieve the given . + + + The desired , or null if there is no + match. + + + + + Determine whether a with the given identifier already + exists within the scheduler. + + + + the identifier to check for + true if a job exists with the given identifier + + + + Determine whether a with the given identifier already + exists within the scheduler. + + + + the identifier to check for + true if a trigger exists with the given identifier + + + + Clear (delete!) all scheduling data - all s, s + s. + + + + + + + Store the given . + + The name. + The to be stored. + If , any existing + in the with the same name and group + should be over-written. + If , any s existing + in the that reference an existing + Calendar with the same name with have their next fire time + re-computed with the new . + ObjectAlreadyExistsException + + + + Remove (delete) the with the + given name. + + + If removal of the would result in + s pointing to non-existent calendars, then a + will be thrown. + + The name of the to be removed. + + if a with the given name + was found and removed from the store. + + + + + Retrieve the given . + + The name of the to be retrieved. + + The desired , or null if there is no + match. + + + + + Get the number of s that are + stored in the . + + + + + + Get the number of s that are + stored in the . + + + + + + Get the number of s that are + stored in the . + + + + + + Get the names of all of the s that + have the given group name. + + If there are no jobs in the given group name, the result should be a + zero-length array (not ). + + + + + + + + Get the names of all of the s + that have the given group name. + + If there are no triggers in the given group name, the result should be a + zero-length array (not ). + + + + + + Get the names of all of the + groups. + + If there are no known group names, the result should be a zero-length + array (not ). + + + + + + Get the names of all of the + groups. + + If there are no known group names, the result should be a zero-length + array (not ). + + + + + + Get the names of all of the s + in the . + + + If there are no Calendars in the given group name, the result should be + a zero-length array (not ). + + + + + + Get all of the Triggers that are associated to the given Job. + + + If there are no matches, a zero-length array should be returned. + + + + + Get the current state of the identified . + + + + + + Pause the with the given key. + + + + + Pause all of the s in the + given group. + + + The JobStore should "remember" that the group is paused, and impose the + pause on any new triggers that are added to the group while the group is + paused. + + + + + Pause the with the given key - by + pausing all of its current s. + + + + + Pause all of the s in the given + group - by pausing all of their s. + + The JobStore should "remember" that the group is paused, and impose the + pause on any new jobs that are added to the group while the group is + paused. + + + + + + + + Resume (un-pause) the with the + given key. + + + If the missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + + + Resume (un-pause) all of the s + in the given group. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Gets the paused trigger groups. + + + + + + Resume (un-pause) the with the + given key. + + If any of the 's s missed one + or more fire-times, then the 's misfire + instruction will be applied. + + + + + + Resume (un-pause) all of the s in + the given group. + + If any of the s had s that + missed one or more fire-times, then the 's + misfire instruction will be applied. + + + + + + Pause all triggers - equivalent of calling + on every group. + + When is called (to un-pause), trigger misfire + instructions WILL be applied. + + + + + + + Resume (un-pause) all triggers - equivalent of calling + on every group. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + + + Get a handle to the next trigger to be fired, and mark it as 'reserved' + by the calling scheduler. + + If > 0, the JobStore should only return a Trigger + that will fire no later than the time represented in this value as + milliseconds. + + + + + + + + + Inform the that the scheduler no longer plans to + fire the given , that it had previously acquired + (reserved). + + + + + Inform the that the scheduler is now firing the + given (executing its associated ), + that it had previously acquired (reserved). + + + May return null if all the triggers or their calendars no longer exist, or + if the trigger was not successfully put into the 'executing' + state. Preference is to return an empty list if none of the triggers + could be fired. + + + + + Inform the that the scheduler has completed the + firing of the given (and the execution its + associated ), and that the + in the given should be updated if the + is stateful. + + + + + Indicates whether job store supports persistence. + + + + + + How long (in milliseconds) the implementation + estimates that it will take to release a trigger and acquire a new one. + + + + + Whether or not the implementation is clustered. + + + + + + Inform the of the Scheduler instance's Id, + prior to initialize being invoked. + + + + + Inform the of the Scheduler instance's name, + prior to initialize being invoked. + + + + + Tells the JobStore the pool size used to execute jobs. + + + + + Initializes a new instance of the class. + + + + + Gets the connection and starts a new transaction. + + + + + + Called by the QuartzScheduler before the is + used, in order to give it a chance to Initialize. + + + + + + + + Called by the QuartzScheduler to inform the JobStore that + the scheduler has been paused. + + + + + Called by the QuartzScheduler to inform the JobStore that + the scheduler has resumed after being paused. + + + + + Called by the QuartzScheduler to inform the that + it should free up all of it's resources because the scheduler is + shutting down. + + + + + Will recover any failed or misfired jobs and clean up the data store as + appropriate. + + + + + Will recover any failed or misfired jobs and clean up the data store as + appropriate. + + + + + Store the given and . + + Job to be stored. + Trigger to be stored. + + + + returns true if the given JobGroup + is paused + + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + Stores the given . + + The to be stored. + + If , any existing in the + with the same name & group should be over-written. + + + + + Insert or update a job. + + + + + + Check existence of a given job. + + + + + Store the given . + + The to be stored. + + If , any existing in + the with the same name & group should + be over-written. + + + if a with the same name/group already + exists, and replaceExisting is set to false. + + + + + Insert or update a trigger. + + + + + Check existence of a given trigger. + + + + + Remove (delete) the with the given + name, and any s that reference + it. + + + + If removal of the results in an empty group, the + group should be removed from the 's list of + known group names. + + + if a with the given name & + group was found and removed from the store. + + + + + Delete a job and its listeners. + + + + + + + Delete a trigger, its listeners, and its Simple/Cron/BLOB sub-table entry. + + + + + + + + Retrieve the for the given + . + + The key identifying the job. + The desired , or null if there is no match. + + + + Remove (delete) the with the + given name. + + + + + If removal of the results in an empty group, the + group should be removed from the 's list of + known group names. + + + + If removal of the results in an 'orphaned' + that is not 'durable', then the should be deleted + also. + + + The key identifying the trigger. + + if a with the given + name & group was found and removed from the store. + + + + + + + + Retrieve the given . + + The key identifying the trigger. + The desired , or null if there is no match. + + + + Get the current state of the identified . + + + + + + + + + + Gets the state of the trigger. + + The conn. + The key identifying the trigger. + + + + + Store the given . + + The name of the calendar. + The to be stored. + + If , any existing + in the with the same name & group + should be over-written. + + + + if a with the same name already + exists, and replaceExisting is set to false. + + + + + Remove (delete) the with the given name. + + + If removal of the would result in + s pointing to non-existent calendars, then a + will be thrown. + + The name of the to be removed. + + if a with the given name + was found and removed from the store. + + + + + Retrieve the given . + + The name of the to be retrieved. + The desired , or null if there is no match. + + + + Get the number of s that are + stored in the . + + + + + Get the number of s that are + stored in the . + + + + + Get the number of s that are + stored in the . + + + + + Get the names of all of the s that + have the given group name. + + + If there are no jobs in the given group name, the result should be a + zero-length array (not ). + + + + + Determine whether a with the given identifier already + exists within the scheduler. + + + + the identifier to check for + true if a Job exists with the given identifier + + + + Determine whether a with the given identifier already + exists within the scheduler. + + + + the identifier to check for + true if a Trigger exists with the given identifier + + + + Clear (delete!) all scheduling data - all s, s + s. + + + + + + + Get the names of all of the s + that have the given group name. + + + If there are no triggers in the given group name, the result should be a + zero-length array (not ). + + + + + Get the names of all of the + groups. + + + + If there are no known group names, the result should be a zero-length + array (not ). + + + + + Get the names of all of the + groups. + + + + If there are no known group names, the result should be a zero-length + array (not ). + + + + + Get the names of all of the s + in the . + + + If there are no Calendars in the given group name, the result should be + a zero-length array (not ). + + + + + Get all of the Triggers that are associated to the given Job. + + + If there are no matches, a zero-length array should be returned. + + + + + Pause the with the given name. + + + + + Pause the with the given name. + + + + + Pause the with the given name - by + pausing all of its current s. + + + + + + Pause all of the s in the given + group - by pausing all of their s. + + + + + + Determines if a Trigger for the given job should be blocked. + State can only transition to StatePausedBlocked/StateBlocked from + StatePaused/StateWaiting respectively. + + StatePausedBlocked, StateBlocked, or the currentState. + + + + Resume (un-pause) the with the + given name. + + + If the missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + Resume (un-pause) the with the + given name. + + + If any of the 's s missed one + or more fire-times, then the 's misfire + instruction will be applied. + + + + + + Resume (un-pause) all of the s in + the given group. + + + If any of the s had s that + missed one or more fire-times, then the 's + misfire instruction will be applied. + + + + + + Pause all of the s in the given group. + + + + + + Pause all of the s in the given group. + + + + + Pause all of the s in the + given group. + + + + + Resume (un-pause) all of the s + in the given group. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Pause all triggers - equivalent of calling + on every group. + + When is called (to un-pause), trigger misfire + instructions WILL be applied. + + + + + + + + Resume (un-pause) all triggers - equivalent of calling + on every group. + + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Resume (un-pause) all triggers - equivalent of calling + on every group. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + + Get a handle to the next N triggers to be fired, and mark them as 'reserved' + by the calling scheduler. + + + + + + Inform the that the scheduler no longer plans to + fire the given , that it had previously acquired + (reserved). + + + + + Inform the that the scheduler has completed the + firing of the given (and the execution its + associated ), and that the + in the given should be updated if the + is stateful. + + + + + Get a list of all scheduler instances in the cluster that may have failed. + This includes this scheduler if it is checking in for the first time. + + + + + Create dummy objects for fired triggers + that have no scheduler state record. Checkin timestamp and interval are + left as zero on these dummy objects. + + + List of all current s + + + + Cleanup the given database connection. This means restoring + any modified auto commit or transaction isolation connection + attributes, and then closing the underlying connection. + + + + This is separate from closeConnection() because the Spring + integration relies on being able to overload closeConnection() and + expects the same connection back that it originally returned + from the datasource. + + + + + + Closes the supplied connection. + + (Optional) + + + + Rollback the supplied connection. + + (Optional) + + JobPersistenceException thrown if a SQLException occurs when the + connection is rolled back + + + + + Commit the supplied connection. + + The CTH. + if set to true opens a new transaction. + JobPersistenceException thrown if a SQLException occurs when the + + + + Execute the given callback in a transaction. Depending on the JobStore, + the surrounding transaction may be assumed to be already present + (managed). + + + This method just forwards to ExecuteInLock() with a null lockName. + + + + + + Execute the given callback having acquired the given lock. + Depending on the JobStore, the surrounding transaction may be + assumed to be already present (managed). This version is just a + handy wrapper around executeInLock that doesn't require a return + value. + + + The name of the lock to acquire, for example + "TRIGGER_ACCESS". If null, then no lock is acquired, but the + lockCallback is still executed in a transaction. + + + The callback to excute after having acquired the given lock. + + + + + + Execute the given callback having acquired the given lock. + Depending on the JobStore, the surrounding transaction may be + assumed to be already present (managed). + + + The name of the lock to acquire, for example + "TRIGGER_ACCESS". If null, then no lock is acquired, but the + lockCallback is still executed in a transaction. + + + The callback to excute after having acquired the given lock. + + + + + Execute the given callback having optionally acquired 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 acquire, for example + "TRIGGER_ACCESS". If null, then no lock is acquired, but the + lockCallback is still executed in a non-managed transaction. + + + + The callback to excute after having acquired the given lock. + + + + + Execute the given callback having optionally acquired the given lock. + This uses the non-managed transaction connection. + + + The name of the lock to acquire, for example + "TRIGGER_ACCESS". If null, then no lock is acquired, but the + lockCallback is still executed in a non-managed transaction. + + + The callback to excute after having acquired the given lock. + + + + + 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. + + + However, if batch acquisition is used, it is important for this behavior + to be used for all dbs. + + + + + Get or set the ADO.NET driver delegate class name. + + + + + The driver delegate's initialization string. + + + + + set the SQL statement to use to select and lock a row in the "locks" + table. + + + + + + Get whether the threads spawned by this JobStore should be + marked as daemon. Possible threads include the + and the . + + + + + + Get whether to check to see if there are Triggers that have misfired + before actually acquiring the lock to recover them. This should be + set to false if the majority of the time, there are are misfired + Triggers. + + + + + + Get the driver delegate for DB operations. + + + + + Get whether String-only properties will be handled in JobDataMaps. + + + + + Indicates whether this job store supports persistence. + + + + + + + An interface for classes wishing to provide the service of loading classes + and resources within the scheduler... + + James House + Marko Lahma (.NET) + + + + Called to give the ClassLoadHelper a chance to Initialize itself, + including the 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 acquired the given lock. + Because CMT assumes that the connection is already part of a managed + transaction, it does not attempt to commit or rollback the + enclosing transaction. + + + + + + + The name of the lock to acquire, for example + "TRIGGER_ACCESS". If null, then no lock is acquired, but the + txCallback is still executed in a transaction. + + Callback to execute. + + + + is meant to be used in a standalone environment. + Both commit and rollback will be handled by this class. + + Jeffrey Wescott + James House + Marko Lahma (.NET) + + + + Called by the QuartzScheduler before the is + used, in order to give the it a chance to Initialize. + + + + + + + For , the non-managed TX connection is just + the normal connection because it is not CMT. + + + + + + Execute the given callback having optionally 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 + Marko Lahma (.NET) + + + + An exception that is thrown to indicate that there has been a failure in the + scheduler's underlying persistence mechanism. + + James House + Marko Lahma (.NET) + + + + Create a with the given message. + + + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + Create a with the given message + and cause. + + + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + This is a driver delegate for the MySQL ADO.NET driver. + + Marko Lahma + + + + 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) + + + + Initializes the driver delegate. + + + + + Insert the job detail record. + + the DB Connection + the new state for the triggers + the first old state to update + the second old state to update + number of rows updated + + + + Get the names of all of the triggers that have misfired. + + the DB Connection + The ts. + an array of objects + + + + Select all of the triggers in a given state. + + The DB Connection + The state the triggers must be in + an array of trigger s + + + + Get the names of all of the triggers in the given state that have + misfired - according to the given timestamp. + + The DB Connection + The state. + The time stamp. + An array of objects + + + + Get the names of all of the triggers in the given state that have + misfired - according to the given timestamp. No more than count will + be returned. + + The conn. + The state1. + The ts. + The most misfired triggers to return, negative for all + + Output parameter. A List of objects. Must not be null + + Whether there are more misfired triggers left to find beyond the given count. + + + + Get the number of triggers in the given state that have + misfired - according to the given timestamp. + + + + + + + + + Get the names of all of the triggers in the given group and state that + have misfired. + + The DB Connection + Name of the group. + The state. + The timestamp. + an array of objects + + + + Select all of the triggers for jobs that are requesting recovery. The + returned trigger objects will have unique "recoverXXX" trigger names and + will be in the + trigger group. + + + In order to preserve the ordering of the triggers, the fire time will be + set from the ColumnFiredTime column in the TableFiredTriggers + table. The caller is responsible for calling + on each returned trigger. It is also up to the caller to insert the + returned triggers to ensure that they are fired. + + The DB Connection + an array of objects + + + + Delete all fired triggers. + + The DB Connection. + The number of rows deleted. + + + + Delete all fired triggers of the given instance. + + The DB Connection + The instance id. + The number of rows deleted + + + + Clear (delete!) all scheduling data - all s, s + s. + + + + + + + Insert the job detail record. + + The DB Connection. + The job to insert. + Number of rows inserted. + + + + Gets the db presentation for boolean value. Subclasses can overwrite this behaviour. + + Value to map to database. + + + + + Gets the boolean value from db presentation. Subclasses can overwrite this behaviour. + + Value to map from database. + + + + + Gets the db presentation for date/time value. Subclasses can overwrite this behaviour. + + Value to map to database. + + + + + Gets the date/time value from db presentation. Subclasses can overwrite this behaviour. + + Value to map from database. + + + + + Gets the db presentation for time span value. Subclasses can overwrite this behaviour. + + Value to map to database. + + + + + Gets the time span value from db presentation. Subclasses can overwrite this behaviour. + + Value to map from database. + + + + + Update the job detail record. + + The DB Connection. + The job to update. + Number of rows updated. + + + + Get the names of all of the triggers associated with the given job. + + The DB Connection. + The key identifying the job. + An array of objects + + + + Delete the job detail record for the given job. + + the DB Connection + The key identifying the job. + the number of rows deleted + + + + Check whether or not the given job is stateful. + + the DB Connection + The key identifying the job. + + true if the job exists and is stateful, false otherwise + + + + + Check whether or not the given job exists. + + the DB Connection + The key identifying the job. + true if the job exists, false otherwise + + + + Update the job data map for the given job. + + The conn. + the job to update + the number of rows updated + + + + Select the JobDetail object for a given job name / group name. + + The DB Connection. + The key identifying the job. + The load helper. + The populated JobDetail object. + + + build Map from java.util.Properties encoding. + + + + Select the total number of jobs stored. + + The DB Connection. + The total number of jobs stored. + + + + Select all of the job group names that are stored. + + The DB Connection. + An array of group names. + + + + Select all of the jobs contained in a given group. + + The DB Connection. + + An array of job names. + + + + Insert the base trigger data. + + the DB Connection + the trigger to insert + the state that the trigger should be stored in + The job detail. + the number of rows inserted + + + + Insert the blob trigger data. + + The DB Connection. + The trigger to insert. + The number of rows inserted. + + + + Update the base trigger data. + + The DB Connection. + The trigger to insert. + The state that the trigger should be stored in. + The job detail. + The number of rows updated. + + + + Update the blob trigger data. + + The DB Connection. + The trigger to insert. + The number of rows updated. + + + + Check whether or not a trigger exists. + + The DB Connection. + the key of the trigger + true if the trigger exists, false otherwise + + + + Update the state for a given trigger. + + The DB Connection. + the key of the trigger + The new state for the trigger. + The number of rows updated. + + + + Update the given trigger to the given new state, if it is one of the + given old states. + + The DB connection. + the key of the trigger + The new state for the trigger. + One of the old state the trigger must be in. + One of the old state the trigger must be in. + One of the old state the trigger must be in. + The number of rows updated. + + + + Update all triggers in the given group to the given new state, if they + are in one of the given old states. + + The DB connection. + + The new state for the trigger. + One of the old state the trigger must be in. + One of the old state the trigger must be in. + One of the old state the trigger must be in. + The number of rows updated. + + + + Update the given trigger to the given new state, if it is in the given + old state. + + the DB connection + the key of the trigger + the new state for the trigger + the old state the trigger must be in + int the number of rows updated + + + + Update all of the triggers of the given group to the given new state, if + they are in the given old state. + + the DB connection + + the new state for the trigger group + the old state the triggers must be in + int the number of rows updated + + + + Update the states of all triggers associated with the given job. + + the DB Connection + the key of the job + the new state for the triggers + the number of rows updated + + + + Updates the state of the trigger states for job from other. + + The conn. + Key of the job. + The state. + The old state. + + + + + Delete the cron trigger data for a trigger. + + the DB Connection + the key of the trigger + the number of rows deleted + + + + Delete the base trigger data for a trigger. + + the DB Connection + the key of the trigger + the number of rows deleted + + + + Select the number of triggers associated with a given job. + + the DB Connection + the key of the job + the number of triggers for the given job + + + + Select the job to which the trigger is associated. + + the DB Connection + the key of the trigger + The load helper. + The object associated with the given trigger + + + + Select the triggers for a job + + the DB Connection + the key of the job + + an array of objects + associated with a given job. + + + + + Select the triggers for a calendar + + The DB Connection. + Name of the calendar. + + An array of objects associated with a given job. + + + + + Select a trigger. + + the DB Connection + the key of the trigger + The object + + + + Select a trigger's JobDataMap. + + the DB Connection + the key of the trigger + The of the Trigger, never null, but possibly empty. + + + + Select a trigger's state value. + + the DB Connection + the key of the trigger + The object + + + + Select a trigger status (state and next fire time). + + the DB Connection + the key of the trigger + + a object, or null + + + + + Select the total number of triggers stored. + + the DB Connection + the total number of triggers stored + + + + Select all of the trigger group names that are stored. + + the DB Connection + + an array of group names + + + + + Select all of the triggers contained in a given group. + + the DB Connection + + + an array of trigger names + + + + + Inserts the paused trigger group. + + The conn. + Name of the group. + + + + + Deletes the paused trigger group. + + The conn. + Name of the group. + + + + + Deletes all paused trigger groups. + + The conn. + + + + + Determines whether the specified trigger group is paused. + + The conn. + Name of the group. + + true if trigger group is paused; otherwise, false. + + + + + Determines whether given trigger group already exists. + + The conn. + Name of the group. + + true if trigger group exists; otherwise, false. + + + + + Insert a new calendar. + + the DB Connection + The name for the new calendar. + The calendar. + the number of rows inserted + IOException + + + + Update a calendar. + + the DB Connection + The name for the new calendar. + The calendar. + the number of rows updated + IOException + + + + Check whether or not a calendar exists. + + the DB Connection + The name of the calendar. + + true if the trigger exists, false otherwise + + + + + Select a calendar. + + the DB Connection + The name of the calendar. + the Calendar + ClassNotFoundException + IOException + + + + Check whether or not a calendar is referenced by any triggers. + + the DB Connection + The name of the calendar. + + true if any triggers reference the calendar, false otherwise + + + + + Delete a calendar. + + the DB Connection + The name of the trigger. + the number of rows deleted + + + + Select the total number of calendars stored. + + the DB Connection + the total number of calendars stored + + + + Select all of the stored calendars. + + the DB Connection + + an array of calendar names + + + + + Select the trigger that will be fired at the given fire time. + + the DB Connection + the time that the trigger will be fired + + a representing the + trigger that will be fired at the given fire time, or null if no + trigger will be fired at that time + + + + + Select the next trigger which will fire to fire between the two given timestamps + in ascending order of fire time, and then descending by priority. + + The conn. + highest value of of the triggers (exclusive) + highest value of of the triggers (inclusive) + maximum number of trigger keys allow to acquired in the returning list. + A (never null, possibly empty) list of the identifiers (Key objects) of the next triggers to be fired. + + + + Insert a fired trigger. + + the DB Connection + the trigger + the state that the trigger should be stored in + The job. + the number of rows inserted + + + + + Update a fired trigger. + + + + + + the DB Connection + + the trigger + + + the state that the trigger should be stored in + the number of rows inserted + + + + Select the states of all fired-trigger records for a given trigger, or + trigger group if trigger name is . + + The DB connection. + Name of the trigger. + Name of the group. + a List of objects. + + + + Select the states of all fired-trigger records for a given job, or job + group if job name is . + + The DB connection. + Name of the job. + Name of the group. + a List of objects. + + + + Select the states of all fired-trigger records for a given scheduler + instance. + + The DB Connection + Name of the instance. + A list of FiredTriggerRecord objects. + + + + Select the distinct instance names of all fired-trigger records. + + The conn. + + + This is useful when trying to identify orphaned fired triggers (a + fired trigger without a scheduler state record.) + + + + + Delete a fired trigger. + + the DB Connection + the fired trigger entry to delete + the number of rows deleted + + + + Selects the job execution count. + + The DB connection. + The key of the job. + + + + + Inserts the state of the scheduler. + + The conn. + The instance id. + The check in time. + The interval. + + + + + Deletes the state of the scheduler. + + The database connection. + The instance id. + + + + + Updates the state of the scheduler. + + The database connection. + The instance id. + The check in time. + + + + + A List of all current s. + + If instanceId is not null, then only the record for the identified + instance will be returned. + + + The DB Connection + The instance id. + + + + + Replace the table prefix in a query by replacing any occurrences of + "{0}" with the table prefix. + + The 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. + + + + This method should be overridden by any delegate subclasses that need + special handling for BLOBs for job details. + + The result set, already queued to the correct row. + The column index for the BLOB. + The deserialized Object from the ResultSet BLOB. + + + + Selects the paused trigger groups. + + The DB Connection. + + + + + Gets the select next trigger to acquire SQL clause. + MySQL version with LIMIT support. + + + + + + Exception class for when a driver delegate cannot be found for a given + configuration, or lack thereof. + + Jeffrey Wescott + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + This is a driver delegate for the Oracle database. + + Marko Lahma + + + + Creates the SQL for select next trigger to acquire. + + + + + Gets the db presentation for boolean value. For Oracle we use true/false of "1"/"0". + + Value to map to database. + + + + + Conveys a scheduler-instance state record. + + James House + Marko Lahma (.NET) + + + + Gets or sets the checkin interval. + + The checkin interval. + + + + Gets or sets the checkin timestamp. + + The checkin timestamp. + + + + Gets or sets the scheduler instance id. + + The scheduler instance id. + + + + Internal in-memory lock handler for providing thread/resource locking in + order to protect resources from being altered by multiple threads at the + same time. + + James House + Marko Lahma (.NET) + + + + Grants a lock on the identified resource to the calling thread (blocking + until it is available). + + True if the lock was obtained. + + + Release the lock on the identified resource if it is held by the calling + thread. + + + + + Determine whether the calling thread owns a lock on the identified + resource. + + + + + Gets the thread locks. + + The thread locks. + + + + Whether this Semaphore implementation requires a database connection for + its lock management operations. + + + + + + + + + This is a driver delegate for the SQLiteDelegate ADO.NET driver. + + Marko Lahma + + + + Gets the select next trigger to acquire SQL clause. + SQLite version with LIMIT support. + + + + + + A SQL Server specific driver delegate. + + Marko Lahma + + + + Gets the select next trigger to acquire SQL clause. + SQL Server specific version with TOP functionality + + + + + + Internal database based lock handler for providing thread/resource locking + in order to protect resources from being altered by multiple threads at the + same time. + + James House + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + The table prefix. + the scheduler name + The select with lock SQL. + + + + + Execute the SQL select for update that will lock the proper database row. + + + + + Property name and value holder for trigger state data. + + + + + Object representing a job or trigger key. + + James House + Marko Lahma (.NET) + + + + Construct a new TriggerStatus with the status name and nextFireTime. + + The trigger's status + The next time trigger will fire + + + + Return the string representation of the TriggerStatus. + + + + + + Provide thread/resource locking in order to protect + resources from being altered by multiple threads at the same time using + a db row update. + + + + Note: This Semaphore implementation is useful for databases that do + not support row locking via "SELECT FOR UPDATE" or SQL Server's type syntax. + + + As of Quartz.NET 2.0 version there is no need to use this implementation for + SQL Server databases. + + + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Execute the SQL that will lock the proper database row. + + + + + + + + + This implementation of the Calendar excludes a set of days of the year. You + may use it to exclude bank holidays which are on the same date every year. + + + + Juergen Donnerstag + Marko Lahma (.NET) + + + + This implementation of the Calendar may be used (you don't have to) as a + base class for more sophisticated one's. It merely implements the base + functionality required by each Calendar. + + + Regarded as base functionality is the treatment of base calendars. Base + calendar allow you to chain (stack) as much calendars as you may need. For + example to exclude weekends you may use WeeklyCalendar. In order to exclude + holidays as well you may define a WeeklyCalendar instance to be the base + calendar for HolidayCalendar instance. + + + Juergen Donnerstag + James House + Marko Lahma (.NET) + + + + An interface to be implemented by objects that define spaces of time during + which an associated may (not) fire. Calendars + do not define actual fire times, but rather are used to limit a + from firing on its normal schedule if necessary. Most + Calendars include all times by default and allow the user to specify times + to exclude. + + + As such, it is often useful to think of Calendars as being used to exclude a block + of time - as opposed to include a block of time. (i.e. the + schedule "fire every five minutes except on Sundays" could be + implemented with a and a + which excludes Sundays) + + Implementations MUST take care of being properly cloneable and Serializable. + + + James House + Juergen Donnerstag + Marko Lahma (.NET) + + + + Determine whether the given UTC time is 'included' by the + Calendar. + + + + + Determine the next UTC time that is 'included' by the + Calendar after the given UTC time. + + + + + Gets or sets a description for the instance - may be + useful for remembering/displaying the purpose of the calendar, though + the description has no meaning to Quartz. + + + + + Set a new base calendar or remove the existing one. + Get the base calendar. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The base calendar. + + + + Initializes a new instance of the class. + + The time zone. + + + + Initializes a new instance of the class. + + The base calendar. + The time zone. + + + + Serialization constructor. + + + + + + + checks whether two arrays have + the same length and + for any given place there are equal elements + in both arrays + + + + + + Get the base calendar. Will be null, if not set. + + + + + Check if date/time represented by timeStamp is included. If included + return true. The implementation of BaseCalendar simply calls the base + calendars IsTimeIncluded() method if base calendar is set. + + + + + + Determine the next UTC time (in milliseconds) that is 'included' by the + Calendar after the given time. Return the original value if timeStamp is + included. Return 0 if all days are excluded. + + + + + + Creates a new object that is a copy of the current instance. + + A new object that is a copy of this instance. + + + + Gets or sets the time zone. + + The time zone. + + + + Gets or sets the description given to the instance by + its creator (if any). + + + + + Set a new base calendar or remove the existing one + + + + + + Constructor + + + + + Constructor + + The base calendar. + + + + Serialization constructor. + + + + + + + Return true, if day is defined to be 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 + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + a string representation of the desired cron expression + + + + Create a with the given cron expression and + . + + + the base calendar for this calendar instance + see BaseCalendar for more information on base + calendar functionality + + a string representation of the desired cron expression + + + + Create a with the given cron expression and + . + + + the base calendar for this calendar instance + see BaseCalendar for more information on base + calendar functionality + + a string representation of the desired cron expression + + + + + Serialization constructor. + + + + + + + Determine whether the given time is 'included' by the + Calendar. + + the time to test + a boolean indicating whether the specified time is 'included' by the CronCalendar + + + + Determine the next time that is 'included' by the + Calendar after the given time. Return the original value if timeStamp is + included. Return 0 if all days are excluded. + + + + + + + Creates a new object that is a copy of the current instance. + + A new object that is a copy of this instance. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Sets the cron expression for the calendar to a new value. + + The expression. + + + + Returns the object representation of the cron expression that defines the + dates and times this calendar excludes. + + + + + This implementation of the Calendar excludes (or includes - see below) a + specified time range each day. + + + For example, you could use this calendar to + exclude business hours (8AM - 5PM) every day. Each + only allows a single time range to be specified, and that time range may not + * cross daily boundaries (i.e. you cannot specify a time range from 8PM - 5AM). + If the property is (default), + the time range defines a range of times in which triggers are not allowed to + * fire. If is , the time range + is inverted: that is, all times outside the defined time range + are excluded. + + Note when using , it behaves on the same principals + as, for example, WeeklyCalendar defines a set of days that are + excluded every week. Likewise, defines a + set of times that are excluded every day. + + + Mike Funk + Aaron Craven + Marko Lahma (.NET) + + + + Create a with a time range defined by the + specified strings and no baseCalendar. + and + must be in the format "HH:MM[:SS[:mmm]]" where: +
    +
  • + HH is the hour of the specified time. The hour should be + specified using military (24-hour) time and must be in the range + 0 to 23. +
  • +
  • + MM is the minute of the specified time and must be in the range + 0 to 59. +
  • +
  • + SS is the second of the specified time and must be in the range + 0 to 59. +
  • +
  • + mmm is the millisecond of the specified time and must be in the + range 0 to 999. +
  • +
  • items enclosed in brackets ('[', ']') are optional.
  • +
  • + The time range starting time must be before the time range ending + time. Note this means that a time range may not cross daily + boundaries (10PM - 2AM) +
  • +
+
+
+ + + 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. +
+ + + Serialization constructor. + + + + + + + Determine whether the given time is 'included' by the + Calendar. + + + + + + + Determine the next time (in milliseconds) that is 'included' by the + Calendar after the given time. Return the original value if timeStamp is + included. Return 0 if all days are excluded. + + + + + + + + Returns the start time of the time range of the day + specified in . + + + a DateTime representing the start time of the + time range for the specified date. + + + + + Returns the end time of the time range of the day + specified in + + + A DateTime representing the end time of the + time range for the specified date. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Sets the time range for the to the times + represented in the specified Strings. + + The range starting time string. + The range ending time string. + + + + Sets the time range for the to the times + represented in the specified values. + + The range starting hour of day. + The range starting minute. + The range starting second. + The range starting millis. + The range ending hour of day. + The range ending minute. + The range ending second. + The range ending millis. + + + + Sets the time range for the to the times + represented in the specified s. + + The range starting calendar. + The range ending calendar. + + + + Sets the time range for the to the times + represented in the specified values. + + The range starting time. + The range ending time. + + + + Gets the start of day, practically zeroes time part. + + The time. + + + + + Gets the end of day, 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 + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The base calendar. + + + + Serialization constructor. + + + + + + + Determine whether the given time (in milliseconds) is 'included' by the + Calendar. + + Note that this Calendar is only has full-day precision. + + + + + + Determine the next time (in milliseconds) that is 'included' by the + Calendar after the given time. + + Note that this Calendar is only has full-day precision. + + + + + + Creates a new object that is a copy of the current instance. + + A new object that is a copy of this instance. + + + + Add the given Date to the list of excluded days. Only the month, day and + year of the returned dates are significant. + + + + + Removes the excluded date. + + The date to remove. + + + + Returns a of Dates representing the excluded + days. Only the month, day and year of the returned dates are + significant. + + + + + This implementation of the Calendar excludes a set of days of the month. You + may use it to exclude every 1. of each month for example. But you may define + any day of a month. + + + + Juergen Donnerstag + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Constructor + + The base calendar. + + + + Serialization constructor. + + + + + + + Initialize internal variables + + + + + Return true, if 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. + + + + + + Creates a new object that is a copy of the current instance. + + A new object that is a copy of this instance. + + + + Get or set the array which defines the exclude-value of each day of month + Setting will redefine the array of days excluded. The array must of size greater or + equal 31. + + + + + This implementation of the Calendar excludes a set of days of the week. You + may use it to exclude weekends for example. But you may define any day of + the week. + + + + Juergen Donnerstag + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The base calendar. + + + + Serialization constructor. + + + + + + + Initialize internal variables + + + + + Return true, if wday is defined to be 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. + + + + + Matches using an AND operator on two Matcher operands. + + James House + Marko Lahma (.NET) + + + + Matchers can be used in various API methods to + select the entities that should be operated upon. + + James House + + + + + Create an AndMatcher that depends upon the result of both of the given matchers. + + + + + + + + + Matches on the complete key being equal (both name and group). + + + + jhouse + + + + Create an EverythingMatcher that matches all jobs. + + + + + + Create an EverythingMatcher that matches all triggers. + + + + + + Matches on group (ignores name) property of Keys. + + James House + Marko Lahma (.NET) + + + + An abstract base class for some types of matchers. + + James House + Marko Lahma (.NET) + + + + Create a GroupMatcher that matches groups equaling the given string. + + + + + + + Create a GroupMatcher that matches groups starting with the given string. + + + + + + + Create a GroupMatcher that matches groups ending with the given string. + + + + + + + Create a GroupMatcher that matches groups containing the given string. + + + + + + + Matches on the complete key being equal (both name and group). + + James House + Marko Lahma (.NET) + + + + Create a KeyMatcher that matches Keys that equal the given key. + + + + + + + + Matches on name (ignores group) property of Keys. + + James House + Marko Lahma (.NET) + + + + Create a NameMatcher that matches names equaling the given string. + + + + + + + Create a NameMatcher that matches names starting with the given string. + + + + + + + Create a NameMatcher that matches names ending with the given string. + + + + + + + Create a NameMatcher that matches names containing the given string. + + + + + + + Matches using an NOT operator on another Matcher. + + James House + Marko Lahma (.NET) + + + + Create a NotMatcher that reverses the result of the given matcher. + + + + + + + + Matches using an OR operator on two Matcher operands. + + James House + Marko Lahma (.NET) + + + + Create an OrMatcher that depends upon the result of at least one of the given matchers. + + + + + + + + + Operators available for comparing string values. + + + + + The base abstract class to be extended by all triggers. + + + + s have a name and group associated with them, which + should uniquely identify them within a single . + + + + s are the 'mechanism' by which s + are scheduled. Many s can point to the same , + but a single can only point to one . + + + + Triggers can 'send' parameters/data to s by placing contents + into the on the . + + + + + + + + James House + Sharada Jambula + Marko Lahma (.NET) + + + + Internal interface for managing triggers. This interface should not be used by the Quartz client. + + + + + Should not be used by end users. + + + + + The base interface with properties common to all s - + use to instantiate an actual Trigger. + + + + s have a associated with them, which + should uniquely identify them within a single . + + + + s are the 'mechanism' by which s + are scheduled. Many s can point to the same , + but a single can only point to one . + + + + Triggers can 'send' parameters/data to s by placing contents + into the on the . + + + + + + + + + + James House + Sharada Jambula + Marko Lahma (.NET) + + + + Get a that is configured to produce a + schedule identical to this trigger's schedule. + + + + + + Used by the to determine whether or not + it is possible for this to fire again. + + If the returned value is then the + may remove the from the . + + + + + + Returns the next time at which the is scheduled to fire. If + the trigger will not fire again, will be returned. Note that + the time returned can possibly be in the past, if the time that was computed + for the trigger to next fire has already arrived, but the scheduler has not yet + been able to fire the trigger (which would likely be due to lack of resources + e.g. threads). + + + The value returned is not guaranteed to be valid until after the + has been added to the scheduler. + + + + + + Returns the previous time at which the fired. + If the trigger has not yet fired, will be returned. + + + + + Returns the next time at which the will fire, + after the given time. If the trigger will not fire after the given time, + will be returned. + + + + + Get or set the description given to the instance by + its creator (if any). + + + + + Get or set the with the given name with + this Trigger. Use when setting to dis-associate a Calendar. + + + + + Get or set the that is associated with the + . + + Changes made to this map during job execution are not re-persisted, and + in fact typically result in an illegal state. + + + + + + Returns the last UTC time at which the will fire, if + the Trigger will repeat indefinitely, null will be returned. + + Note that the return time *may* be in the past. + + + + + + Get or set the instruction the should be given for + handling misfire situations for this - the + concrete type that you are using will have + defined a set of additional MISFIRE_INSTRUCTION_XXX + constants that may be set to this property. + + If not explicitly set, the default value is . + + + + + + + + + Gets and sets the date/time on which the trigger must stop firing. This + defines the final boundary for trigger firings 舒 the trigger will + not fire after to this date and time. If this value is null, no end time + boundary is assumed, and the trigger can continue indefinitely. + + + + + The time at which the trigger's scheduling should start. May or may not + be the first actual fire time of the trigger, depending upon the type of + trigger and the settings of the other properties of the trigger. However + the first actual first time will not be before this date. + + + Setting a value in the past may cause a new trigger to compute a first + fire time that is in the past, which may cause an immediate misfire + of the trigger. + + + + + The priority of a acts as a tie breaker such that if + two s have the same scheduled fire time, then Quartz + will do its best to give the one with the higher priority first access + to a worker thread. + + + If not explicitly set, the default value is 5. + + + + + + + Set a description for the instance - may be + useful for remembering/displaying the purpose of the trigger, though the + description has no meaning to Quartz. + + + + + Associate the with the given name with this Trigger. + + + + + Set the to be associated with the + . + + + + + The priority of a acts as a tie breaker such that if + two s have the same scheduled fire time, then Quartz + will do its best to give the one with the higher priority first access + to a worker thread. + + + If not explicitly set, the default value is 5. + + + + + + + The time at which the trigger's scheduling should start. May or may not + be the first actual fire time of the trigger, depending upon the type of + trigger and the settings of the other properties of the trigger. However + the first actual first time will not be before this date. + + + Setting a value in the past may cause a new trigger to compute a first + fire time that is in the past, which may cause an immediate misfire + of the trigger. + + ew DateTimeOffset StartTimeUtc { get; set; } + + + + + + Set the time at which the should quit repeating - + regardless of any remaining repeats (based on the trigger's particular + repeat settings). + + + + + + + + Set the instruction the should be given for + handling misfire situations for this - the + concrete type that you are using will have + defined a set of additional MisfireInstruction.XXX + constants that may be passed to this method. + + + If not explicitly set, the default value is . + + + + + + + + This method should not be used by the Quartz client. + + + Called when the has decided to 'fire' + the trigger (Execute the associated ), in order to + give the a chance to update itself for its next + triggering (if any). + + + + + + This method should not be used by the Quartz client. + + + + Called by the scheduler at the time a is first + added to the scheduler, in order to have the + compute its first fire time, based on any associated calendar. + + + + After this method has been called, + should return a valid answer. + + + + The first time at which the will be fired + by the scheduler, which is also the same value + will return (until after the first firing of the ). + + + + + This method should not be used by the Quartz client. + + + Called after the has executed the + associated with the + in order to get the final instruction code from the trigger. + + + is the that was used by the + 's method. + is the thrown by the + , if any (may be null). + + + One of the members. + + + + + + + + + + This method should not be used by the Quartz client. + + To be implemented by the concrete classes that extend this class. + + + The implementation should update the 's state + based on the MISFIRE_INSTRUCTION_XXX that was selected when the + was created. + + + + + + This method should not be used by the Quartz client. + + The implementation should update the 's state + based on the given new version of the associated + (the state should be updated so that it's next fire time is appropriate + given the Calendar's new settings). + + + + + + + + Validates whether the properties of the are + valid for submission into a . + + + + + This method should not be used by the Quartz client. + + + Usable by + implementations, in order to facilitate 'recognizing' instances of fired + s as their jobs complete execution. + + + + + Returns the previous time at which the fired. + If the trigger has not yet fired, will be returned. + + + + + Create a with no specified name, group, or . + + + Note that the , and + the and properties + must be set before the can be placed into a + . + + + + + Create a with the given name, and default group. + + + Note that the and + properties must be set before the + can be placed into a . + + The name. + + + + Create a with the given name, and group. + + + Note that the and + properties must be set before the + can be placed into a . + + The name. + if , Scheduler.DefaultGroup will be used. + + + + Create a with the given name, and group. + + The name. + if , Scheduler.DefaultGroup will be used. + Name of the job. + The job group. + ArgumentException + if name is null or empty, or the group is an empty string. + + + + + This method should not be used by the Quartz client. + + + Called when the has decided to 'fire' + the trigger (Execute the associated ), in order to + give the a chance to update itself for its next + triggering (if any). + + + + + + This method should not be used by the Quartz client. + + + + Called by the scheduler at the time a is first + added to the scheduler, in order to have the + compute its first fire time, based on any associated calendar. + + + + After this method has been called, + should return a valid answer. + + + + The first time at which the will be fired + by the scheduler, which is also the same value + will return (until after the first firing of the ). + + + + + This method should not be used by the Quartz client. + + + Called after the has executed the + associated with the + in order to get the final instruction code from the trigger. + + + is the that was used by the + 's method. + is the thrown by the + , if any (may be null). + + + One of the members. + + + + + + + Used by the to determine whether or not + it is possible for this to fire again. + + If the returned value is then the + may remove the from the . + + + + + + Returns the next time at which the is scheduled to fire. If + the trigger will not fire again, will be returned. Note that + the time returned can possibly be in the past, if the time that was computed + for the trigger to next fire has already arrived, but the scheduler has not yet + been able to fire the trigger (which would likely be due to lack of resources + e.g. threads). + + + The value returned is not guaranteed to be valid until after the + has been added to the scheduler. + + + + + + Returns the next time at which the will fire, + after the given time. If the trigger will not fire after the given time, + will be returned. + + + + + Validates the misfire instruction. + + The misfire instruction. + + + + + This method should not be used by the Quartz client. + + To be implemented by the concrete classes that extend this class. + + + The implementation should update the 's state + based on the MISFIRE_INSTRUCTION_XXX that was selected when the + was created. + + + + + + This method should not be used by the Quartz client. + + The implementation should update the 's state + based on the given new version of the associated + (the state should be updated so that it's next fire time is appropriate + given the Calendar's new settings). + + + + + + + + Validates whether the properties of the are + valid for submission into a . + + + + + Return a simple string representation of this object. + + + + + Compare the next fire time of this to that of + another by comparing their keys, or in other words, sorts them + according to the natural (i.e. alphabetical) order of their keys. + + + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Trigger equality is based upon the equality of the TriggerKey. + + + true if the key of this Trigger equals that of the given Trigger + + + + Serves as a hash function for a particular type. is suitable for use in hashing algorithms and data structures like a hash table. + + + A hash code for the current . + + + + + Creates a new object that is a copy of the current instance. + + + A new object that is a copy of this instance. + + + + + Get or sets the name of this . + + If name is null or empty. + + + + Get the group of this . If , Scheduler.DefaultGroup will be used. + + + if group is an empty string. + + + + + Get or set the name of the associated . + + + if jobName is null or empty. + + + + + Gets or sets the name of the associated 's + group. If set with , Scheduler.DefaultGroup will be used. + + ArgumentException + if group is an empty string. + + + + + Returns the 'full name' of the in the format + "group.name". + + + + + Gets the key. + + The key. + + + + Returns the 'full name' of the that the + points to, in the format "group.name". + + + + + Get or set the description given to the instance by + its creator (if any). + + + + + Get or set the with the given name with + this Trigger. Use when setting to dis-associate a Calendar. + + + + + Get or set the that is associated with the + . + + Changes made to this map during job execution are not re-persisted, and + in fact typically result in an illegal state. + + + + + + Returns the last UTC time at which the will fire, if + the Trigger will repeat indefinitely, null will be returned. + + Note that the return time *may* be in the past. + + + + + + Get or set the instruction the should be given for + handling misfire situations for this - the + concrete type that you are using will have + defined a set of additional MISFIRE_INSTRUCTION_XXX + constants that may be passed to this method. + + If not explicitly set, the default value is . + + + + + + + + + + This method should not be used by the Quartz client. + + + Usable by + implementations, in order to facilitate 'recognizing' instances of fired + s as their jobs complete execution. + + + + + Gets and sets the date/time on which the trigger must stop firing. This + defines the final boundary for trigger firings 舒 the trigger will + not fire after to this date and time. If this value is null, no end time + boundary is assumed, and the trigger can continue indefinitely. + + + + + The time at which the trigger's scheduling should start. May or may not + be the first actual fire time of the trigger, depending upon the type of + trigger and the settings of the other properties of the trigger. However + the first actual first time will not be before this date. + + + Setting a value in the past may cause a new trigger to compute a first + fire time that is in the past, which may cause an immediate misfire + of the trigger. + + + + + Tells whether this Trigger instance can handle events + in millisecond precision. + + + + + The priority of a acts as a tie breaker such that if + two s have the same scheduled fire time, then Quartz + will do its best to give the one with the higher priority first access + to a worker thread. + + + If not explicitly set, the default value is 5. + + + + + + + Gets a value indicating whether this instance has additional properties + that should be considered when for example saving to database. + + + If trigger implementation has additional properties that need to be saved + with base properties you need to make your class override this property with value true. + Returning true will effectively mean that ADOJobStore needs to serialize + this trigger instance to make sure additional properties are also saved. + + + true if this instance has additional properties; otherwise, false. + + + + + A concrete that is used to fire a + based upon repeating calendar time intervals. + + + The trigger will fire every N (see ) units of calendar time + (see ) as specified in the trigger's definition. + This trigger can achieve schedules that are not possible with (e.g + because months are not a fixed number of seconds) or (e.g. because + "every 5 months" is not an even divisor of 12). + + If you use an interval unit of then care should be taken when setting + a value that is on a day near the end of the month. For example, + if you choose a start time that occurs on January 31st, and have a trigger with unit + and interval 1, then the next fire time will be February 28th, + and the next time after that will be March 28th - and essentially each subsequent firing will + occur on the 28th of the month, even if a 31st day exists. If you want a trigger that always + fires on the last day of the month - regardless of the number of days in the month, + you should use . + + + + + + + 2.0 + James House + Marko Lahma (.NET) + + + + A that is used to fire a + based upon repeating calendar time intervals. + + + + + Get or set the interval unit - the time unit on with the interval applies. + + + + + Get the the time interval that will be added to the 's + fire time (in the set repeat interval unit) in order to calculate the time of the + next trigger repeat. + + + + + Get the number of times the has already fired. + + + + + Create a with no settings. + + + + + Create a that will occur immediately, and + repeat at the the given interval. + + Name for the trigger instance. + The repeat interval unit (minutes, days, months, etc). + The number of milliseconds to pause between the repeat firing. + + + + Create a that will occur immediately, and + repeat at the the given interval + + Name for the trigger instance. + Group for the trigger instance. + The repeat interval unit (minutes, days, months, etc). + The number of milliseconds to pause between the repeat firing. + + + + Create a that will occur at the given time, + and repeat at the the given interval until the given end time. + + Name for the trigger instance. + A set to the time for the to fire. + A set to the time for the to quit repeat firing. + The repeat interval unit (minutes, days, months, etc). + The number of milliseconds to pause between the repeat firing. + + + + Create a that will occur at the given time, + and repeat at the the given interval until the given end time. + + Name for the trigger instance. + Group for the trigger instance. + A set to the time for the to fire. + A set to the time for the to quit repeat firing. + The repeat interval unit (minutes, days, months, etc). + The number of milliseconds to pause between the repeat firing. + + + + Create a that will occur at the given time, + and repeat at the the given interval until the given end time. + + Name for the trigger instance. + Group for the trigger instance. + Name of the associated job. + Group of the associated job. + A set to the time for the to fire. + A set to the time for the to quit repeat firing. + The repeat interval unit (minutes, days, months, etc). + The number of milliseconds to pause between the repeat firing. + + + + Validates the misfire instruction. + + The misfire instruction. + + + + + Updates the 's state based on the + MisfireInstruction.XXX that was selected when the + was created. + + + If the misfire instruction is set to , + then the following scheme will be used: +
    +
  • The instruction will be interpreted as
  • +
+
+
+ + + This method should not be used by the Quartz client. + + Called when the has decided to 'fire' + the trigger (Execute the associated ), in order to + give the a chance to update itself for its next + triggering (if any). + + + + + + + This method should not be used by the Quartz client. + + The implementation should update the 's state + based on the given new version of the associated + (the state should be updated so that it's next fire time is appropriate + given the Calendar's new settings). + + + + + + + + This method should not be used by the Quartz client. + + + + Called by the scheduler at the time a is first + added to the scheduler, in order to have the + compute its first fire time, based on any associated calendar. + + + + After this method has been called, + should return a valid answer. + + + + The first time at which the will be fired + by the scheduler, which is also the same value + will return (until after the first firing of the ). + + + + + Returns the next time at which the is scheduled to fire. If + the trigger will not fire again, will be returned. Note that + the time returned can possibly be in the past, if the time that was computed + for the trigger to next fire has already arrived, but the scheduler has not yet + been able to fire the trigger (which would likely be due to lack of resources + e.g. threads). + + + The value returned is not guaranteed to be valid until after the + has been added to the scheduler. + + + + + + Returns the previous time at which the fired. + If the trigger has not yet fired, will be returned. + + + + + Returns the next time at which the will fire, + after the given time. If the trigger will not fire after the given time, + will be returned. + + + + + Determines whether or not the will occur + again. + + + + + + Validates whether the properties of the are + valid for submission into a . + + + + + Get a that is configured to produce a + schedule identical to this trigger's schedule. + + + + + + + + Get the time at which the should occur. + + + + + Tells whether this Trigger instance can handle events + in millisecond precision. + + + + + Get the time at which the should quit + repeating. + + + + + Get or set the interval unit - the time unit on with the interval applies. + + + + + Get the the time interval that will be added to the 's + fire time (in the set repeat interval unit) in order to calculate the time of the + next trigger repeat. + + + + + Get the number of times the has already fired. + + + + + Returns the final time at which the will + fire, if there is no end time set, null will be returned. + + + Note that the return time may be in the past. + + + + A concrete that is used to fire a + at given moments in time, defined with Unix 'cron-like' definitions. + + + + For those unfamiliar with "cron", this means being able to create a firing + schedule such as: "At 8:00am every Monday through Friday" or "At 1:30am + every last Friday of the month". + + + + The format of a "Cron-Expression" string is documented on the + class. + + + + Here are some full examples:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Expression Meaning
"0 0 12 * * ?"" /> Fire at 12pm (noon) every day" />
"0 15 10 ? * *"" /> Fire at 10:15am every day" />
"0 15 10 * * ?"" /> Fire at 10:15am every day" />
"0 15 10 * * ? *"" /> Fire at 10:15am every day" />
"0 15 10 * * ? 2005"" /> Fire at 10:15am every day during the year 2005" /> +
"0 * 14 * * ?"" /> Fire every minute starting at 2pm and ending at 2:59pm, every day" /> +
"0 0/5 14 * * ?"" /> Fire every 5 minutes starting at 2pm and ending at 2:55pm, every day" /> +
"0 0/5 14,18 * * ?"" /> Fire every 5 minutes starting at 2pm and ending at 2:55pm, AND fire every 5 minutes starting at 6pm and ending at 6:55pm, every day" /> +
"0 0-5 14 * * ?"" /> Fire every minute starting at 2pm and ending at 2:05pm, every day" /> +
"0 10,44 14 ? 3 WED"" /> Fire at 2:10pm and at 2:44pm every Wednesday in the month of March." /> +
"0 15 10 ? * MON-FRI"" /> Fire at 10:15am every Monday, Tuesday, Wednesday, Thursday and Friday" /> +
"0 15 10 15 * ?"" /> Fire at 10:15am on the 15th day of every month" /> +
"0 15 10 L * ?"" /> Fire at 10:15am on the last day of every month" /> +
"0 15 10 ? * 6L"" /> Fire at 10:15am on the last Friday of every month" /> +
"0 15 10 ? * 6L"" /> Fire at 10:15am on the last Friday of every month" /> +
"0 15 10 ? * 6L 2002-2005"" /> Fire at 10:15am on every last Friday of every month during the years 2002, 2003, 2004 and 2005" /> +
"0 15 10 ? * 6#3"" /> Fire at 10:15am on the third Friday of every month" /> +
+
+ + + Pay attention to the effects of '?' and '*' in the day-of-week and + day-of-month fields! + + + + NOTES: +
    +
  • Support for specifying both a day-of-week and a day-of-month value is + not complete (you'll need to use the '?' character in on of these fields). +
  • +
  • Be careful when setting fire times between mid-night and 1:00 AM - + "daylight savings" can cause a skip or a repeat depending on whether the + time moves back or jumps forward.
  • +
+
+
+ + + Sharada Jambula + James House + Contributions from Mads Henderson + Marko Lahma (.NET) +
+ + + The public interface for inspecting settings specific to a CronTrigger, + which is used to fire a + at given moments in time, defined with Unix 'cron-like' schedule definitions. + + + + For those unfamiliar with "cron", this means being able to create a firing + schedule such as: "At 8:00am every Monday through Friday" or "At 1:30am + every last Friday of the month". + + + + The format of a "Cron-Expression" string is documented on the + class. + + + + Here are some full examples:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Expression Meaning
"0 0 12 * * ?"" /> Fire at 12pm (noon) every day" />
"0 15 10 ? * *"" /> Fire at 10:15am every day" />
"0 15 10 * * ?"" /> Fire at 10:15am every day" />
"0 15 10 * * ? *"" /> Fire at 10:15am every day" />
"0 15 10 * * ? 2005"" /> Fire at 10:15am every day during the year 2005" /> +
"0 * 14 * * ?"" /> Fire every minute starting at 2pm and ending at 2:59pm, every day" /> +
"0 0/5 14 * * ?"" /> Fire every 5 minutes starting at 2pm and ending at 2:55pm, every day" /> +
"0 0/5 14,18 * * ?"" /> Fire every 5 minutes starting at 2pm and ending at 2:55pm, AND fire every 5 minutes starting at 6pm and ending at 6:55pm, every day" /> +
"0 0-5 14 * * ?"" /> Fire every minute starting at 2pm and ending at 2:05pm, every day" /> +
"0 10,44 14 ? 3 WED"" /> Fire at 2:10pm and at 2:44pm every Wednesday in the month of March." /> +
"0 15 10 ? * MON-FRI"" /> Fire at 10:15am every Monday, Tuesday, Wednesday, Thursday and Friday" /> +
"0 15 10 15 * ?"" /> Fire at 10:15am on the 15th day of every month" /> +
"0 15 10 L * ?"" /> Fire at 10:15am on the last day of every month" /> +
"0 15 10 ? * 6L"" /> Fire at 10:15am on the last Friday of every month" /> +
"0 15 10 ? * 6L"" /> Fire at 10:15am on the last Friday of every month" /> +
"0 15 10 ? * 6L 2002-2005"" /> Fire at 10:15am on every last Friday of every month during the years 2002, 2003, 2004 and 2005" /> +
"0 15 10 ? * 6#3"" /> Fire at 10:15am on the third Friday of every month" /> +
+
+ + + Pay attention to the effects of '?' and '*' in the day-of-week and + day-of-month fields! + + + + NOTES: +
    +
  • Support for specifying both a day-of-week and a day-of-month value is + not complete (you'll need to use the '?' character in on of these fields). +
  • +
  • Be careful when setting fire times between mid-night and 1:00 AM - + "daylight savings" can cause a skip or a repeat depending on whether the + time moves back or jumps forward.
  • +
+
+
+ + + Sharada Jambula + James House + Contributions from Mads Henderson + Marko Lahma (.NET) +
+ + + Gets the expression summary. + + + + + + Gets or sets the cron expression string. + + The cron expression string. + + + + Sets the time zone for which the of this + will be resolved. + + + If is set after this + property, the TimeZone setting on the CronExpression will "win". However + if is set after this property, the + time zone applied by this method will remain in effect, since the + string cron expression does not carry a time zone! + + The time zone. + + + + Create a with no settings. + + + The start-time will also be set to the current time, and the time zone + will be set the the system's default time zone. + + + + + Create a with the given name and default group. + + + The start-time will also be set to the current time, and the time zone + will be set the the system's default time zone. + + The name of the + + + + Create a with the given name and group. + + + The start-time will also be set to the current time, and the time zone + will be set the the system's default time zone. + + The name of the + The group of the + + + + Create a with the given name, group and + expression. + + + The start-time will also be set to the current time, and the time zone + will be set the the system's default time zone. + + The name of the + The group of the + A cron expression dictating the firing sequence of the + + + + Create a with the given name and group, and + associated with the identified . + + + The start-time will also be set to the current time, and the time zone + will be set the the system's default time zone. + + The name of the . + The group of the + name of the executed on firetime + Group of the executed on firetime + + + + Create a with the given name and group, + associated with the identified , + and with the given "cron" expression. + + + The start-time will also be set to the current time, and the time zone + will be set the the system's default time zone. + + The name of the + The group of the + name of the executed on firetime + Group of the executed on firetime + A cron expression dictating the firing sequence of the + + + + Create a with the given name and group, + associated with the identified , + and with the given "cron" expression resolved with respect to the . + + The name of the + The group of the + name of the executed on firetime + Group of the executed on firetime + A cron expression dictating the firing sequence of the + + Specifies for which time zone the cronExpression should be interpreted, + i.e. the expression 0 0 10 * * ?, is resolved to 10:00 am in this time zone. + + + + + Create a that will occur at the given time, + until the given end time. + + If null, the start-time will also be set to the current time, the time + zone will be set the the system's default. + + + The name of the + The group of the + name of the executed on firetime + Group of the executed on firetime + A set to the earliest time for the to start firing. + A set to the time for the to quit repeat firing. + A cron expression dictating the firing sequence of the + + + + Create a with fire time dictated by the + resolved with respect to the specified + occurring from the until + the given . + + The name of the + The group of the + name of the executed on firetime + Group of the executed on firetime + A set to the earliest time for the to start firing. + A set to the time for the to quit repeat firing. + + + + 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. + + + + + + A concrete implementation of DailyTimeIntervalTrigger that is used to fire a + based upon daily repeating time intervals. + + + + The trigger will fire every N ( ) seconds, minutes or hours + (see ) during a given time window on specified days of the week. + + + For example#1, a trigger can be set to fire every 72 minutes between 8:00 and 11:00 everyday. It's fire times would + be 8:00, 9:12, 10:24, then next day would repeat: 8:00, 9:12, 10:24 again. + + + For example#2, a trigger can be set to fire every 23 minutes between 9:20 and 16:47 Monday through Friday. + + + On each day, the starting fire time is reset to startTimeOfDay value, and then it will add repeatInterval value to it until + the endTimeOfDay is reached. If you set daysOfWeek values, then fire time will only occur during those week days period. Again, + remember this trigger will reset fire time each day with startTimeOfDay, regardless of your interval or endTimeOfDay! + + + The default values for fields if not set are: startTimeOfDay defaults to 00:00:00, the endTimeOfDay default to 23:59:59, + and daysOfWeek is default to every day. The startTime default to current time-stamp now, while endTime has not value. + + + If startTime is before startTimeOfDay, then startTimeOfDay will be used and startTime has no affect. Else if startTime is + after startTimeOfDay, then the first fire time for that day will be the next interval after the startTime. For example, if + you set startingTimeOfDay=9am, endingTimeOfDay=11am, interval=15 mins, and startTime=9:33am, then the next fire time will + be 9:45pm. Note also that if you do not set startTime value, the trigger builder will default to current time, and current time + maybe before or after the startTimeOfDay! So be aware how you set your startTime. + + + This trigger also supports "repeatCount" feature to end the trigger fire time after + a certain number of count is reached. Just as the SimpleTrigger, setting repeatCount=0 + means trigger will fire once only! Setting any positive count then the trigger will repeat + count + 1 times. Unlike SimpleTrigger, the default value of repeatCount of this trigger + is set to REPEAT_INDEFINITELY instead of 0 though. + + + + + 2.0 + James House + Zemian Deng saltnlight5@gmail.com + Nuno Maia (.NET) + + + + A that is used to fire a + based upon daily repeating time intervals. + + + The trigger will fire every N (see ) seconds, minutes or hours + (see during a given time window on specified days of the week. + + For example#1, a trigger can be set to fire every 72 minutes between 8:00 and 11:00 everyday. It's fire times + be 8:00, 9:12, 10:24, then next day would repeat: 8:00, 9:12, 10:24 again. + + For example#2, a trigger can be set to fire every 23 minutes between 9:20 and 16:47 Monday through Friday. + + On each day, the starting fire time is reset to startTimeOfDay value, and then it will add repeatInterval value to it until + the endTimeOfDay is reached. If you set daysOfWeek values, then fire time will only occur during those week days period. + + The default values for fields if not set are: startTimeOfDay defaults to 00:00:00, the endTimeOfDay default to 23:59:59, + and daysOfWeek is default to every day. The startTime default to current time-stamp now, while endTime has not value. + + If startTime is before startTimeOfDay, then it has no affect. Else if startTime after startTimeOfDay, then the first fire time + for that day will be normal startTimeOfDay incremental values after startTime value. Same reversal logic is applied to endTime + with endTimeOfDay. + + + + James House + Zemian Deng saltnlight5@gmail.com + Nuno Maia (.NET) + + + + + + + + + Get the the number of times for interval this trigger should repeat, + after which it will be automatically deleted. + + + + + Get the interval unit - the time unit on with the interval applies. + The only intervals that are valid for this type of trigger are , + , and + + + + + Get the the time interval that will be added to the 's + fire time (in the set repeat interval unit) in order to calculate the time of the + next trigger repeat. + + + + + The time of day to start firing at the given interval. + + + + + The time of day to complete firing at the given interval. + + + + + The days of the week upon which to fire. + + + A Set containing the integers representing the days of the week, per the values 0-6 as defined by + DayOfWees.Sunday - DayOfWeek.Saturday. + + + + + Get the number of times the has already fired. + + + + + Used to indicate the 'repeat count' of the trigger is indefinite. Or in + other words, the trigger should repeat continually until the trigger's + ending timestamp. + + + + + Create a with no settings. + + + + + Create a that will occur immediately, and + repeat at the the given interval. + + + The that the repeating should begin occurring. + The that the repeating should stop occurring. + The repeat interval unit. The only intervals that are valid for this type of trigger are + , , and . + + + + + Create a that will occur immediately, and + repeat at the the given interval. + + + + The that the repeating should begin occurring. + The that the repeating should stop occurring. + The repeat interval unit. The only intervals that are valid for this type of trigger are + , , and . + + + + + Create a that will occur at the given time, + and repeat at the the given interval until the given end time. + + + A set to the time for the to fire. + A set to the time for the to quit repeat firing. + The that the repeating should begin occurring. + The that the repeating should stop occurring. + The repeat interval unit. The only intervals that are valid for this type of trigger are + , , and . + The number of milliseconds to pause between the repeat firing. + + + + Create a that will occur at the given time, + and repeat at the the given interval until the given end time. + + + + A set to the time for the to fire. + A set to the time for the to quit repeat firing. + The that the repeating should begin occurring. + The that the repeating should stop occurring. + The repeat interval unit. The only intervals that are valid for this type of trigger are + , , and . + The number of milliseconds to pause between the repeat firing. + + + + Create a that will occur at the given time, + fire the identified job and repeat at the the given + interval until the given end time. + + + + + + A set to the time for the to fire. + A set to the time for the to quit repeat firing. + The that the repeating should begin occurring. + The that the repeating should stop occurring. + The repeat interval unit. The only intervals that are valid for this type of trigger are + , , and . + The number of milliseconds to pause between the repeat firing. + + + + Updates the 's state based on the + MisfireInstruction.XXX that was selected when the + was created. + + + If the misfire instruction is set to , + then the following scheme will be used: +
    +
  • The instruction will be interpreted as
  • +
+
+
+ + + Called when the scheduler has decided to 'fire' + the trigger (execute the associated job), in order to + give the trigger a chance to update itself for its next + triggering (if any). + + + + + + + + + + + + + + + This method should not be used by the Quartz client. + + + + Called by the scheduler at the time a is first + added to the scheduler, in order to have the + compute its first fire time, based on any associated calendar. + + + + After this method has been called, + should return a valid answer. + + + + The first time at which the will be fired + by the scheduler, which is also the same value + will return (until after the first firing of the ). + + + + + Returns the next time at which the is scheduled to fire. If + the trigger will not fire again, will be returned. Note that + the time returned can possibly be in the past, if the time that was computed + for the trigger to next fire has already arrived, but the scheduler has not yet + been able to fire the trigger (which would likely be due to lack of resources + e.g. threads). + + + The value returned is not guaranteed to be valid until after the + has been added to the scheduler. + + + + + + Returns the previous time at which the fired. + If the trigger has not yet fired, will be returned. + + + + + Set the next time at which the should fire. + + + This method should not be invoked by client code. + + + + + + Set the previous time at which the fired. + + + This method should not be invoked by client code. + + + + + + Returns the next time at which the will + fire, after the given time. If the trigger will not fire after the given + time, will be returned. + + + + + + + Given fireTime time, we need to advance/calculate and return a time of next available week day. + + given next fireTime. + flag to whether to advance day without check existing week day. This scenario + can happen when a caller determine fireTime has passed the endTimeOfDay that fireTime should move to next day anyway. + + a next day fireTime. + + + + Determines whether or not the will occur + again. + + + + + + Validates whether the properties of the are + valid for submission into a . + + + + + Get a that is configured to produce a + schedule identical to this trigger's schedule. + + + + + + + The time at which the should occur. + + + + + the time at which the should quit repeating. + + + + + + Get the the number of times for interval this trigger should repeat, + after which it will be automatically deleted. + + + + + the interval unit - the time unit on with the interval applies. + + + The repeat interval unit. The only intervals that are valid for this type of trigger are + , , and . + + + + + the the time interval that will be added to the 's + fire time (in the set repeat interval unit) in order to calculate the time of the + next trigger repeat. + + + + + the number of times the has already + fired. + + + + + Returns the final time at which the will + fire, if there is no end time set, null will be returned. + + Note that the return time may be in the past. + + + + + The days of the week upon which to fire. + + + A Set containing the integers representing the days of the week, per the values 0-6 as defined by + DayOfWees.Sunday - DayOfWeek.Saturday. + + + + + The time of day to start firing at the given interval. + + + + + The time of day to complete firing at the given interval. + + + + + This trigger has no additional properties besides what's defined in this class. + + + + + + Tells whether this Trigger instance can handle events + in millisecond precision. + + + + + A concrete that is used to fire a + at a given moment in time, and optionally repeated at a specified interval. + + + + James House + Contributions by Lieven Govaerts of Ebitec Nv, Belgium. + Marko Lahma (.NET) + + + + A that is used to fire a + at a given moment in time, and optionally repeated at a specified interval. + + + + James House + Contributions by Lieven Govaerts of Ebitec Nv, Belgium. + Marko Lahma (.NET) + + + + Get or set 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. + + + + + Used to indicate the 'repeat count' of the trigger is indefinite. Or in + other words, the trigger should repeat continually until the trigger's + ending timestamp. + + + + + Create a with no settings. + + + + + Create a that will occur immediately, and + not repeat. + + + + + Create a that will occur immediately, and + not repeat. + + + + + Create a that will occur immediately, and + repeat at the the given interval the given number of times. + + + + + Create a that will occur immediately, and + repeat at the the given interval the given number of times. + + + + + Create a that will occur at the given time, + and not repeat. + + + + + Create a that will occur at the given time, + and not repeat. + + + + + Create a that will occur at the given time, + and repeat at the the given interval the given number of times, or until + the given end time. + + The name. + A UTC set to the time for the to fire. + A UTC set to the time for the + to quit repeat firing. + The number of times for the to repeat + firing, use for unlimited times. + The time span to pause between the repeat firing. + + + + Create a that will occur at the given time, + and repeat at the the given interval the given number of times, or until + the given end time. + + The name. + The group. + A UTC set to the time for the to fire. + A UTC set to the time for the + to quit repeat firing. + The number of times for the to repeat + firing, use for unlimited times. + The time span to pause between the repeat firing. + + + + Create a that will occur at the given time, + fire the identified and repeat at the the given + interval the given number of times, or until the given end time. + + The name. + The group. + Name of the job. + The job group. + A set to the time for the + to fire. + A set to the time for the + to quit repeat firing. + The number of times for the to repeat + firing, use RepeatIndefinitely for unlimited times. + The time span to pause between the repeat firing. + + + + Validates the misfire instruction. + + The misfire instruction. + + + + + Updates the 's state based on the + MisfireInstruction value that was selected when the + was created. + + + If MisfireSmartPolicyEnabled is set to true, + then the following scheme will be used:
+
    +
  • If the Repeat Count is 0, then the instruction will + be interpreted as .
  • +
  • If the Repeat Count is , then + the instruction will be interpreted as . + WARNING: using MisfirePolicy.SimpleTrigger.RescheduleNowWithRemainingRepeatCount + with a trigger that has a non-null end-time may cause the trigger to + never fire again if the end-time arrived during the misfire time span. +
  • +
  • If the Repeat Count is > 0, then the instruction + will be interpreted as . +
  • +
+
+
+ + + Called when the has decided to 'fire' + the trigger (Execute the associated ), in order to + give the a chance to update itself for its next + triggering (if any). + + + + + + Updates the instance with new calendar. + + The calendar. + The misfire threshold. + + + + Called by the scheduler at the time a is first + added to the scheduler, in order to have the + compute its first fire time, based on any associated calendar. + + After this method has been called, + should return a valid answer. + + + + The first time at which the will be fired + by the scheduler, which is also the same value + will return (until after the first firing of the ). + + + + + Returns the next time at which the will + fire. If the trigger will not fire again, will be + returned. The value returned is not guaranteed to be valid until after + the has been added to the scheduler. + + + + + Returns the previous time at which the fired. + If the trigger has not yet fired, will be + returned. + + + + + Returns the next UTC time at which the will + fire, after the given UTC time. If the trigger will not fire after the given + time, will be returned. + + + + + Returns the last UTC time at which the will + fire, before the given time. If the trigger will not fire before the + given time, will be returned. + + + + + Computes the number of times fired between the two UTC date times. + + The UTC start date and time. + The UTC end date and time. + + + + + Determines whether or not the will occur + again. + + + + + Validates whether the properties of the are + valid for submission into a . + + + + + Get or set 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. + + + + + + Schedules work on a newly spawned thread. This is the default Quartz behavior. + + matt.accola + + + + Allows different strategies for scheduling threads. The + method is required to be called before the first call to + . The Thread containing the work to be performed is + passed to execute and the work is scheduled by the underlying implementation. + + matt.accola + + + + Submit a task for execution. + + Thread to execute. + + + + Initialize any state prior to calling . + + + + + A singleton implementation of . + + + Here are some examples of using this class: + + To create a scheduler that does not write anything to the database (is not + persistent), you can call : + + + DirectSchedulerFactory.Instance.CreateVolatileScheduler(10); // 10 threads + // don't forget to start the scheduler: + DirectSchedulerFactory.Instance.GetScheduler().Start(); + + + Several create methods are provided for convenience. All create methods + eventually end up calling the create method with all the parameters: + + + public void CreateScheduler(string schedulerName, string schedulerInstanceId, IThreadPool threadPool, IJobStore jobStore) + + + Here is an example of using this method: + + + // create the thread pool + SimpleThreadPool threadPool = new SimpleThreadPool(maxThreads, ThreadPriority.Normal); + threadPool.Initialize(); + // create the job store + JobStore jobStore = new RAMJobStore(); + + DirectSchedulerFactory.Instance.CreateScheduler("My Quartz Scheduler", "My Instance", threadPool, jobStore); + // don't forget to start the scheduler: + DirectSchedulerFactory.Instance.GetScheduler("My Quartz Scheduler", "My Instance").Start(); + + > + Mohammad Rezaei + James House + Marko Lahma (.NET) + + + + + + Provides a mechanism for obtaining client-usable handles to + instances. + + + + James House + Marko Lahma (.NET) + + + + Returns a client-usable handle to a . + + + + + Returns a handle to the Scheduler with the given name, if it exists. + + + + + Returns handles to all known Schedulers (made by any SchedulerFactory + within this app domain.). + + + + + Initializes a new instance of the class. + + + + + Creates an in memory job store () + The thread priority is set to Thread.NORM_PRIORITY + + The number of threads in the thread pool + + + + Creates a proxy to a remote scheduler. This scheduler can be retrieved + via . + + SchedulerException + + + + Same as , + with the addition of specifying the scheduler name and instance ID. This + scheduler can only be retrieved via . + + The name for the scheduler. + The instance ID for the scheduler. + + SchedulerException + + + + Creates a scheduler using the specified thread pool and job store. This + scheduler can be retrieved via DirectSchedulerFactory#GetScheduler() + + + The thread pool for executing jobs + + + The type of job store + + SchedulerException + if initialization failed + + + + + Same as DirectSchedulerFactory#createScheduler(ThreadPool threadPool, JobStore jobStore), + with the addition of specifying the scheduler name and instance ID. This + scheduler can only be retrieved via DirectSchedulerFactory#getScheduler(String) + + The name for the scheduler. + The instance ID for the scheduler. + The thread pool for executing jobs + The type of job store + + + + Creates a scheduler using the specified thread pool and job store and + binds it for remote access. + + The name for the scheduler. + The instance ID for the scheduler. + The thread pool for executing jobs + The type of job store + The idle wait time. You can specify "-1" for + the default value, which is currently 30000 ms. + The db failure retry interval. + + + + Creates a scheduler using the specified thread pool and job store and + binds it for remote access. + + The name for the scheduler. + The instance ID for the scheduler. + The thread pool for executing jobs + The type of job store + + The idle wait time. You can specify TimeSpan.Zero for + the default value, which is currently 30000 ms. + The db failure retry interval. + + + + Creates a scheduler using the specified thread pool and job store and + binds it for remote access. + + The name for the scheduler. + The instance ID for the scheduler. + The thread pool for executing jobs + Thread executor. + The type of job store + + The idle wait time. You can specify TimeSpan.Zero for + the default value, which is currently 30000 ms. + The db failure retry interval. + + + + Creates a scheduler using the specified thread pool and job store and + binds it for remote access. + + The name for the scheduler. + The instance ID for the scheduler. + The thread pool for executing jobs + Thread executor. + The type of job store + + The idle wait time. You can specify TimeSpan.Zero for + the default value, which is currently 30000 ms. + The db failure retry interval. + The maximum batch size of triggers, when acquiring them + The time window for which it is allowed to "pre-acquire" triggers to fire + + + + Returns a handle to the Scheduler produced by this factory. + + you must call createRemoteScheduler or createScheduler methods before + calling getScheduler() + + + + SchedulerException + + + + Returns a handle to the Scheduler with the given name, if it exists. + + + + + Gets the log. + + The log. + + + + Gets the instance. + + The instance. + + + + Returns a handle to all known Schedulers (made by any + StdSchedulerFactory instance.). + + + + + + Conveys the detail properties of a given job instance. + + + Quartz does not store an actual instance of a type, but + instead allows you to define an instance of one, through the use of a . + + s have a name and group associated with them, which + should uniquely identify them within a single . + + + s are the 'mechanism' by which s + are scheduled. Many s can point to the same , + but a single can only point to one . + + + + + + + + James House + Marko Lahma (.NET) + + + + Conveys the detail properties of a given job instance. + JobDetails are to be created/defined with . + + + Quartz does not store an actual instance of a type, but + instead allows you to define an instance of one, through the use of a . + + s have a name and group associated with them, which + should uniquely identify them within a single . + + + s are the 'mechanism' by which s + are scheduled. Many s can point to the same , + but a single can only point to one . + + + + + + + + James House + Marko Lahma (.NET) + + + + Get a that is configured to produce a + identical to this one. + + + + + The key that identifies this jobs uniquely. + + + + + Get or set the description given to the instance by its + creator (if any). + + + + + Get or sets the instance of that will be executed. + + + + + Get or set the that is associated with the . + + + + + Whether or not the should remain stored after it is + orphaned (no s point to it). + + + If not explicitly set, the default value is . + + + if the Job should remain persisted after being orphaned. + + + + + Whether the associated Job class carries the . + + + + + + Whether the associated Job class carries the . + + + + + + Set whether or not the the should re-Execute + the if a 'recovery' or 'fail-over' situation is + encountered. + + + If not explicitly set, the default value is . + + + + + + Create a with no specified name or group, and + the default settings of all the other properties. + + Note that the , and + properties must be set before the job can be + placed into a . + + + + + + Create a with the given name, default group, and + the default settings of all the other properties. + If , 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 durable. + if set to true, job will request recovery. + + ArgumentException if name is null or empty, or the group is an empty string. + + + + + Validates whether the properties of the are + valid for submission into a . + + + + + Return a simple string representation of this object. + + + + + Creates a new object that is a copy of the current instance. + + + A new object that is a copy of this instance. + + + + + Determines whether the specified detail is equal to this instance. + + The detail to examine. + + true if the specified detail is equal; otherwise, false. + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + if the specified is equal to the + current ; otherwise, . + + + + + Checks equality between given job detail and this instance. + + The detail to compare this instance with. + + + + + Serves as a hash function for a particular type, suitable + for use in hashing algorithms and data structures like a hash table. + + + A hash code for the current . + + + + + Get or sets the name of this . + + + if name is null or empty. + + + + + Get or sets the group of this . + If , will be used. + + + If the group is an empty string. + + + + + Returns the 'full name' of the in the format + "group.name". + + + + + Gets the key. + + The key. + + + + Get or set the description given to the instance by its + creator (if any). + + + May be useful for remembering/displaying the purpose of the job, though the + description has no meaning to Quartz. + + + + + Get or sets the instance of that will be executed. + + + if jobType is null or the class is not a . + + + + + Get or set the that is associated with the . + + + + + Set whether or not the the should re-Execute + the if a 'recovery' or 'fail-over' situation is + encountered. + + If not explicitly set, the default value is . + + + + + + + Whether or not the should remain stored after it is + orphaned (no s point to it). + + If not explicitly set, the default value is . + + + + if the Job should remain persisted after + being orphaned. + + + + + Whether the associated Job class carries the attribute. + + + + + Whether the associated Job class carries the attribute. + + + + + A context bundle containing handles to various environment information, that + is given to a instance as it is + executed, and to a instance after the + execution completes. + + + + The found on this object (via the + method) serves as a convenience - + it is a merge of the found on the + and the one found on the , with + the value in the latter overriding any same-named values in the former. + It is thus considered a 'best practice' that the Execute code of a Job + retrieve data from the JobDataMap found on this object + + + NOTE: Do not + expect value 'set' into this JobDataMap to somehow be set back onto a + job's own JobDataMap. + + + + s are also returned from the + + method. These are the same instances as those past into the jobs that are + currently executing within the scheduler. The exception to this is when your + application is using Quartz remotely (i.e. via remoting or WCF) - in which case you get + a clone of the s, and their references to + the and instances have been lost (a + clone of the is still available - just not a handle + to the job instance that is running). + + + + + + + + James House + Marko Lahma (.NET) + + + + A context bundle containing handles to various environment information, that + is given to a instance as it is + executed, and to a instance after the + execution completes. + + + + + Put the specified value into the context's data map with the given key. + Possibly useful for sharing data between listeners and jobs. + + NOTE: this data is volatile - it is lost after the job execution + completes, and all TriggerListeners and JobListeners have been + notified. + + + + + + + + + + Get the value with the given key from the context's data map. + + + + + + + Get a handle to the instance that fired the + . + + + + + Get a handle to the instance that fired the + . + + + + + Get a handle to the referenced by the + instance that fired the . + + + + + If the is being re-executed because of a 'recovery' + situation, this method will return . + + + + + Gets the refire count. + + The refire count. + + + + Get the convenience of this execution context. + + + + The found on this object serves as a convenience - + it is a merge of the found on the + and the one found on the , with + the value in the latter overriding any same-named values in the former. + It is thus considered a 'best practice' that the Execute code of a Job + retrieve data from the JobDataMap found on this object. + + + NOTE: Do not expect value 'set' into this JobDataMap to somehow be + set back onto a job's own JobDataMap. + + + Attempts to change the contents of this map typically result in an + illegal state. + + + + + + Get the associated with the . + + + + + Get the instance of the that was created for this + execution. + + Note: The Job instance is not available through remote scheduler + interfaces. + + + + + + The actual time the trigger fired. For instance the scheduled time may + have been 10:00:00 but the actual fire time may have been 10:00:03 if + the scheduler was too busy. + + Returns the fireTimeUtc. + + + + + The scheduled time the trigger fired for. For instance the scheduled + time may have been 10:00:00 but the actual fire time may have been + 10:00:03 if the scheduler was too busy. + + Returns the scheduledFireTimeUtc. + + + + + Gets the previous fire time. + + The previous fire time. + + + + Gets the next fire time. + + The next fire time. + + + + Get the unique Id that identifies this particular firing instance of the + trigger that triggered this job execution. It is unique to this + JobExecutionContext instance as well. + + the unique fire instance id + + + + + Returns the result (if any) that the set before its + execution completed (the type of object set as the result is entirely up + to the particular job). + + + + The result itself is meaningless to Quartz, but may be informative + to s or + s that are watching the job's + execution. + + + Set the result (if any) of the 's execution (the type of + object set as the result is entirely up to the particular job). + + + The result itself is meaningless to Quartz, but may be informative + to s or + s that are watching the job's + execution. + + + + + + The amount of time the job ran for. The returned + value will be until the job has actually completed (or thrown an + exception), and is therefore generally only useful to + s and s. + + + + + Create a 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 job's own JobDataMap. + + + Attempts to change the contents of this map typically result in an + illegal state. + + + + + + Get the associated with the . + + + + + Get the instance of the that was created for this + execution. + + Note: The Job instance is not available through remote scheduler + interfaces. + + + + + + The actual time the trigger fired. For instance the scheduled time may + have been 10:00:00 but the actual fire time may have been 10:00:03 if + the scheduler was too busy. + + Returns the fireTimeUtc. + + + + + The scheduled time the trigger fired for. For instance the scheduled + time may have been 10:00:00 but the actual fire time may have been + 10:00:03 if the scheduler was too busy. + + Returns the scheduledFireTimeUtc. + + + + + Gets the previous fire time. + + The previous fire time. + + + + Gets the next fire time. + + The next fire time. + + + + Returns the result (if any) that the set before its + execution completed (the type of object set as the result is entirely up + to the particular job). + + + + The result itself is meaningless to Quartz, but may be informative + to s or + s that are watching the job's + execution. + + + Set the result (if any) of the 's execution (the type of + object set as the result is entirely up to the particular job). + + + The result itself is meaningless to Quartz, but may be informative + to s or + s that are watching the job's + execution. + + + + + + The amount of time the job ran for. The returned + value will be until the job has actually completed (or thrown an + exception), and is therefore generally only useful to + s and s. + + + + + Returns the fire instace id. + + + + + An implementation of the interface that remotely + proxies all method calls to the equivalent call on a given + instance, via remoting or similar technology. + + + + James House + Marko Lahma (.NET) + + + + This is the main interface of a Quartz Scheduler. + + + + A maintains a registry of + s and s. Once + registered, the is responsible for executing + s when their associated s + fire (when their scheduled time arrives). + + + instances are produced by a + . A scheduler that has already been + created/initialized can be found and used through the same factory that + produced it. After a has been created, it is in + "stand-by" mode, and must have its method + called before it will fire any s. + + + s are to be created by the 'client program', by + defining a class that implements the interface. + objects are then created (also by the client) to + define a individual instances of the . + instances can then be registered with the + via the %IScheduler.ScheduleJob(JobDetail, + Trigger)% or %IScheduler.AddJob(JobDetail, bool)% method. + + + s can then be defined to fire individual + instances based on given schedules. + s are most useful for one-time firings, or + firing at an exact moment in time, with N repeats with a given delay between + them. s allow scheduling based on time of day, + day of week, day of month, and month of year. + + + s and s have a name and + group associated with them, which should uniquely identify them within a single + . The 'group' feature may be useful for creating + logical groupings or categorizations of s and + s. If you don't have need for assigning a group to a + given s of s, then you can use + the constant defined on + this interface. + + + Stored s can also be 'manually' triggered through the + use of the %IScheduler.TriggerJob(string, string)% function. + + + Client programs may also be interested in the 'listener' interfaces that are + available from Quartz. The interface provides + notifications of executions. The + interface provides notifications of + firings. The + interface provides notifications of events and + errors. Listeners can be associated with local schedulers through the + interface. + + + The setup/configuration of a instance is very + customizable. Please consult the documentation distributed with Quartz. + + + + + + + + + Marko Lahma (.NET) + + + + returns true if the given JobGroup + is paused + + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + Get a object describing the settings + and capabilities of the scheduler instance. + + + Note that the data returned is an 'instantaneous' snap-shot, and that as + soon as it's returned, the meta data values may be different. + + + + + Return a list of objects that + represent all currently executing Jobs in this Scheduler instance. + + + + This method is not cluster aware. That is, it will only return Jobs + currently executing in this Scheduler instance, not across the entire + cluster. + + + Note that the list returned is an 'instantaneous' snap-shot, and that as + soon as it's returned, the true list of executing jobs may be different. + Also please read the doc associated with - + especially if you're using remoting. + + + + + + + Get the names of all known groups. + + + + + Get the names of all known groups. + + + + + Get the names of all groups that are paused. + + + + + Starts the 's threads that fire s. + When a scheduler is first created it is in "stand-by" mode, and will not + fire triggers. The scheduler can also be put into stand-by mode by + calling the method. + + + The misfire/recovery process will be started, if it is the initial call + to this method on this scheduler instance. + + + + + + + + Calls after the indicated delay. + (This call does not block). This can be useful within applications that + have initializers that create the scheduler immediately, before the + resources needed by the executing jobs have been fully initialized. + + + + + + + + Temporarily halts the 's firing of s. + + + + When is called (to bring the scheduler out of + stand-by mode), trigger misfire instructions will NOT be applied + during the execution of the method - any misfires + will be detected immediately afterward (by the 's + normal process). + + + The scheduler is not destroyed, and can be re-started at any time. + + + + + + + + Halts the 's firing of s, + and cleans up all resources associated with the Scheduler. Equivalent to + . + + + The scheduler cannot be re-started. + + + + + + Halts the 's firing of s, + and cleans up all resources associated with the Scheduler. + + + The scheduler cannot be re-started. + + + if the scheduler will not allow this method + to return until all currently executing jobs have completed. + + + + + + Add the given to the + Scheduler, and associate the given with + it. + + + If the given Trigger does not reference any , then it + will be set to reference the Job passed with it into this method. + + + + + Schedule the given with the + identified by the 's settings. + + + + + Schedule all of the given jobs with the related set of triggers. + + + If any of the given jobs or triggers already exist (or more + specifically, if the keys are not unique) and the replace + parameter is not set to true then an exception will be thrown. + + + + + Remove the indicated from the scheduler. + If the related job does not have any other triggers, and the job is + not durable, then the job will also be deleted. + + + + + Remove all of the indicated s from the scheduler. + + + If the related job does not have any other triggers, and the job is + not durable, then the job will also be deleted. + Note that while this bulk operation is likely more efficient than + invoking several + times, it may have the adverse affect of holding data locks for a + single long duration of time (rather than lots of small durations + of time). + + + + + Remove (delete) the with the + given key, and store the new given one - which must be associated + with the same job (the new trigger must have the job name & group specified) + - however, the new trigger need not have the same name as the old trigger. + + The to be replaced. + + The new to be stored. + + + if a with the given + name and group was not found and removed from the store (and the + new trigger is therefore not stored), otherwise + the first fire time of the newly scheduled trigger. + + + + + Add the given to the Scheduler - with no associated + . The will be 'dormant' until + it is scheduled with a , or + is called for it. + + + The must by definition be 'durable', if it is not, + SchedulerException will be thrown. + + + + + Delete the identified from the Scheduler - and any + associated s. + + true if the Job was found and deleted. + + + + Delete the identified jobs from the Scheduler - and any + associated s. + + + Note that while this bulk operation is likely more efficient than + invoking several + times, it may have the adverse affect of holding data locks for a + single long duration of time (rather than lots of small durations + of time). + + + true if all of the Jobs were found and deleted, false if + one or more were not deleted. + + + + + Trigger the identified + (Execute it now). + + + + + Trigger the identified (Execute it now). + + + the (possibly ) JobDataMap to be + associated with the trigger that fires the job immediately. + + + The of the to be executed. + + + + + Pause the with the given + key - by pausing all of its current s. + + + + + Pause all of the s in the + matching groups - by pausing all of their s. + + + + The Scheduler will "remember" that the groups are paused, and impose the + pause on any new jobs that are added to any of those groups until it is resumed. + + NOTE: There is a limitation that only exactly matched groups + can be remembered as paused. For example, if there are pre-existing + job in groups "aaa" and "bbb" and a matcher is given to pause + groups that start with "a" then the group "aaa" will be remembered + as paused and any subsequently added jobs in group "aaa" will be paused, + however if a job is added to group "axx" it will not be paused, + as "axx" wasn't known at the time the "group starts with a" matcher + was applied. HOWEVER, if there are pre-existing groups "aaa" and + "bbb" and a matcher is given to pause the group "axx" (with a + group equals matcher) then no jobs will be paused, but it will be + remembered that group "axx" is paused and later when a job is added + in that group, it will become paused. + + + + + + Pause the with the given key. + + + + + Pause all of the s in the groups matching. + + + + The Scheduler will "remember" all the groups paused, and impose the + pause on any new triggers that are added to any of those groups until it is resumed. + + NOTE: There is a limitation that only exactly matched groups + can be remembered as paused. For example, if there are pre-existing + triggers in groups "aaa" and "bbb" and a matcher is given to pause + groups that start with "a" then the group "aaa" will be remembered as + paused and any subsequently added triggers in that group be paused, + however if a trigger is added to group "axx" it will not be paused, + as "axx" wasn't known at the time the "group starts with a" matcher + was applied. HOWEVER, if there are pre-existing groups "aaa" and + "bbb" and a matcher is given to pause the group "axx" (with a + group equals matcher) then no triggers will be paused, but it will be + remembered that group "axx" is paused and later when a trigger is added + in that group, it will become paused. + + + + + + Resume (un-pause) the with + the given key. + + + If any of the 's s missed one + or more fire-times, then the 's misfire + instruction will be applied. + + + + + Resume (un-pause) all of the s + in matching groups. + + + If any of the s had s that + missed one or more fire-times, then the 's + misfire instruction will be applied. + + + + + + Resume (un-pause) the with the given + key. + + + If the missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + Resume (un-pause) all of the s in matching groups. + + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Pause all triggers - similar to calling + on every group, however, after using this method + must be called to clear the scheduler's state of 'remembering' that all + new triggers will be paused as they are added. + + + When is called (to un-pause), trigger misfire + instructions WILL be applied. + + + + + + + + Resume (un-pause) all triggers - similar to calling + on every group. + + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Get the keys of all the s in the matching groups. + + + + + Get all s that are associated with the + identified . + + + The returned Trigger objects will be snap-shots of the actual stored + triggers. If you wish to modify a trigger, you must re-store the + trigger afterward (e.g. see ). + + + + + Get the names of all the s in the given + groups. + + + + + Get the for the + instance with the given key . + + + The returned JobDetail object will be a snap-shot of the actual stored + JobDetail. If you wish to modify the JobDetail, you must re-store the + JobDetail afterward (e.g. see ). + + + + + Get the instance with the given key. + + + The returned Trigger object will be a snap-shot of the actual stored + trigger. If you wish to modify the trigger, you must re-store the + trigger afterward (e.g. see ). + + + + + Get the current state of the identified . + + + + + + + + + + + Add (register) the given to the Scheduler. + + Name of the calendar. + The calendar. + if set to true [replace]. + whether or not to update existing triggers that + referenced the already existing calendar so that they are 'correct' + based on the new trigger. + + + + Delete the identified from the Scheduler. + + Name of the calendar. + + true if the Calendar was found and deleted. + + + + + Get the instance with the given name. + + + + + Get the names of all registered . + + + + + Request the interruption, within this Scheduler instance, of all + currently executing instances of the identified , which + must be an implementor of the interface. + + + + If more than one instance of the identified job is currently executing, + the method will be called on + each instance. However, there is a limitation that in the case that + on one instances throws an exception, all + remaining instances (that have not yet been interrupted) will not have + their method called. + + + + If you wish to interrupt a specific instance of a job (when more than + one is executing) you can do so by calling + to obtain a handle + to the job instance, and then invoke on it + yourself. + + + This method is not cluster aware. That is, it will only interrupt + instances of the identified InterruptableJob currently executing in this + Scheduler instance, not across the entire cluster. + + + + true is at least one instance of the identified job was found and interrupted. + + + + + + + Request the interruption, within this Scheduler instance, of the + identified executing job instance, which + must be an implementor of the interface. + + + This method is not cluster aware. That is, it will only interrupt + instances of the identified InterruptableJob currently executing in this + Scheduler instance, not across the entire cluster. + + + + + + + the unique identifier of the job instance to be interrupted (see + + true if the identified job instance was found and interrupted. + + + + Determine whether a with the given identifier already + exists within the scheduler. + + the identifier to check for + true if a Job exists with the given identifier + + + + Determine whether a with the given identifier already + exists within the scheduler. + + the identifier to check for + true if a Trigger exists with the given identifier + + + + Clears (deletes!) all scheduling data - all s, s + s. + + + + + Returns the name of the . + + + + + Returns the instance Id of the . + + + + + Returns the of the . + + + + + Reports whether the is in stand-by mode. + + + + + + + Reports whether the has been Shutdown. + + + + + Set the that will be responsible for producing + instances of classes. + + + JobFactories may be of use to those wishing to have their application + produce instances via some special mechanism, such as to + give the opportunity for dependency injection. + + + + + + Get a reference to the scheduler's , + through which listeners may be registered. + + the scheduler's + + + + + + + + Whether the scheduler has been started. + + + Note: This only reflects whether has ever + been called on this Scheduler, so it will return even + if the is currently in standby mode or has been + since shutdown. + + + + + + + + Construct a instance to proxy the given + RemoteableQuartzScheduler instance. + + + + + returns true if the given JobGroup + is paused + + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + Get a object 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' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Get the names of all groups that are paused. + + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Get the names of all registered . + + + + + + Calls the equivalent method on the 'proxied' . + + + + + Returns the name of the . + + + + + Returns the instance Id of the . + + + + + Returns the of the . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Set the that will be responsible for producing + instances of classes. + + JobFactories may be of use to those wishing to have their application + produce instances via some special mechanism, such as to + give the 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. + + + + + + + + This utility calls methods reflectively on the given objects even though the + methods are likely on a proper interface (ThreadPool, JobStore, etc). The + motivation is to be tolerant of older implementations that have not been + updated for the changes in the interfaces (eg. LocalTaskExecutorThreadPool in + spring quartz helpers) + + teck + Marko Lahma (.NET) + + + + Holds references to Scheduler instances - ensuring uniqueness, and + preventing garbage collection, and allowing 'global' lookups. + + James House + Marko Lahma (.NET) + + + + Binds the specified sched. + + The sched. + + + + Removes the specified sched name. + + Name of the sched. + + + + + Lookups the specified sched name. + + Name of the sched. + + + + + Lookups all. + + + + + + Gets the singleton instance. + + The instance. + + + + Responsible for creating the instances of + to be used within the instance. + + James House + Marko Lahma (.NET) + + + + Initialize the factory, providing a handle to the + that should be made available within the and + the s within it. + + + + + Called by the to obtain instances of + . + + + + + An implementation of the interface that directly + proxies all method calls to the equivalent call on a given + instance. + + + + James House + Marko Lahma (.NET) + + + + 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' . + + + + + 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' . + + + + + Construct a instance to proxy the given + 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' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Get the names of all registered . + + + + + + Request the interruption, within this Scheduler instance, of all + currently executing instances of the identified , which + must be an implementor of the interface. + + + + If more than one instance of the identified job is currently executing, + the method will be called on + each instance. However, there is a limitation that in the case that + on one instances throws an exception, all + remaining instances (that have not yet been interrupted) will not have + their method called. + + + If you wish to interrupt a specific instance of a job (when more than + one is executing) you can do so by calling + to obtain a handle + to the job instance, and then invoke on it + yourself. + + + This method is not cluster aware. That is, it will only interrupt + instances of the identified InterruptableJob currently executing in this + Scheduler instance, not across the entire cluster. + + + true is at least one instance of the identified job was found and interrupted. + UnableToInterruptJobException if the job does not implement + + + + + + Returns the name of the . + + + + + Returns the instance Id of the . + + + + + Returns the of the . + + + + + Whether the scheduler has been started. + + + + Note: This only reflects whether has ever + been called on this Scheduler, so it will return even + if the is currently in standby mode or has been + since shutdown. + + + + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + + + + + An implementation of that + does all of it's work of creating a instance + based on the contents of a properties file. + + + + By default a properties are loaded from App.config's quartz section. + If that fails, then the file is loaded "quartz.properties". If file does not exist, + default configration 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) + + + + Returns a handle to the default Scheduler, creating it if it does not + yet exist. + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The props. + + + + Initialize the . + + + By default a properties file named "quartz.properties" is loaded from + the 'current working directory'. If that fails, then the + "quartz.properties" file located (as an embedded resource) in the Quartz.NET + assembly is loaded. If you wish to use a file other than these defaults, + you must define the system property 'quartz.properties' to point to + the file you want. + + + + + Creates a new name value collection and overrides its values + with system values (environment variables). + + The base properties to override. + A new NameValueCollection instance. + + + + Initialize the with + the contents of the given key value collection object. + + + + + + + + Needed while loadhelper is not constructed. + + + + + + + Returns a handle to the Scheduler produced by this factory. + + + If one of the methods has not be previously + called, then the default (no-arg) method + will be called by this method. + + + + + Returns a handle to the Scheduler with the given name, if it exists (if + it has already been instantiated). + + + + + + Returns a handle to all known Schedulers (made by any + StdSchedulerFactory instance.). + + + + + + Inspects a directory and compares whether any files' "last modified dates" + have changed since the last time it was inspected. If one or more files + have been updated (or created), the job invokes a "call-back" method on an + identified that can be found in the + . + + pl47ypus + James House + Marko Lahma (.NET) + + + + + The interface to be implemented by classes which represent a 'job' to be + performed. + + + Instances of this interface must have a + no-argument constructor. provides a mechanism for 'instance member data' + that may be required by some implementations of this interface. + + + + + + + + James House + Marko Lahma (.NET) + + + + Called by the when a + fires that is associated with the . + + + The implementation may wish to set a result object on the + JobExecutionContext before this method exits. The result itself + is meaningless to Quartz, but may be informative to + s or + s that are watching the job's + execution. + + The execution context. + + + key with which to specify the directory to be + monitored - an absolute path is recommended. + + + key with which to specify the + to be + notified when the directory contents change. + + + key with which to specify a + value that represents the minimum number of milliseconds that must have + passed since the file's last modified time in order to consider the file + new/altered. This is necessary because another process may still be + in the middle of writing to the file when the scan occurs, and the + file may therefore not yet be ready for processing. + If this parameter is not specified, a default value of 5000 (five seconds) will be used. + + + + This is the main entry point for job execution. The scheduler will call this method on the + job once it is triggered. + + The that + the job will use during execution. + + + + Inspects a file and compares whether it's "last modified date" has changed + since the last time it was inspected. If the file has been updated, the + job invokes a "call-back" method on an identified + that can be found in the + . + + James House + Marko Lahma (.NET) + + + + + JobDataMap key with which to specify the name of the file to monitor. + + + + + JobDataMap key with which to specify the + to be notified when the file contents change. + + + + + key with which to specify a long + value that represents the minimum number of milliseconds that must have + past since the file's last modified time in order to consider the file + new/altered. This is necessary because another process may still be + in the middle of writing to the file when the scan occurs, and the + file may therefore not yet be ready for processing. + + If this parameter is not specified, a default value of + 5000 (five seconds) will be used. + + + + + Initializes a new instance of the class. + + + + + Called by the when a + fires that is associated with the . + + The implementation may wish to set a result object on the + JobExecutionContext before this method exits. The result itself + is meaningless to Quartz, but may be informative to + s or + s that are watching the job's + execution. + + + The execution context. + + + + + + Gets the last modified date. + + Name of the file. + + + + + Gets the log. + + The log. + + + Interface for objects wishing to receive a 'call-back' from a + Instances should be stored in the such that the + can find it. + James House + Marko Lahma (.NET) + + + An array of objects that were updated/added + since the last scan of the directory + + + + Interface for objects wishing to receive a 'call-back' from a + . + + James House + Marko Lahma (.NET) + + + + + Ãnforms that certain file has been updated. + + Name of the file. + + + + Built in job for executing native executables in a separate process. + + + + JobDetail job = new JobDetail("dumbJob", null, typeof(Quartz.Jobs.NativeJob)); + job.JobDataMap.Put(Quartz.Jobs.NativeJob.PropertyCommand, "echo \"hi\" >> foobar.txt"); + Trigger trigger = TriggerUtils.MakeSecondlyTrigger(5); + trigger.Name = "dumbTrigger"; + sched.ScheduleJob(job, trigger); + + If PropertyWaitForProcess is true, then the integer exit value of the process + will be saved as the job execution result in the JobExecutionContext. + + Matthew Payne + James House + Steinar Overbeck Cook + Marko Lahma (.NET) + + + + Required parameter that specifies the name of the command (executable) + to be ran. + + + + + Optional parameter that specifies the parameters to be passed to the + executed command. + + + + + Optional parameter (value should be 'true' or 'false') that specifies + whether the job should wait for the execution of the native process to + complete before it completes. + + Defaults to . + + + + + Optional parameter (value should be 'true' or 'false') that specifies + whether the spawned process's stdout and stderr streams should be + consumed. If the process creates output, it is possible that it might + 'hang' if the streams are not consumed. + + Defaults to . + + + + + Optional parameter that specifies the 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 + Marko Lahma (.NET) + + + + Do nothing. + + + + + A Job which sends an e-mail with the configured content to the configured + recipient. + + James House + Marko Lahma (.NET) + + + The host name of the smtp server. REQUIRED. + + + The 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 JobListener instances and broadcasts all + events to them (in order). + + + The broadcasting behavior of this listener to delegate listeners may be + more convenient than registering all of the listeners directly with the + Scheduler, and provides the flexibility of easily changing which listeners + get notified. + + + + + James House (jhouse AT revolition DOT net) + + + + Construct an instance with the given name. + + + (Remember to add some delegate listeners!) + + the name of this instance + + + + Construct an instance with the given name, and List of listeners. + + + + the name of this instance + the initial List of JobListeners to broadcast to. + + + + Holds a List of references to SchedulerListener instances and broadcasts all + events to them (in order). + + + This may be more convenient than registering all of the listeners + directly with the Scheduler, and provides the flexibility of easily changing + which listeners get notified. + + + + James House + Marko Lahma (.NET) + + + + Construct an instance with the given List of listeners. + + The initial List of SchedulerListeners to broadcast to. + + + + Holds a List of references to TriggerListener instances and broadcasts all + events to them (in order). + + + The broadcasting behavior of this listener to delegate listeners may be + more convenient than registering all of the listeners directly with the + Scheduler, and provides the flexibility of easily changing which listeners + get notified. + + + + + James House (jhouse AT revolition DOT net) + + + + The interface to be implemented by classes that want to be informed when a + fires. In general, applications that use a + will not have use for this mechanism. + + + + + + + James House + Marko Lahma (.NET) + + + + Called by the when a + has fired, and it's associated + is about to be executed. + + It is called before the method of this + interface. + + + The that has fired. + + The that will be passed to the 's method. + + + + + Called by the when a + has fired, and it's associated + is about to be executed. + + It is called after the method of this + interface. If the implementation vetos the execution (via + returning ), the job's execute method will not be called. + + + The that has fired. + The that will be passed to + the 's method. + Returns true if job execution should be vetoed, false otherwise. + + + + Called by the when a + has misfired. + + Consideration should be given to how much time is spent in this method, + as it will affect all triggers that are misfiring. If you have lots + of triggers misfiring at once, it could be an issue it this method + does a lot. + + + The that has misfired. + + + + Called by the when a + has fired, it's associated + has been executed, and it's method has been + called. + + The that was fired. + + The that was passed to the + 's method. + + + The result of the call on the 's method. + + + + + Get the name of the . + + + + + Construct an instance with the given name. + + + (Remember to add some delegate listeners!) + + the name of this instance + + + + Construct an instance with the given name, and List of listeners. + + + + the name of this instance + the initial List of TriggerListeners to broadcast to. + + + + Keeps a collection of mappings of which Job to trigger after the completion + of a given job. If this listener is notified of a job completing that has a + mapping, then it will then attempt to trigger the follow-up job. This + achieves "job chaining", or a "poor man's workflow". + + + + Generally an instance of this listener would be registered as a global + job listener, rather than being registered directly to a given job. + + + If for some reason there is a failure creating the trigger for the + follow-up job (which would generally only be caused by a rare serious + failure in the system, or the non-existence of the follow-up job), an error + 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 + Marko Lahma (.NET) + + + + A helpful abstract base class for implementors of . + + + + The methods in this class are empty so you only need to override the + subset for the events you care about. + + + + You are required to implement + to return the unique name of your . + + + Marko Lahma (.NET) + + + + + Initializes a new instance of the class. + + + + + Called by the when a + is about to be executed (an associated + has 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 JobKey with the name and group of the first job + a JobKey with the name and group of the follow-up job + + + + A helpful abstract base class for implementors of + . + + + + The methods in this class are empty so you only need to override the + subset for the events + you care about. + + + + You are required to implement + to return the unique name of your . + + + Marko Lahma (.NET) + + + + + Get the for this + class's category. This should be used by subclasses for logging. + + + + + Get the name of the . + + + + + + Logs a history of all job executions (and execution 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" +
+
+ Marko Lahma (.NET) +
+ + + Provides an interface for a class to become a "plugin" to Quartz. + + + Plugins can do virtually anything you wish, though the most interesting ones + will obviously interact with the scheduler in some way - either actively: by + invoking actions on the scheduler, or passively: by being a , + , and/or . + + If you use to + Initialize your Scheduler, it can also create and Initialize your plugins - + look at the configuration docs for details. + + + If you need direct access your plugin, you can have it explicitly put a + reference to itself in the 's + as part of its + method. + + + James House + Marko Lahma (.NET) + + + + Called during creation of the in order to give + the a chance to Initialize. + + + At this point, the Scheduler's is not yet + + If you need direct access your plugin, you can have it explicitly put a + reference to itself in the 's + as part of its + method. + + + + The name by which the plugin is identified. + + + The scheduler to which the plugin is registered. + + + + + Called when the associated is started, in order + to let the plug-in know it can now make calls into the scheduler if it + needs to. + + + + + Called in order to inform the that it + should free up all of it's resources because the scheduler is shutting + down. + + + + + Called during creation of the in order to give + the a chance to Initialize. + + + + + Called when the associated is started, in order + to let the plug-in know it can now make calls into the scheduler if it + needs to. + + + + + Called in order to inform the that it + should free up all of it's resources because the scheduler is shutting + down. + + + + + Called by the when a is + about to be executed (an associated has occurred). + + This method will not be invoked if the execution of the Job was vetoed by a + . + + + + + + + Called by the after a + has been executed, and be for the associated 's + method has been called. + + + + + + + Called by the when a + was about to be executed (an associated + has 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 + Marko Lahma (.NET) +
+ + + Called during creation of the in order to give + the a chance to Initialize. + + + + + Called when the associated is started, in order + to let the plug-in know it can now make calls into the scheduler if it + needs to. + + + + + Called in order to inform the that it + should free up all of it's resources because the scheduler is shutting + down. + + + + + Called by the when a + has fired, and it's associated + is about to be executed. + + It is called before the method of this + interface. + + + The that has fired. + The that will be passed to the 's method. + + + + Called by the when a + has misfired. + + Consideration should be given to how much time is spent in this method, + as it will affect all triggers that are misfiring. If you have lots + of triggers misfiring at once, it could be an issue it this method + does a lot. + + + The that has misfired. + + + + Called by the when a + has fired, it's associated + has been executed, and it's method has been + called. + + The that was fired. + The that was passed to the + 's method. + The result of the call on the 's method. + + + + Called by the when a + has fired, and it's associated + is about to be executed. + + It is called after the method of this + interface. + + + The that has fired. + The that will be passed to + the 's method. + + + + + Logger instance to use. Defaults to common logging. + + + + + Get or set the message that is printed upon the completion of a trigger's + firing. + + + + + Get or set the message that is printed upon a trigger's firing. + + + + + Get or set the message that is printed upon a trigger's mis-firing. + + + + + Get the name of the . + + + + + + This plugin catches the event of the VM terminating (such as upon a CRTL-C) + and tells the scheuler to Shutdown. + + + James House + Marko Lahma (.NET) + + + + Called during creation of the in order to give + the a chance to Initialize. + + + + + Called when the associated is started, in order + to let the plug-in know it can now make calls into the scheduler if it + needs to. + + + + + Called in order to inform the that it + should free up all of it's resources because the scheduler is shutting + down. + + + + + Determine whether or not the plug-in is configured to cause a clean + Shutdown of the scheduler. + + The default value is . + + + + + + + This plugin loads XML file(s) to add jobs and schedule them with triggers + as the scheduler is initialized, and can optionally periodically scan the + file for changes. + + + The periodically scanning of files for changes is not currently supported in a + clustered environment. + + James House + Pierre Awaragi + + + + Initializes a new instance of the class. + + + + + + + + + + + Called during creation of the in order to give + the a chance to initialize. + + The name. + The scheduler. + SchedulerConfigException + + + + Called when the associated is started, in order + to let the plug-in know it can now make calls into the scheduler if it + needs to. + + + + + Helper method for generating unique job/trigger name for the + file scanning jobs (one per FileJob). The unique names are saved + in jobTriggerNameSet. + + + + + + + Called in order to inform the that it + should free up all of it's resources because the scheduler is shutting + down. + + + + + Gets the log. + + The log. + + + + Comma separated list of file names (with paths) to the XML files that should be read. + + + + + The interval at which to scan for changes to the file. + If the file has been changed, it is re-loaded and parsed. The default + value for the interval is 0, which disables scanning. + + + + + Whether or not initialization of the plugin should fail (throw an + exception) if the file cannot be found. Default is . + + + + + Information about a file that should be processed by . + + + + + Default object serialization strategy that uses + under the hood. + + Marko Lahma + + + + Interface for object serializers. + + Marko Lahma + + + + + Serializes given object as bytes + that can be stored to permanent stores. + + Object to serialize, always non-null. + + + + Deserializes object from byte array presentation. + + Data to deserialize object from, always non-null and non-empty. + + + + Serializes given object as bytes + that can be stored to permanent stores. + + Object to serialize. + + + + Deserializes object from byte array presentation. + + Data to deserialize object from. + + + + that names the scheduler instance using + just the machine hostname. + + + This class is useful when you know that your scheduler instance will be the + only one running on a particular machine. Each time the scheduler is + restarted, it will get the same instance id as long as the machine is not + renamed. + + Marko Lahma (.NET) + + + + + + An IInstanceIdGenerator is responsible for generating the clusterwide unique + instance id for a node. + + + This interface may be of use to those wishing to have specific control over + the mechanism by which the instances in their + application are named. + + + Marko Lahma (.NET) + + + + Generate the instance id for a + + The clusterwide unique instance id. + + + + + Generate the instance id for a + + The clusterwide unique instance id. + + + + A JobFactory that instantiates the Job instance (using the default no-arg + constructor, or more specifically: ), and + then attempts to set all values from the and + the 's merged onto + properties of the job. + + + Set the WarnIfPropertyNotFound property to true if you'd like noisy logging in + the case of values in the not mapping to properties on your job + class. This may be useful for troubleshooting typos of property names, etc. + but very noisy if you regularly (and purposely) have extra things in your + . + Also of possible interest is the ThrowIfPropertyNotFound property which + will throw exceptions on unmatched JobDataMap keys. + + + + + + + + James Houser + Marko Lahma (.NET) + + + + The default JobFactory used by Quartz - simply calls + on the job class. + + + + James House + Marko Lahma (.NET) + + + + A JobFactory is responsible for producing instances of + classes. + + + This interface may be of use to those wishing to have their application + produce instances via some special mechanism, such as to + give the opertunity for dependency injection. + + + + + James House + Marko Lahma (.NET) + + + + Called by the scheduler at the time of the trigger firing, in order to + produce a instance on which to call Execute. + + + It should be extremely rare for this method to throw an exception - + basically only the the case where there is no way at all to instantiate + and prepare the Job for execution. When the exception is thrown, the + Scheduler will move all triggers associated with the Job into the + state, which will require human + intervention (e.g. an application restart after fixing whatever + configuration problem led to the issue wih instantiating the Job. + + + The TriggerFiredBundle from which the + and other info relating to the trigger firing can be obtained. + + a handle to the scheduler that is about to execute the job + SchedulerException if there is a problem instantiating the Job. + the newly instantiated Job + + + + + 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. + + + + + Gets the fired trigger record id. + + The fired trigger record id. + + + + Called by the QuartzScheduler before the is + used, in order to give the it a chance to Initialize. + + + + + Called by the QuartzScheduler to inform the that + the scheduler has started. + + + + + Called by the QuartzScheduler to inform the JobStore that + the scheduler has been paused. + + + + + Called by the QuartzScheduler to inform the JobStore that + the scheduler has resumed after being paused. + + + + + Called by the QuartzScheduler to inform the that + it should free up all of it's resources because the scheduler is + shutting down. + + + + + Clears (deletes!) all scheduling data - all s, s + s. + + + + + Store the given and . + + The to be stored. + The to be stored. + + + + Returns true if the given job group is paused. + + Job group name + + + + + returns true if the given TriggerGroup is paused. + + + + + + + Store the given . + + The to be stored. + If , any existing in the + with the same name and group should be + over-written. + + + + Remove (delete) the with the given + name, and any s that reference + it. + + + if a with the given name and + group was found and removed from the store. + + + + + Remove (delete) the with the + given name. + + + if a with the given + name and group was found and removed from the store. + + + + + Store the given . + + The to be stored. + If , any existing in + the with the same name and group should + be over-written. + + + + Remove (delete) the with the + given name. + + + + if a with the given + name and group was found and removed from the store. + + The to be removed. + Whether to delete orpahaned job details from scheduler if job becomes orphaned from removing the trigger. + + + + Replaces the trigger. + + The of the to be replaced. + The new trigger. + + + + + Retrieve the for the given + . + + + The desired , or null if there is no match. + + + + + Retrieve the given . + + + The desired , or null if there is no match. + + + + + Determine whether a with the given identifier already + exists within the scheduler. + + the identifier to check for + true if a Job exists with the given identifier + + + + Determine whether a with the given identifier already + exists within the scheduler. + + triggerKey the identifier to check for + true if a Trigger exists with the given identifier + + + + Get the current state of the identified . + + + + + + + + + + + Store the given . + + The name. + The to be stored. + If , any existing + in the with the same name and group + should be over-written. + If , any s existing + in the that reference an existing + Calendar with the same name with have their next fire time + re-computed with the new . + + + + Remove (delete) the with the + given name. + + If removal of the would result in + s pointing to non-existent calendars, then a + will be thrown. + + The name of the to be removed. + + if a with the given name + was found and removed from the store. + + + + + Retrieve the given . + + The name of the to be retrieved. + + The desired , or null if there is no match. + + + + + Get the number of s that are + stored in the . + + + + + Get the number of s that are + stored in the . + + + + + Get the number of s that are + stored in the . + + + + + Get the names of all of the s that + match the given group matcher. + + + + + Get the names of all of the s + in the . + + If there are no ICalendars in the given group name, the result should be + a zero-length array (not ). + + + + + + Get the names of all of the s + that have the given group name. + + + + + Get the names of all of the + groups. + + + + + Get the names of all of the groups. + + + + + Get all of the Triggers that are associated to the given Job. + + If there are no matches, a zero-length array should be returned. + + + + + + Gets the trigger wrappers for job. + + + + + + Gets the trigger wrappers for calendar. + + Name of the cal. + + + + + Pause the with the given name. + + + + + Pause all of the s in the given group. + + The JobStore should "remember" that the group is paused, and impose the + pause on any new triggers that are added to the group while the group is + paused. + + + + + + Pause the with the given + name - by pausing all of its current s. + + + + + Pause all of the s in the + given group - by pausing all of their s. + + The JobStore should "remember" that the group is paused, and impose the + pause on any new jobs that are added to the group while the group is + paused. + + + + + + Resume (un-pause) the with the given key. + + + If the missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + Resume (un-pause) all of the s in the + given group. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Resume (un-pause) the with + the given name. + + If any of the 's s missed one + or more fire-times, then the 's misfire + instruction will be applied. + + + + + + Resume (un-pause) all of the s + in the given group. + + If any of the s had s that + missed one or more fire-times, then the 's + misfire instruction will be applied. + + + + + + Pause all triggers - equivalent of calling + on every group. + + When is called (to un-pause), trigger misfire + instructions WILL be applied. + + + + + + + Resume (un-pause) all triggers - equivalent of calling + on every trigger group and setting all job groups unpaused />. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + + Applies the misfire. + + The trigger wrapper. + + + + + Get a handle to the next trigger to be fired, and mark it as 'reserved' + by the calling scheduler. + + + + + + Inform the that the scheduler no longer plans to + fire the given , that it had previously acquired + (reserved). + + + + + Inform the that the scheduler is now firing the + given (executing its associated ), + that it had previously acquired (reserved). + + + + + Inform the that the scheduler has completed the + firing of the given (and the execution its + associated ), and that the + in the given should be updated if the + is stateful. + + + + + Sets the state of all triggers of job to specified state. + + + + + Peeks the triggers. + + + + + + + + + The time span by which a trigger must have missed its + next-fire-time, in order for it to be considered "misfired" and thus + have its misfire instruction applied. + + + + + Returns whether this instance supports persistence. + + + + + + + Inform the of the Scheduler instance's Id, + prior to initialize being invoked. + + + + + Inform the of the Scheduler instance's name, + prior to initialize being invoked. + + + + + Comparer for trigger wrappers. + + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + 2 + + + + Possible internal trigger states + in RAMJobStore + + + + + Waiting + + + + + Acquired + + + + + Executing + + + + + Complete + + + + + Paused + + + + + Blocked + + + + + Paused and Blocked + + + + + Error + + + + + Helper wrapper class + + + + + The key used + + + + + Job's key + + + + + The trigger + + + + + Current state + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Serves as a hash function for a particular type. is suitable for use in hashing algorithms and data structures like a hash table. + + + A hash code for the current . + + + + + Scheduler exporter that exports scheduler to remoting context. + + Marko Lahma + + + + Service interface for scheduler exporters. + + Marko Lahma + + + + Binds (exports) scheduler to external context. + + + + + + Unbinds scheduler from external context. + + + + + + Registers remoting channel if needed. This is determined + by checking whether there is a positive value for port. + + + + + Gets or sets the port used for remoting. + + + + + Gets or sets the name to use when exporting + scheduler to remoting context. + + + + + Gets or sets the name to use when binding to + tcp channel. + + + + + Sets the channel type when registering remoting. + + + + + + Sets the used when + exporting to remoting context. Defaults to + . + + + + + A implementation that creates + connection to remote scheduler using remoting. + + + + + Client Proxy to a IRemotableQuartzScheduler + + + + + Returns a client proxy to a remote . + + + + + Returns a client proxy to a remote . + + + + + Gets or sets the remote scheduler address. + + The remote scheduler address. + + + + The default InstanceIdGenerator used by Quartz when instance id is to be + automatically generated. Instance id is of the form HOSTNAME + CURRENT_TIME. + + Marko Lahma (.NET) + + + + + + Generate the instance id for a + + The clusterwide unique instance id. + + + + This is class is a simple implementation of a thread pool, based on the + interface. + + + objects are sent to the pool with the + method, which blocks until a becomes available. + + The pool has a fixed number of s, and does not grow or + shrink based on demand. + + James House + Juergen Donnerstag + Marko Lahma (.NET) + + + + The interface to be implemented by classes that want to provide a thread + pool for the 's use. + + + implementation instances should ideally be made + for the sole use of Quartz. Most importantly, when the method + returns a value of 1 or greater, + there must still be at least one available thread in the pool when the + method is called a few moments (or + many moments) later. If this assumption does not hold true, it may + result in extra JobStore queries and updates, and if clustering features + are being used, it may result in greater imballance of load. + + + James House + Marko Lahma (.NET) + + + + Execute the given in the next + available . + + + The implementation of this interface should not throw exceptions unless + there is a serious problem (i.e. a serious misconfiguration). If there + are no available threads, rather it should either queue the Runnable, or + block until a thread is available, depending on the desired strategy. + + + + + Determines the number of threads that are currently available in in + the pool. Useful for determining the number of times + can be called before returning + false. + + + The implementation of this method should block until there is at + least one available thread. + + the number of currently available threads + + + + Must be called before the is + used, in order to give the it a chance to Initialize. + + + Typically called by the . + + + + + Called by the QuartzScheduler to inform the + that it should free up all of it's resources because the scheduler is + shutting down. + + + + + Get the current number of threads in the . + + + + + Inform the of the Scheduler instance's Id, + prior to initialize being invoked. + + + + + Inform the of the Scheduler instance's name, + prior to initialize being invoked. + + + + + Create a new (unconfigured) . + + + + + Create a new with the specified number + of s that have the given priority. + + + the number of worker s in the pool, must + be > 0. + + + the thread priority for the worker threads. + + + + + + Called by the QuartzScheduler before the is + used, in order to give the it a chance to Initialize. + + + + + Terminate any worker threads in this thread group. + Jobs currently in progress will complete. + + + + + Run the given object in the next available + . If while waiting the thread pool is asked to + shut down, the Runnable is executed immediately within a new additional + thread. + + The to be added. + + + + Creates the worker threads. + + The thread count. + + + + + Terminate any worker threads in this thread group. + Jobs currently in progress will complete. + + + + + Gets or sets the number of worker threads in the pool. + Set has no effect after has been called. + + + + + Get or set the thread priority of worker threads in the pool. + Set operation has no effect after has been called. + + + + + Gets or sets the thread name prefix. + + The thread name prefix. + + + + Gets or sets the value of makeThreadsDaemons. + + + + + Gets the size of the pool. + + The size of the pool. + + + + Inform the of the Scheduler instance's Id, + prior to initialize being invoked. + + + + + Inform the of the Scheduler instance's name, + prior to initialize being invoked. + + + + + A Worker loops, waiting to Execute tasks. + + + + + Create a worker thread and start it. Waiting for the next Runnable, + executing it, and waiting for the next Runnable, until the Shutdown + flag is set. + + + + + Create a worker thread, start it, Execute the runnable and terminate + the thread (one time execution). + + + + + Signal the thread that it should terminate. + + + + + Loop, executing targets as they are received. + + + + + A that simply calls . + + + James House + Marko Lahma (.NET) + + + + Called to give the ClassLoadHelper a chance to Initialize itself, + including the 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 + + + + + InstanceIdGenerator that will use a to configure the scheduler. + If no value set for the property, a is thrown. + Alex Snaps + + + + + System property to read the instanceId from. + + + + + Returns the cluster wide value for this scheduler instance's id, based on a system property. + + + + + This is class is a simple implementation of a zero size thread pool, based on the + interface. + + + The pool has zero s and does not grow or shrink based on demand. + Which means it is obviously not useful for most scenarios. When it may be useful + is to prevent creating any worker threads at all - which may be desirable for + the sole purpose of preserving system resources in the case where the scheduler + instance only exists in order to schedule jobs, but which will never execute + jobs (e.g. will never have Start() called on it). + + Wayne Fay + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Called by the QuartzScheduler before the is + used, in order to give the it a chance to Initialize. + + + + + Shutdowns this instance. + + + + + Called by the QuartzScheduler to inform the + that it should free up all of it's resources because the scheduler is + shutting down. + + + + + + Execute the given in the next + available . + + + + + The implementation of this interface should not throw exceptions unless + there is a serious problem (i.e. a serious misconfiguration). If there + are no available threads, rather it should either queue the Runnable, or + block until a thread is available, depending on the desired strategy. + + + + + Determines the number of threads that are currently available in in + the pool. Useful for determining the number of times + can be called before returning + false. + + + the number of currently available threads + + + The implementation of this method should block until there is at + least one available thread. + + + + + Gets the log. + + The log. + + + + Gets the size of the pool. + + The size of the pool. + + + + Inform the of the Scheduler instance's Id, + prior to initialize being invoked. + + + + + Inform the of the Scheduler instance's name, + prior to initialize being invoked. + + + + + A simple class (structure) used for returning execution-time data from the + JobStore to the . + + + James House + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + The job. + The trigger. + The calendar. + if set to true [job is recovering]. + The fire time. + The scheduled fire time. + The previous fire time. + The next fire time. + + + + Gets the job detail. + + The job detail. + + + + Gets the trigger. + + The trigger. + + + + Gets the calendar. + + The calendar. + + + + Gets a value indicating whether this is recovering. + + true if recovering; otherwise, false. + + + + Returns the UTC fire time. + + + + + Gets the next UTC fire time. + + The next fire time. + Returns the nextFireTimeUtc. + + + + Gets the previous UTC fire time. + + The previous fire time. + Returns the previous fire time. + + + + Returns the scheduled UTC fire time. + + + + + Result holder for trigger firing event. + + + + + Constructor. + + + + + + Constructor. + + + + + Bundle. + + + + + Possible exception. + + + + + Extension methods for . + + + + + Tries to read value and returns the value if successfully read. Otherwise return default value + for value's type. + + + + + + + + + + Extension methods for simplified access. + + + + + Returns string from given column name, or null if DbNull. + + + + + Returns int from given column name. + + + + + Returns long from given column name. + + + + + Returns long from given column name, or null if DbNull. + + + + + Returns decimal from given column name. + + + + + Manages a collection of IDbProviders, and provides transparent access + to their database. + + + James House + Sharada Jambula + Mohammad Rezaei + Marko Lahma (.NET) + + + + 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 + Marko Lahma (.NET) + + + + Create a DirtyFlagMap that 'wraps' a . + + + + + Create a DirtyFlagMap that 'wraps' a that has the + given initial capacity. + + + + + Serialization constructor. + + + + + + + Creates a new object that is a copy of the current instance. + + + A new object that is a copy of this instance. + + + + + When implemented by a class, removes all elements from the . + + + The is read-only. + + + + + When implemented by a class, determines whether the contains an element with the specified key. + + The key to locate in the . + + if the contains an element with the key; otherwise, . + + + is . + + + + When implemented by a class, removes the element with the + specified key from the . + + The key of the element to remove. + + is . + + The is read-only. + -or- + The has a fixed size. + + + + + When implemented by a class, returns an + for the . + + + An for the . + + + + + When implemented by a class, adds an element with the provided key and value to the . + + The to use as the key of the element to add. + The to use as the value of the element to add. + is . + + An element with the same key already exists in the . + + + The is read-only. + -or- + The has a fixed size. + + + + + When implemented by a class, copies the elements of + the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + is . + + is less than zero. + + + is multidimensional. + -or- + + is equal to or greater than the length of . + -or- + The number of elements in the source is greater than the available space from to the end of the destination . + + The type of the source cannot be cast automatically to the type of the destination . + + + + Clear the 'dirty' flag (set dirty flag to ). + + + + + Determines whether the specified obj contains value. + + The obj. + + true if the specified obj contains value; otherwise, false. + + + + + Gets the entries as a set. + + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + if the specified is equal to the + current ; otherwise, . + + + + + Serves as a hash function for a particular type, suitable + for use in hashing algorithms and data structures like a hash table. + + + A hash code for the current . + + + + + Gets keyset for this map. + + + + + + Puts the value behind a specified key. + + The key. + The val. + + + + + Puts all. + + The t. + + + + Determine whether the is flagged dirty. + + + + + Get a direct handle to the underlying Map. + + + + + Gets a value indicating whether this instance is empty. + + true if this instance is empty; otherwise, false. + + + + Gets or sets the with the specified key. + + + + + + When implemented by a class, gets the number of + elements contained in the . + + + + + + When implemented by a class, gets an containing the values in the . + + + + + + When implemented by a class, gets an containing the keys of the . + + + + + + When implemented by a class, gets a value indicating whether the + is read-only. + + + + + + When implemented by a class, gets a value indicating whether the + has a fixed size. + + + + + + When implemented by a class, gets an object that + can be used to synchronize access to the . + + + + + + When implemented by a class, gets a value + indicating whether access to the is synchronized + (thread-safe). + + + + + + Utility class for file handling related things. + + Marko Lahma + + + + Resolves file to actual file if for example relative '~' used. + + File name to check + Expanded file name or actual no resolving was done. + + + + Object representing a job or trigger key. + + Jeffrey Wescott + Marko Lahma (.NET) + + + + The default group for scheduling entities, with the value "DEFAULT". + + + + + Construct a new key with the given name and group. + + the name + the group + + + + Return the string representation of the key. The format will be: + <group>.<name>. + + + + the string representation of the key + + + + + Get the name portion of the key. + + the name + + + + + Get the group portion of the key. + + + + the group + + + + + Wrapper class to access thread local data. + Data is either accessed from thread or HTTP Context's + data if HTTP Context is 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. + + + + Generic extension methods for objects. + + + + + Creates a deep copy of object by serializing to memory stream. + + + + + + Utility methods that are used to convert objects from one type into another. + + Aleksandar Seovic + Marko Lahma + + + + Convert the value to the required (if necessary from a string). + + The proposed change value. + + The we must convert to. + + The new value, possibly the result of type conversion. + + + + Determines whether value is assignable to required type. + + The value to check. + Type of the required. + + true if value can be assigned as given type; otherwise, false. + + + + + Instantiates an instance of the type specified. + + + + + + Sets the object properties using reflection. + + + + + Sets the object properties using reflection. + + The object to set values to. + The properties to set to object. + + + + This is an utility class used to parse the properties. + + James House + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + The props. + + + + Gets the string property. + + The name. + + + + + Gets the string property. + + The name. + The default value. + + + + + Gets the string array property. + + The name. + + + + + Gets the string array property. + + The name. + The default value. + + + + + Gets the boolean property. + + The name. + + + + + Gets the boolean property. + + The name. + if set to true [defaultValue]. + + + + + Gets the byte property. + + The name. + + + + + Gets the byte property. + + The name. + The default value. + + + + + Gets the char property. + + The name. + + + + + Gets the char property. + + The name. + The default value. + + + + + Gets the double property. + + The name. + + + + + Gets the double property. + + The name. + The default value. + + + + + Gets the float property. + + The name. + + + + + Gets the float property. + + The name. + The default value. + + + + + Gets the int property. + + The name. + + + + + Gets the int property. + + The name. + The default value. + + + + + Gets the int array property. + + The name. + + + + + Gets the int array property. + + The name. + The default value. + + + + + Gets the long property. + + The name. + + + + + Gets the long property. + + The name. + The def. + + + + + Gets the TimeSpan property. + + The name. + The def. + + + + + Gets the short property. + + The name. + + + + + Gets the short property. + + The name. + The default value. + + + + + Gets the property groups. + + The prefix. + + + + + Gets the property group. + + The prefix. + + + + + Gets the property group. + + The prefix. + if set to true [strip prefix]. + + + + + Get all properties that start with the given prefix. + + The prefix for which to search. If it does not end in a "." then one will be added to it for search purposes. + Whether to strip off the given in the result's keys. + Optional array of fully qualified prefixes to exclude. For example if is "a.b.c", then might be "a.b.c.ignore". + Group of that start with the given prefix, optionally have that prefix removed, and do not include properties that start with one of the given excluded prefixes. + + + + Reads the properties from assembly (embedded resource). + + The file name to read resources from. + + + + + Reads the properties from file system. + + The file name to read resources from. + + + + + Gets the underlying properties. + + The underlying properties. + + + + Extension methods for . + + + + + Allows null-safe trimming of string. + + + + + + + Trims string and if resulting string is empty, null is returned. + + + + + + + An implementation of that wraps another + and flags itself 'dirty' when it is modified, enforces that all keys are + strings. + + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The initial capacity. + + + + Serialization constructor. + + + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + if the specified is equal to the + current ; otherwise, . + + + + + Serves as a hash function for a particular type, suitable + for use in hashing algorithms and data structures like a hash table. + + + A hash code for the current . + + + + + Gets the keys. + + + + + + Adds the name-value pairs in the given to the . + + All keys must be s, and all values must be serializable. + + + + + + Adds the given value to the 's + data map. + + + + + Adds the given value to the 's + data map. + + + + + Adds the given value to the 's + data map. + + + + + Adds the given value to the 's + data map. + + + + + Adds the given value to the 's + data map. + + + + + Adds the given value to the 's + data map. + + + + + Adds the given value to the 's + data map. + + + + + Retrieve the identified value from the . + + + + + Retrieve the identified value from the . + + + + + Retrieve the identified value from the . + + + + + Retrieve the identified value from the . + + + + + Retrieve the identified value from the . + + + + + Retrieve the identified value from the . + + + + + Retrieve the identified value from the . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reports JobSchedulingDataProcessor validation exceptions. + + Chris Bonham + Marko Lahma (.NET) + + + + Constructor for ValidationException. + + + + + Constructor for ValidationException. + + exception message. + + + + Constructor for ValidationException. + + collection of validation exceptions. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + Gets the validation exceptions. + + The validation exceptions. + + + + Returns the detail message string. + + + + + Parses an XML file that declares Jobs and their schedules (Triggers). + + + + The xml document must conform to the format defined in "job_scheduling_data_2_0.xsd" + + + + After creating an instance of this class, you should call one of the + functions, after which you may call the ScheduledJobs() + function to get a handle to the defined Jobs and Triggers, which can then be + scheduled with the . Alternatively, you could call + the function to do all of this + in one step. + + + + The same instance can be used again and again, with the list of defined Jobs + being cleared each time you call a method, + however a single instance is not thread-safe. + + + Chris Bonham + James House + Marko Lahma (.NET) + + + + Constructor for XMLSchedulingDataProcessor. + + + + + Process the xml file in the default location (a file named + "quartz_jobs.xml" in the current working directory). + + + + + Process the xml file named . + + meta data file name. + + + + Process the xmlfile named with the given system + ID. + + Name of the file. + The system id. + + + + Process the xmlfile named with the given system + ID. + + The stream. + The system id. + + + + Process the xml file in the default location, and schedule all of the jobs defined within it. + + Note that we will set overWriteExistingJobs after the default xml is parsed. + + + + + + Process the xml file in the default location, and schedule all of the + jobs defined within it. + + + + + Process the xml file in the given location, and schedule all of the + jobs defined within it. + + meta data file name. + The scheduler. + + + + Process the xml file in the given location, and schedule all of the + jobs defined within it. + + Name of the file. + The system id. + The sched. + + + + Schedules the given sets of jobs and triggers. + + The sched. + + + + Adds a detected validation exception. + + The exception. + + + + Resets the the number of detected validation exceptions. + + + + + Throws a ValidationException if the number of validationExceptions + detected is greater than zero. + + + DTD validation exception. + + + + + Whether the existing scheduling data (with same identifiers) will be + overwritten. + + + If false, and is not false, and jobs or + triggers with the same names already exist as those in the file, an + error will occur. + + + + + + If true (and is false) then any + job/triggers encountered in this file that have names that already exist + in the scheduler will be ignored, and no error will be produced. + + + + + + Gets the log. + + The log. + + + + Helper class to map constant names to their values. + + + + + CalendarIntervalScheduleBuilder is a + that defines calendar time (day, week, month, year) interval-based + schedules for Triggers. + + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + Client code can then use the DSL to write code such as this: + + JobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + Trigger trigger = TriggerBuilder.Create() + .WithIdentity("myTrigger", "myTriggerGroup") + .WithSimpleSchedule(x => x + .WithIntervalInHours(1) + .RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + + + + Base class for implementors. + + + + + + Schedule builders offer fluent interface and are responsible for creating schedules. + + + + + + + + + Build the actual Trigger -- NOT intended to be invoked by end users, + but will rather be invoked by a TriggerBuilder which this + ScheduleBuilder is given to. + + + + + + Build the actual Trigger -- NOT intended to be invoked by end users, + but will rather be invoked by a TriggerBuilder which this + ScheduleBuilder is given to. + + + + + + Create a CalendarIntervalScheduleBuilder. + + + + + + Build the actual Trigger -- NOT intended to be invoked by end users, + but will rather be invoked by a TriggerBuilder which this + ScheduleBuilder is given to. + + + + + + Specify the time unit and interval for the Trigger to be produced. + + + + the interval at which the trigger should repeat. + the time unit (IntervalUnit) of the interval. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.SECOND that the produced + Trigger will repeat at. + + + + the number of seconds at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.MINUTE that the produced + Trigger will repeat at. + + + + the number of minutes at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.HOUR that the produced + Trigger will repeat at. + + + + the number of hours at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.DAY that the produced + Trigger will repeat at. + + + + the number of days at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.WEEK that the produced + Trigger will repeat at. + + + + the number of weeks at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.MONTH that the produced + Trigger will repeat at. + + + + the number of months at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.YEAR that the produced + Trigger will repeat at. + + + + the number of years at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CronScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CalendarIntervalScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CalendarIntervalScheduleBuilder + + + + + Extension methods that attach to . + + + + + Provides a parser and evaluator for unix-like cron expressions. Cron + expressions provide the ability to specify complex time combinations such as + "At 8:00am every Monday through Friday" or "At 1:30am every + last Friday of the month". + + + + Cron expressions are comprised of 6 required fields and one optional field + separated by white space. The fields respectively are described as follows: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field Name Allowed Values Allowed Special Characters
Seconds 0-59 , - /// /
Minutes 0-59 , - /// /
Hours 0-23 , - /// /
Day-of-month 1-31 , - /// ? / L W C
Month 1-12 or JAN-DEC , - /// /
Day-of-Week 1-7 or SUN-SAT , - /// ? / L #
Year (Optional) empty, 1970-2199 , - /// /
+ + The '*' character is used to specify all values. For example, "*" + in the minute field means "every minute". + + + The '?' character is allowed for the day-of-month and day-of-week fields. It + is used to specify 'no specific value'. This is useful when you need to + specify something in one of the two fields, but not the other. + + + The '-' character is used to specify ranges For example "10-12" in + the hour field means "the hours 10, 11 and 12". + + + The ',' character is used to specify additional values. For example + "MON,WED,FRI" in the day-of-week field means "the days Monday, + Wednesday, and Friday". + + + The '/' character is used to specify increments. For example "0/15" + in the seconds field means "the seconds 0, 15, 30, and 45". And + "5/15" in the seconds field means "the seconds 5, 20, 35, and + 50". Specifying '*' before the '/' is equivalent to specifying 0 is + the value to start with. Essentially, for each field in the expression, there + is a set of numbers that can be turned on or off. For seconds and minutes, + the numbers range from 0 to 59. For hours 0 to 23, for days of the month 0 to + 31, and for months 1 to 12. The "/" character simply helps you turn + on every "nth" value in the given set. Thus "7/6" in the + month field only turns on month "7", it does NOT mean every 6th + month, please note that subtlety. + + + The 'L' character is allowed for the day-of-month and day-of-week fields. + This character is short-hand for "last", but it has different + meaning in each of the two fields. For example, the value "L" in + the day-of-month field means "the last day of the month" - day 31 + for January, day 28 for February on non-leap years. If used in the + day-of-week field by itself, it simply means "7" or + "SAT". But if used in the day-of-week field after another value, it + means "the last xxx day of the month" - for example "6L" + means "the last friday of the month". You can also specify an offset + from the last day of the month, such as "L-3" which would mean the third-to-last + day of the calendar month. When using the 'L' option, it is important not to + specify lists, or ranges of values, as you'll get confusing/unexpected results. + + + The 'W' character is allowed for the day-of-month field. This character + is used to specify the weekday (Monday-Friday) nearest the given day. As an + example, if you were to specify "15W" as the value for the + day-of-month field, the meaning is: "the nearest weekday to the 15th of + the month". So if the 15th is a Saturday, the trigger will fire on + Friday the 14th. If the 15th is a Sunday, the trigger will fire on Monday the + 16th. If the 15th is a Tuesday, then it will fire on Tuesday the 15th. + However if you specify "1W" as the value for day-of-month, and the + 1st is a Saturday, the trigger will fire on Monday the 3rd, as it will not + 'jump' over the boundary of a month's days. The 'W' character can only be + specified when the day-of-month is a single day, not a range or list of days. + + + The 'L' and 'W' characters can also be combined for the day-of-month + expression to yield 'LW', which translates to "last weekday of the + month". + + + The '#' character is allowed for the day-of-week field. This character is + used to specify "the nth" XXX day of the month. For example, the + value of "6#3" in the day-of-week field means the third Friday of + the month (day 6 = Friday and "#3" = the 3rd one in the month). + Other examples: "2#1" = the first Monday of the month and + "4#5" = the fifth Wednesday of the month. Note that if you specify + "#5" and there is not 5 of the given day-of-week in the month, then + no firing will occur that month. If the '#' character is used, there can + only be one expression in the day-of-week field ("3#1,6#3" is + not valid, since there are two expressions). + + + + + + The legal characters and the names of months and days of the week are not + case sensitive. + + + NOTES: +
    +
  • Support for specifying both a day-of-week and a day-of-month value is + not complete (you'll need to use the '?' character in one of these fields). +
  • +
  • Overflowing ranges is supported - that is, having a larger number on + the left hand side than the right. You might do 22-2 to catch 10 o'clock + at night until 2 o'clock in the morning, or you might have NOV-FEB. It is + very important to note that overuse of overflowing ranges creates ranges + that don't make sense and no effort has been made to determine which + interpretation CronExpression chooses. An example would be + "0 0 14-6 ? * FRI-MON".
  • +
+
+
+ Sharada Jambula + James House + Contributions from Mads Henderson + Refactoring from CronTrigger to CronExpression by Aaron Craven + Marko Lahma (.NET) +
+ + + Field specification for second. + + + + + Field specification for minute. + + + + + Field specification for hour. + + + + + Field specification for day of month. + + + + + Field specification for month. + + + + + Field specification for day of week. + + + + + Field specification for year. + + + + + Field specification for all wildcard value '*'. + + + + + Field specification for not specified value '?'. + + + + + Field specification for wildcard '*'. + + + + + Field specification for no specification at all '?'. + + + + + Seconds. + + + + + minutes. + + + + + Hours. + + + + + Days of month. + + + + + Months. + + + + + Days of week. + + + + + Years. + + + + + Last day of week. + + + + + Nth day of week. + + + + + Last day of month. + + + + + Nearest weekday. + + + + + Calendar day of week. + + + + + Calendar day of month. + + + + + Expression parsed. + + + + + Constructs a new based on the specified + parameter. + + + String representation of the cron expression the new object should represent + + + + + + Indicates whether the given date satisfies the cron expression. + + + Note that milliseconds are ignored, so two Dates falling on different milliseconds + of the same second will always have the same result here. + + The date to evaluate. + a boolean indicating whether the given date satisfies the cron expression + + + + Returns the next date/time after the given date/time which + satisfies the cron expression. + + the date/time at which to begin the search for the next valid date/time + the next valid date/time + + + + Returns the next date/time after the given date/time which does + not satisfy the expression. + + the date/time at which to begin the search for the next invalid date/time + the next valid date/time + + + + Returns the string representation of the + + The string representation of the + + + + Indicates whether the specified cron expression can be parsed into a + valid cron expression + + the expression to evaluate + a boolean indicating whether the given expression is a valid cron + expression + + + + Builds the expression. + + The expression. + + + + Stores the expression values. + + The position. + The string to traverse. + The type of value. + + + + + Checks the next value. + + The position. + The string to check. + The value. + The type to search. + + + + + Gets the expression summary. + + + + + + Gets the expression set summary. + + The data. + + + + + Skips the white space. + + The i. + The s. + + + + + Finds the next white space. + + The i. + The s. + + + + + Adds to set. + + The val. + The end. + The incr. + The type. + + + + Gets the set of given type. + + The type of set to get. + + + + + Gets the value. + + The v. + The s. + The i. + + + + + Gets the numeric value from string. + + The string to parse from. + The i. + + + + + Gets the month number. + + The string to map with. + + + + + Gets the day of week number. + + The s. + + + + + Gets the time from given time parts. + + The seconds. + The minutes. + The hours. + The day of month. + The month. + + + + + Gets the next fire time after the given time. + + The UTC time to start searching from. + + + + + Creates the date time without milliseconds. + + The time. + + + + + Advance the calendar to the particular hour paying particular attention + to daylight saving problems. + + The date. + The hour. + + + + + Gets the time before. + + The end time. + + + + + NOT YET IMPLEMENTED: Returns the final time that the + will match. + + + + + + Determines whether given year is a leap year. + + The year. + + true if the specified year is a leap year; otherwise, false. + + + + + Gets the last day of month. + + The month num. + The year. + + + + + Creates a new object that is a copy of the current instance. + + + A new object that is a copy of this instance. + + + + + Determines whether the specified is equal to the current . + + + true if the specified is equal to the current ; otherwise, false. + + The to compare with the current . + + + + Determines whether the specified is equal to the current . + + + true if the specified is equal to the current ; otherwise, false. + + The to compare with the current . + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + 2 + + + + Sets or gets the time zone for which the of this + will be resolved. + + + + + Gets the cron expression string. + + The cron expression string. + + + + Helper class for cron expression handling. + + + + + The value. + + + + + The position. + + + + + CronScheduleBuilder is a that defines + -based schedules for s. + + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + + Client code can then use the DSL to write code such as this: + + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + ITrigger trigger = newTrigger() + .WithIdentity(triggerKey("myTrigger", "myTriggerGroup")) + .WithSimpleSchedule(x => x.WithIntervalInHours(1).RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + + + + + Build the actual Trigger -- NOT intended to be invoked by end users, + but will rather be invoked by a TriggerBuilder which this + ScheduleBuilder is given to. + + + + + + Create a CronScheduleBuilder with the given cron-expression - which + is presumed to b e valid cron expression (and hence only a RuntimeException + will be thrown if it is not). + + + + the cron expression to base the schedule on. + the new CronScheduleBuilder + + + + + Create a CronScheduleBuilder with the given cron-expression string - which + may not be a valid cron expression (and hence a ParseException will be thrown + f it is not). + + the cron expression string to base the schedule on + the new CronScheduleBuilder + + + + + Create a CronScheduleBuilder with the given cron-expression. + + the cron expression to base the schedule on. + the new CronScheduleBuilder + + + + + Create a CronScheduleBuilder with a cron-expression that sets the + schedule to fire every day at the given time (hour and minute). + + + + the hour of day to fire + the minute of the given hour to fire + the new CronScheduleBuilder + + + + + Create a CronScheduleBuilder with a cron-expression that sets the + schedule to fire at the given day at the given time (hour and minute) on the given days of the week. + + the hour of day to fire + the minute of the given hour to fire + the days of the week to fire + the new CronScheduleBuilder + + + + + Create a CronScheduleBuilder with a cron-expression that sets the + schedule to fire one per week on the given day at the given time + (hour and minute). + + + + the day of the week to fire + the hour of day to fire + the minute of the given hour to fire + the new CronScheduleBuilder + + + + + Create a CronScheduleBuilder with a cron-expression that sets the + schedule to fire one per month on the given day of month at the given + time (hour and minute). + + + + the day of the month to fire + the hour of day to fire + the minute of the given hour to fire + the new CronScheduleBuilder + + + + + The in which to base the schedule. + + + + the time-zone for the schedule. + the updated CronScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CronScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CronScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CronScheduleBuilder + + + + + Extension methods that attach to . + + + + + A implementation that build schedule for DailyTimeIntervalTrigger. + + + + This builder provide an extra convenient method for you to set the trigger's EndTimeOfDay. You may + use either endingDailyAt() or EndingDailyAfterCount() to set the value. The later will auto calculate + your EndTimeOfDay by using the interval, IntervalUnit and StartTimeOfDay to perform the calculation. + + + When using EndingDailyAfterCount(), you should note that it is used to calculating EndTimeOfDay. So + if your startTime on the first day is already pass by a time that would not add up to the count you + expected, until the next day comes. Remember that DailyTimeIntervalTrigger will use StartTimeOfDay + and endTimeOfDay as fresh per each day! + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + Client code can then use the DSL to write code such as this: + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + + ITrigger trigger = TriggerBuilder.Create() + .WithIdentity(triggerKey("myTrigger", "myTriggerGroup")) + .WithDailyTimeIntervalSchedule(x => + x.WithIntervalInMinutes(15) + .StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(8, 0)) + .Build(); + + scheduler.scheduleJob(job, trigger); + + + James House + Zemian Deng saltnlight5@gmail.com + Nuno Maia (.NET) + + + + A set of all days of the week. + + + The set contains all values between and + + + + + A set of the business days of the week (for locales similar to the USA). + + + The set contains all values between and + + + + + A set of the weekend days of the week (for locales similar to the USA). + + + The set contains and + + + + + Create a DailyTimeIntervalScheduleBuilder + + The new DailyTimeIntervalScheduleBuilder + + + + Build the actual Trigger -- NOT intended to be invoked by end users, + but will rather be invoked by a TriggerBuilder which this + ScheduleBuilder is given to. + + + + + + Specify the time unit and interval for the Trigger to be produced. + + + + the interval at which the trigger should repeat. + the time unit (IntervalUnit) of the interval. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.Second that the produced + Trigger will repeat at. + + The number of seconds at which the trigger should repeat. + the updated DailyTimeIntervalScheduleBuilder> + + + + + + Specify an interval in the IntervalUnit.Minute that the produced + Trigger will repeat at. + + The number of minutes at which the trigger should repeat. + the updated DailyTimeIntervalScheduleBuilder> + + + + + + Specify an interval in the IntervalUnit.Hour that the produced + Trigger will repeat at. + + The number of hours at which the trigger should repeat. + the updated DailyTimeIntervalScheduleBuilder> + + + + + + Set the trigger to fire on the given days of the week. + + a Set containing the integers representing the days of the week, defined by - . + + the updated DailyTimeIntervalScheduleBuilder + + + + Set the trigger to fire on the given days of the week. + + a variable length list of week days representing the days of the week + the updated DailyTimeIntervalScheduleBuilder + + + + Set the trigger to fire on the days from Monday through Friday. + + the updated DailyTimeIntervalScheduleBuilder + + + + Set the trigger to fire on the days Saturday and Sunday. + + the updated DailyTimeIntervalScheduleBuilder + + + + Set the trigger to fire on all days of the week. + + the updated DailyTimeIntervalScheduleBuilder + + + + Set the trigger to begin firing each day at the given time. + + + the updated DailyTimeIntervalScheduleBuilder + + + + Set the startTimeOfDay for this trigger to end firing each day at the given time. + + + the updated DailyTimeIntervalScheduleBuilder + + + + Calculate and set the EndTimeOfDay using count, interval and StarTimeOfDay. This means + that these must be set before this method is call. + + + the updated DailyTimeIntervalScheduleBuilder + + + + If the Trigger misfires, use the + instruction. + + the updated DailyTimeIntervalScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + the updated DailyTimeIntervalScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + the updated DailyTimeIntervalScheduleBuilder + + + + + Set number of times for interval to repeat. + + + Note: if you want total count = 1 (at start time) + repeatCount + + + + + + + Extension methods that attach to . + + + + + DateBuilder is used to conveniently create + instances that meet particular criteria. + + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + Client code can then use the DSL to write code such as this: + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + ITrigger trigger = newTrigger() + .WithIdentity(triggerKey("myTrigger", "myTriggerGroup")) + .WithSimpleSchedule(x => x + .WithIntervalInHours(1) + .RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minutes)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + Create a DateBuilder, with initial settings for the current date + and time in the system default timezone. + + + + + Create a DateBuilder, with initial settings for the current date and time in the given timezone. + + + + + + Create a DateBuilder, with initial settings for the current date and time in the system default timezone. + + + + + + Create a DateBuilder, with initial settings for the current date and time in the given timezone. + + Time zone to use. + + + + + Build the defined by this builder instance. + + New date time based on builder parameters. + + + + Set the hour (0-23) for the Date that will be built by this builder. + + + + + + + Set the minute (0-59) for the Date that will be built by this builder. + + + + + + + Set the second (0-59) for the Date that will be built by this builder, and truncate the milliseconds to 000. + + + + + + + Set the day of month (1-31) for the Date that will be built by this builder. + + + + + + + Set the month (1-12) for the Date that will be built by this builder. + + + + + + + Set the year for the Date that will be built by this builder. + + + + + + + Set the TimeZoneInfo for the Date that will be built by this builder (if "null", system default will be used) + + + + + + + Get a object that represents the given time, on + tomorrow's date. + + + + + + + + + Get a object that represents the given time, on + today's date (equivalent to . + + + + + + + + + Get a object that represents the given time, on today's date. + + The value (0-59) to give the seconds field of the date + The value (0-59) to give the minutes field of the date + The value (0-23) to give the hours field of the date + the new date + + + + Get a object that represents the given time, on the + given date. + + The value (0-59) to give the seconds field of the date + The value (0-59) to give the minutes field of the date + The value (0-23) to give the hours field of the date + The value (1-31) to give the day of month field of the date + The value (1-12) to give the month field of the date + the new date + + + + Get a object that represents the given time, on the + given date. + + + + The value (0-59) to give the seconds field of the date + The value (0-59) to give the minutes field of the date + The value (0-23) to give the hours field of the date + The value (1-31) to give the day of month field of the date + The value (1-12) to give the month field of the date + The value (1970-2099) to give the year field of the date + the new date + + + + Returns a date that is rounded to the next even hour after the current time. + + + For example a current time of 08:13:54 would result in a date + with the time of 09:00:00. If the date's time is in the 23rd hour, the + date's 'day' will be promoted, and the time will be set to 00:00:00. + + the new rounded date + + + + Returns a date that is rounded to the next even hour above the given date. + + + For example an input date with a time of 08:13:54 would result in a date + with the time of 09:00:00. If the date's time is in the 23rd hour, the + date's 'day' will be promoted, and the time will be set to 00:00:00. + + the Date to round, if the current time will + be used + the new rounded date + + + + Returns a date that is rounded to the previous even hour below the given date. + + + For example an input date with a time of 08:13:54 would result in a date + with the time of 08:00:00. + + the Date to round, if the current time will + be used + the new rounded date + + + + + Returns a date that is rounded to the next even minute after the current time. + + + + For example a current time of 08:13:54 would result in a date + with the time of 08:14:00. If the date's time is in the 59th minute, + then the hour (and possibly the day) will be promoted. + + the new rounded date + + + + Returns a date that is rounded to the next even minute above the given date. + + + For example an input date with a time of 08:13:54 would result in a date + with the time of 08:14:00. If the date's time is in the 59th minute, + then the hour (and possibly the day) will be promoted. + + The Date to round, if the current time will be used + The new rounded date + + + + Returns a date that is rounded to the previous even minute below the given date. + + + For example an input date with a time of 08:13:54 would result in a date + with the time of 08:13:00. + + the Date to round, if the current time will + be used + the new rounded date + + + + Returns a date that is rounded to the next even second after the current time. + + the new rounded date + + + + Returns a date that is rounded to the next even second above the given date. + + + the Date to round, if the current time will + be used + the new rounded date + + + + Returns a date that is rounded to the previous even second below the + given date. + + + + For example an input date with a time of 08:13:54.341 would result in a + date with the time of 08:13:00.000. + + + + the Date to round, if the current time will + be used + the new rounded date + + + + Returns a date that is rounded to the next even multiple of the given + minute. + + + + For example an input date with a time of 08:13:54, and an input + minute-base of 5 would result in a date with the time of 08:15:00. The + same input date with an input minute-base of 10 would result in a date + with the time of 08:20:00. But a date with the time 08:53:31 and an + input minute-base of 45 would result in 09:00:00, because the even-hour + is the next 'base' for 45-minute intervals. + + + More examples: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input 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 to round, if the current time will + be used + the base-second to set the time on + the new rounded date + + + + + An attribute that marks a class as one that must not have multiple + instances executed concurrently (where instance is based-upon a + definition - or in other words based upon a . + + + This can be used in lieu of implementing the StatefulJob marker interface that + was used prior to Quartz 2.0 + + + James House + Marko Lahma (.NET) + + + + The interface to be implemented by s that provide a + mechanism for having their execution interrupted. It is NOT a requirement + for jobs to implement this interface - in fact, for most people, none of + their jobs will. + + + + The means of actually interrupting the Job must be implemented within the + itself (the method of this + interface is simply a means for the scheduler to inform the + that a request has been made for it to be interrupted). The mechanism that + your jobs use to interrupt themselves might vary between implementations. + However the principle idea in any implementation should be to have the + body of the job's periodically check some flag to + see if an interruption has been requested, and if the flag is set, somehow + abort the performance of the rest of the job's work. An example of + interrupting a job can be found in the java source for the class + . It is legal to use + some combination of and + synchronization within and + in order to have the method block until the + signals that it has noticed the set flag. + + + + If the Job performs some form of blocking I/O or similar functions, you may + want to consider having the method store a + reference to the calling as a member variable. Then the + implementation of this interfaces method can call + on that Thread. Before attempting this, make + sure that you fully understand what + does and doesn't do. Also make sure that you clear the Job's member + reference to the Thread when the Execute(..) method exits (preferably in a + block. + + + + + + James House + Marko Lahma (.NET) + + + + Called by the when a user + interrupts the . + + void (nothing) if job interrupt is successful. + + + + Supported interval units used by . + + + + + A marker interface for s that + wish to have their state maintained between executions. + + + instances follow slightly different rules from + regular instances. The key difference is that their + associated is re-persisted after every + execution of the job, thus preserving state for the next execution. The + other difference is that stateful jobs are not allowed to Execute + concurrently, which means new triggers that occur before the completion of + the method will be delayed. + + + + + + + + James House + Marko Lahma (.NET) + + + + JobBuilder is used to instantiate s. + + + + The builder will always try to keep itself in a valid state, with + reasonable defaults set for calling Build() at any point. For instance + if you do not invoke WithIdentity(..) a job name will be generated + for you. + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + + Client code can then use the DSL to write code such as this: + + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + + ITrigger trigger = TriggerBuilder.Create() + .WithIdentity("myTrigger", "myTriggerGroup") + .WithSimpleSchedule(x => x.WithIntervalInHours(1).RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + + scheduler.scheduleJob(job, trigger); + + + + + + + + + Create a JobBuilder with which to define a . + + a new JobBuilder + + + + Create a JobBuilder with which to define a , + and set the class name of the job to be executed. + + a new JobBuilder + + + + Create a JobBuilder with which to define a , + and set the class name of the job to be executed. + + a new JobBuilder + + + + Produce the instance defined by this JobBuilder. + + the defined JobDetail. + + + + Use a with the given name and default group to + identify the JobDetail. + + + If none of the 'withIdentity' methods are set on the JobBuilder, + then a random, unique JobKey will be generated. + + the name element for the Job's JobKey + the updated JobBuilder + + + + + + Use a with the given name and group to + identify the JobDetail. + + + If none of the 'withIdentity' methods are set on the JobBuilder, + then a random, unique JobKey will be generated. + + the name element for the Job's JobKey + the group element for the Job's JobKey + the updated JobBuilder + + + + + + Use a to identify the JobDetail. + + + If none of the 'withIdentity' methods are set on the JobBuilder, + then a random, unique JobKey will be generated. + + the Job's JobKey + the updated JobBuilder + + + + + + Set the given (human-meaningful) description of the Job. + + the description for the Job + the updated JobBuilder + + + + + Set the class which will be instantiated and executed when a + Trigger fires that is associated with this JobDetail. + + the updated JobBuilder + + + + + Set the class which will be instantiated and executed when a + Trigger fires that is associated with this JobDetail. + + the updated JobBuilder + + + + + Instructs the whether or not the job + should be re-executed if a 'recovery' or 'fail-over' situation is + encountered. + + + If not explicitly set, the default value is . + + the updated JobBuilder + + + + + Instructs the whether or not the job + should be re-executed if a 'recovery' or 'fail-over' situation is + encountered. + + + If not explicitly set, the default value is . + + + the updated JobBuilder + + + + Whether or not the job should remain stored after it is + orphaned (no s point to it). + + + If not explicitly set, the default value is . + + the updated JobBuilder + + + + + Whether or not the job should remain stored after it is + orphaned (no s point to it). + + + If not explicitly set, the default value is . + + the value to set for the durability property. + the updated JobBuilder + + + + + Add the given key-value pair to the JobDetail's . + + the updated JobBuilder + + + + + Add the given key-value pair to the JobDetail's . + + the updated JobBuilder + + + + + Add the given key-value pair to the JobDetail's . + + the updated JobBuilder + + + + + Add the given key-value pair to the JobDetail's . + + the updated JobBuilder + + + + + Add the given key-value pair to the JobDetail's . + + the updated JobBuilder + + + + + Add the given key-value pair to the JobDetail's . + + the updated JobBuilder + + + + + Set the JobDetail's , adding any values to it + that were already set on this JobBuilder using any of the + other 'usingJobData' methods. + + the updated JobBuilder + + + + + Holds state information for instances. + + + instances are stored once when the + is added to a scheduler. They are also re-persisted after every execution of + instances that have present. + + instances can also be stored with a + . This can be useful in the case where you have a Job + that is stored in the scheduler for regular/repeated use by multiple + Triggers, yet with each independent triggering, you want to supply the + Job with different data inputs. + + + The passed to a Job at execution time + also contains a convenience that is the result + of merging the contents of the trigger's JobDataMap (if any) over the + Job's JobDataMap (if any). + + + + + + + James House + Marko Lahma (.NET) + + + + Create an empty . + + + + + Create a with the given data. + + + + + Create a with the given data. + + + + + Serialization constructor. + + + + + + + Adds the given value as a string version to the + 's data map. + + + + + Adds the given value as a string version to the + 's data map. + + + + + Adds the given value as a string version to the + 's data map. + + + + + Adds the given value as a string version to the + 's data map. + + + + + Adds the given value as a string version to the + 's data map. + + + + + Adds the given value as a string version to the + 's data map. + + + + + 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. + + + + + An exception that can be thrown by a + to indicate to the Quartz that an error + occurred while executing, and whether or not the requests + to be re-fired immediately (using the same , + or whether it wants to be unscheduled. + + + Note that if the flag for 'refire immediately' is set, the flags for + unscheduling the Job are ignored. + + + + + James House + Marko Lahma (.NET) + + + + Create a 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. + + + + Uniquely identifies a . + + + Keys are composed of both a name and group, and the name must be unique + within the group. If only a group is specified then the default group + name will be used. + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + Client code can then use the DSL to write code such as this: + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + ITrigger trigger = TriggerBuilder.Create() + .WithIdentity("myTrigger", "myTriggerGroup") + .WithSimpleSchedule(x => x + .WithIntervalInHours(1) + .RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + Misfire instructions. + + Marko Lahma (.NET) + + + + Instruction not set (yet). + + + + + Use smart policy. + + + + + Instructs the that the + will never be evaluated for a misfire situation, + and that the scheduler will simply try to fire it as soon as it can, + and then update the Trigger as if it had fired at the proper time. + + + NOTE: if a trigger uses this instruction, and it has missed + several of its scheduled firings, then several rapid firings may occur + as the trigger attempt to catch back up to where it would have been. + For example, a SimpleTrigger that fires every 15 seconds which has + misfired for 5 minutes will fire 20 times once it gets the chance to + fire. + + + + + Misfire policy settings for SimpleTrigger. + + + + + Instructs the that upon a mis-fire + situation, the wants to be fired + now by . + + NOTE: This instruction should typically only be used for + 'one-shot' (non-repeating) Triggers. If it is used on a trigger with a + repeat count > 0 then it is equivalent to the instruction + . + + + + + + Instructs the that upon a mis-fire + situation, the wants to be + re-scheduled to 'now' (even if the associated + excludes 'now') with the repeat count left as-is. This does obey the + end-time however, so if 'now' is after the + end-time the will not fire again. + + + + NOTE: Use of this instruction causes the trigger to 'forget' + the start-time and repeat-count that it was originally setup with (this + is only an issue if you for some reason wanted to be able to tell what + the original values were at some later time). + + + + + + Instructs the that upon a mis-fire + situation, the wants to be + re-scheduled to 'now' (even if the associated + excludes 'now') with the repeat count set to what it would be, if it had + not missed any firings. This does obey the end-time + however, so if 'now' is after the end-time the will + not fire again. + + + NOTE: Use of this instruction causes the trigger to 'forget' + the start-time and repeat-count that it was originally setup with. + Instead, the repeat count on the trigger will be changed to whatever + the remaining repeat count is (this is only an issue if you for some + reason wanted to be able to tell what the original values were at some + later time). + + + + NOTE: This instruction could cause the + to go to the 'COMPLETE' state after firing 'now', if all the + repeat-fire-times where missed. + + + + + + Instructs the that upon a mis-fire + situation, the wants to be + re-scheduled to the next scheduled time after 'now' - taking into + account any associated , and with the + repeat count set to what it would be, if it had not missed any firings. + + + NOTE/WARNING: This instruction could cause the + to go directly to the 'COMPLETE' state if all fire-times where missed. + + + + + Instructs the that upon a mis-fire + situation, the wants to be + re-scheduled to the next scheduled time after 'now' - taking into + account any associated , and with the + repeat count left unchanged. + + + + NOTE/WARNING: This instruction could cause the + to go directly to the 'COMPLETE' state if all the end-time of the trigger + has arrived. + + + + + + misfire instructions for CronTrigger + + + + + Instructs the that upon a mis-fire + situation, the wants to be fired now + by . + + + + + Instructs the that upon a mis-fire + situation, the wants to have it's + next-fire-time updated to the next time in the schedule after the + current time (taking into account any associated , + but it does not want to be fired now. + + + + + misfire instructions for 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. + + + + + Misfire instructions for DateIntervalTrigger + + + + + Instructs the that upon a mis-fire + situation, the wants to be + fired now by . + + + + + Instructs the that upon a mis-fire + situation, the wants to have it's + next-fire-time updated to the next time in the schedule after the + current time (taking into account any associated , + but it does not want to be fired now. + + + + + Misfire instructions for DailyTimeIntervalTrigger + + + + + Instructs the that upon a mis-fire + situation, the wants to be + fired now by . + + + + + Instructs the that upon a mis-fire + situation, the wants to have it's + next-fire-time updated to the next time in the schedule after the + current time (taking into account any associated , + but it does not want to be fired now. + + + + + 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 + Marko Lahma (.NET) + + + + 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 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 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 + + + + + Get a that is configured to produce a + schedule identical to this trigger's schedule. + + + + + + + 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 + Marko Lahma (.NET) + + + + Create a with the given + message. + + + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + Create a and auto-generate a + message using the name/group from the given . + + + + The message will read:
"Unable to store Job with name: '__' and + group: '__', because one already exists with this identification." +
+
+
+ + + Create a and auto-generate a + message using the name/group from the given . + + + + The message will read:
"Unable to store Trigger with name: '__' and + group: '__', because one already exists with this identification." +
+
+
+ + + An attribute that marks a class as one that makes updates to its + during execution, and wishes the scheduler to re-store the + when execution completes. + + + + Jobs that are marked with this annotation should also seriously consider + using the attribute, to avoid data + storage race conditions with concurrently executing job instances. + + + This can be used in lieu of implementing the StatefulJob marker interface that + was used prior to Quartz 2.0 + + + + James House + Marko Lahma (.NET) + + + + An exception that is thrown to indicate that there is a misconfiguration of + the - or one of the components it + configures. + + James House + Marko Lahma (.NET) + + + + Create a with the given message. + + + + + Create a with the given message + and cause. + + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + Scheduler constants. + + Marko Lahma (.NET) + + + + A (possibly) useful constant that can be used for specifying the group + that and instances belong to. + + + + + A constant group name used internally by the + scheduler - clients should not use the value of this constant + ("RECOVERING_JOBS") for 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 context/environment data that can be made available to Jobs as they + are executed. + + + Future versions of Quartz may make distinctions on how it propagates + data in between instances of proxies to a + single scheduler instance - i.e. if Quartz is being used via WCF of Remoting. + + + James House + Marko Lahma (.NET) + + + + Create an empty . + + + + + Create a with the given data. + + + + + Serialization constructor. + + + + + + + Instructs Scheduler what to do with a trigger and job. + + Marko Lahma (.NET) + + + + Instructs the that the + has no further instructions. + + + + + Instructs the that the + wants the to re-Execute + immediately. If not in a 'RECOVERING' or 'FAILED_OVER' situation, the + execution context will be re-used (giving the the + ability to 'see' anything placed in the context by its last execution). + + + + + Instructs the that the + should be put in the state. + + + + + Instructs the that the + wants itself deleted. + + + + + Instructs the that all + s referencing the same as + this one should be put in the state. + + + + + Instructs the that all + s referencing the same as + this one should be put in the state. + + + + + Instructs the that the + should be put in the state. + + + + + Describes the settings and capabilities of a given + instance. + + James House + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + Name of the scheduler. + The scheduler instance. + The scheduler type. + if set to true, scheduler is a remote scheduler. + if set to true, scheduler is started. + if set to true, scheduler is in standby mode. + if set to true, scheduler is shutdown. + The start time. + The number of jobs executed. + The job store type. + if set to true, job store is persistent. + if set to true, the job store is clustered + The thread pool type. + Size of the thread pool. + The version string. + + + + Returns a formatted (human readable) string describing all the 's + meta-data values. + + + + The format of the string looks something like this: +
+            Quartz Scheduler 'SchedulerName' with instanceId 'SchedulerInstanceId' Scheduler class: 'Quartz.Impl.StdScheduler' - running locally. Running since: '11:33am on Jul 19, 2002' Not currently paused. Number of Triggers fired: '123' Using thread pool 'Quartz.Simpl.SimpleThreadPool' - with '8' threads Using job-store 'Quartz.Impl.JobStore' - which supports persistence.
+            
+
+
+
+ + + Return a simple string representation of this object. + + + + + Returns the name of the . + + + + + Returns the instance Id of the . + + + + + Returns the class-name of the instance. + + + + + Returns whether the is being used remotely (via remoting). + + + + + Returns whether the scheduler has been started. + + + Note: may return even if + returns . + + + + + Reports whether the is in standby mode. + + + Note: may return even if + returns . + + + + + Reports whether the has been Shutdown. + + + + + Returns the class-name of the instance that is + being used by the . + + + + + Returns the type name of the instance that is + being used by the . + + + + + Returns the number of threads currently in the 's + + + + + Returns the version of Quartz that is running. + + + + + Returns the at which the Scheduler started running. + + null if the scheduler has not been started. + + + + + Returns the number of jobs executed since the + started.. + + + + + Returns whether or not the 's + instance supports persistence. + + + + + Returns whether or not the 's + is clustered. + + + + + SimpleScheduleBuilder is a + that defines strict/literal interval-based schedules for + s. + + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + Client code can then use the DSL to write code such as this: + + JobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + Trigger trigger = TriggerBuilder.Create() + .WithIdentity(triggerKey("myTrigger", "myTriggerGroup")) + .WithSimpleSchedule(x => x + .WithIntervalInHours(1) + .RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + + + + Create a SimpleScheduleBuilder. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat forever with a 1 minute interval. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat forever with an interval + of the given number of minutes. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat forever with a 1 second interval. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat forever with an interval + of the given number of seconds. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat forever with a 1 hour interval. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat forever with an interval + of the given number of hours. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat the given number + of times - 1 with a 1 minute interval. + + + Note: Total count = 1 (at start time) + repeat count + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat the given number + of times - 1 with an interval of the given number of minutes. + + + Note: Total count = 1 (at start time) + repeat count + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat the given number + of times - 1 with a 1 second interval. + + + Note: Total count = 1 (at start time) + repeat count + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat the given number + of times - 1 with an interval of the given number of seconds. + + + Note: Total count = 1 (at start time) + repeat count + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat the given number + of times - 1 with a 1 hour interval. + + + Note: Total count = 1 (at start time) + repeat count + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat the given number + of times - 1 with an interval of the given number of hours. + + + Note: Total count = 1 (at start time) + repeat count + + the new SimpleScheduleBuilder + + + + Build the actual Trigger -- NOT intended to be invoked by end users, + but will rather be invoked by a TriggerBuilder which this + ScheduleBuilder is given to. + + + + + + + + Specify a repeat interval in milliseconds. + + + + the time span at which the trigger should repeat. + the updated SimpleScheduleBuilder + + + + + + Specify a repeat interval in seconds. + + + + the time span at which the trigger should repeat. + the updated SimpleScheduleBuilder + + + + + + Specify a the number of time the trigger will repeat - total number of + firings will be this number + 1. + + + + the number of seconds at which the trigger should repeat. + the updated SimpleScheduleBuilder + + + + + + Specify that the trigger will repeat indefinitely. + + + + the updated SimpleScheduleBuilder + + + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CronScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated SimpleScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated SimpleScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated SimpleScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated SimpleScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated SimpleScheduleBuilder + + + + + Extension methods that attach to . + + + + + A time source for Quartz.NET that returns the current time. + Original idea by Ayende Rahien: + http://ayende.com/Blog/archive/2008/07/07/Dealing-with-time-in-tests.aspx + + + + + Return current UTC time via . Allows easier unit testing. + + + + + Return current time in current time zone via . Allows easier unit testing. + + + + + Represents a time in hour, minute and second of any given day. + + + The hour is in 24-hour convention, meaning values are from 0 to 23. + + + + + James House + Zemian Deng saltnlight5@gmail.com + Nuno Maia (.NET) + + + + Create a TimeOfDay instance for the given hour, minute and second. + + The hour of day, between 0 and 23. + The minute of the hour, between 0 and 59. + The second of the minute, between 0 and 59. + + + + Create a TimeOfDay instance for the given hour, minute (at the zero second of the minute). + + The hour of day, between 0 and 23. + The minute of the hour, between 0 and 59. + + + + Create a TimeOfDay instance for the given hour, minute and second. + + The hour of day, between 0 and 23. + The minute of the hour, between 0 and 59. + The second of the minute, between 0 and 59. + + + + + Create a TimeOfDay instance for the given hour, minute (at the zero second of the minute).. + + The hour of day, between 0 and 23. + The minute of the hour, between 0 and 59. + The newly instantiated TimeOfDay + + + + Determine with this time of day is before the given time of day. + + + True this time of day is before the given time of day. + + + + Return a date with time of day reset to this object values. The millisecond value will be zero. + + + + + + The hour of the day (between 0 and 23). + + + + + The minute of the hour (between 0 and 59). + + + + + The second of the minute (between 0 and 59). + + + + + Attribute to use with public properties that + can be set with Quartz configuration. Attribute can be used to advice + parsing to use correct type of time span (milliseconds, seconds, minutes, hours) + as it may depend on property. + + Marko Lahma (.NET) + + + + + Initializes a new instance of the class. + + The rule. + + + + Gets the rule. + + The rule. + + + + Possible parse rules for s. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + TriggerBuilder is used to instantiate s. + + + + The builder will always try to keep itself in a valid state, with + reasonable defaults set for calling build() at any point. For instance + if you do not invoke WithSchedule(..) method, a default schedule + of firing once immediately will be used. As another example, if you + do not invoked WithIdentity(..) a trigger name will be generated + for you. + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + + Client code can then use the DSL to write code such as this: + + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + ITrigger trigger = TriggerBuilder.Create() + .WithIdentity("myTrigger", "myTriggerGroup") + .WithSimpleSchedule(x => x + .WithIntervalInHours(1) + .RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + + + Create a new TriggerBuilder with which to define a + specification for a Trigger. + + + + the new TriggerBuilder + + + + Produce the . + + + + a Trigger that meets the specifications of the builder. + + + + Use a with the given name and default group to + identify the Trigger. + + + If none of the 'withIdentity' methods are set on the TriggerBuilder, + then a random, unique TriggerKey will be generated. + + the name element for the Trigger's TriggerKey + the updated TriggerBuilder + + + + + + Use a TriggerKey with the given name and group to + identify the Trigger. + + + If none of the 'withIdentity' methods are set on the TriggerBuilder, + then a random, unique TriggerKey will be generated. + + the name element for the Trigger's TriggerKey + the group element for the Trigger's TriggerKey + the updated TriggerBuilder + + + + + + Use the given TriggerKey to identify the Trigger. + + + If none of the 'withIdentity' methods are set on the TriggerBuilder, + then a random, unique TriggerKey will be generated. + + the TriggerKey for the Trigger to be built + the updated TriggerBuilder + + + + + + Set the given (human-meaningful) description of the Trigger. + + + + the description for the Trigger + the updated TriggerBuilder + + + + + Set the Trigger's priority. When more than one Trigger have the same + fire time, the scheduler will fire the one with the highest priority + first. + + + + the priority for the Trigger + the updated TriggerBuilder + + + + + + Set the name of the that should be applied to this + Trigger's schedule. + + + + the name of the Calendar to reference. + the updated TriggerBuilder + + + + + + Set the time the Trigger should start at - the trigger may or may + not fire at this time - depending upon the schedule configured for + the Trigger. However the Trigger will NOT fire before this time, + regardless of the Trigger's schedule. + + + + the start time for the Trigger. + the updated TriggerBuilder + + + + + + Set the time the Trigger should start at to the current moment - + the trigger may or may not fire at this time - depending upon the + schedule configured for the Trigger. + + + + the updated TriggerBuilder + + + + + Set the time at which the Trigger will no longer fire - even if it's + schedule has remaining repeats. + + + + the end time for the Trigger. If null, the end time is indefinite. + the updated TriggerBuilder + + + + + + Set the that will be used to define the + Trigger's schedule. + + + The particular used will dictate + the concrete type of Trigger that is produced by the TriggerBuilder. + + the SchedulerBuilder to use. + the updated TriggerBuilder + + + + + + + + Set the identity of the Job which should be fired by the produced + Trigger. + + + + the identity of the Job to fire. + the updated TriggerBuilder + + + + + Set the identity of the Job which should be fired by the produced + Trigger - a will be produced with the given + name and default group. + + + + the name of the job (in default group) to fire. + the updated TriggerBuilder + + + + + Set the identity of the Job which should be fired by the produced + Trigger - a will be produced with the given + name and group. + + + + the name of the job to fire. + the group of the job to fire. + the updated TriggerBuilder + + + + + Set the identity of the Job which should be fired by the produced + Trigger, by extracting the JobKey from the given job. + + + + the Job to fire. + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Common constants for triggers. + + + + + The default value for priority. + + + + + Uniquely identifies a . + + + Keys are composed of both a name and group, and the name must be unique + within the group. If only a name is specified then the default group + name will be used. + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + + Client code can then use the DSL to write code such as this: + + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + ITrigger trigger = TriggerBuilder.Create() + .WithIdentity("myTrigger", "myTriggerGroup") + .WithSimpleSchedule(x => x + .WithIntervalInHours(1) + .RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + All trigger states known to Scheduler. + + Marko Lahma (.NET) + + + + Indicates that the is in the "normal" state. + + + + + Indicates that the is in the "paused" state. + + + + + Indicates that the is in the "complete" state. + + + "Complete" indicates that the trigger has not remaining fire-times in + its schedule. + + + + + Indicates that the is in the "error" state. + + + + A arrives at the error state when the scheduler + attempts to fire it, but cannot due to an error creating and executing + its related job. Often this is due to the 's + class not existing in the classpath. + + + + When the trigger is in the error state, the scheduler will make no + attempts to fire it. + + + + + + Indicates that the is in the "blocked" state. + + + A arrives at the blocked state when the job that + it is associated with has a and it is + currently executing. + + + + + + Indicates that the does not exist. + + + + + A Comparator that compares trigger's next fire times, or in other words, + sorts them according to earliest next fire time. If the fire times are + the same, then the triggers are sorted according to priority (highest + value first), if the priorities are the same, then they are sorted + by key. + + + + + Convenience and utility methods for simplifying the construction and + configuration of s and DateTimeOffsetOffsets. + + + + James House + Marko Lahma (.NET) + + + + Returns a list of Dates that are the next fire times of a + . + The input trigger will be cloned before any work is done, so you need + not worry about its state being altered by this method. + + The trigger upon which to do the work + The calendar to apply to the trigger's schedule + The number of next fire times to produce + List of java.util.Date objects + + + + Compute the that is 1 second after the Nth firing of + the given , taking the triger's associated + into consideration. + + + The input trigger will be cloned before any work is done, so you need + not worry about its state being altered by this method. + + The trigger upon which to do the work + The calendar to apply to the trigger's schedule + The number of next fire times to produce + the computed Date, or null if the trigger (as configured) will not fire that many times + + + + Returns a list of Dates that are the next fire times of a + that fall within the given date range. The input trigger will be cloned + before any work is done, so you need not worry about its state being + altered by this method. + + NOTE: if this is a trigger that has previously fired within the given + date range, then firings which have already occurred will not be listed + in the output List. + + + The trigger upon which to do the work + The calendar to apply to the trigger's schedule + The starting date at which to find fire times + The ending date at which to stop finding fire times + List of java.util.Date objects + + + + An exception that is thrown to indicate that a call to + failed without interrupting the Job. + + + James House + Marko Lahma (.NET) + + + + Create a with the given message. + + + + + Create a with the given cause. + + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + +
+
diff --git a/lib/Quartz20/net/3.5/C5.dll b/lib/Quartz20/net/3.5/C5.dll new file mode 100644 index 00000000..2130d1fa Binary files /dev/null and b/lib/Quartz20/net/3.5/C5.dll differ diff --git a/lib/Quartz20/net/3.5/Quartz.dll b/lib/Quartz20/net/3.5/Quartz.dll new file mode 100644 index 00000000..a6bfea5e Binary files /dev/null and b/lib/Quartz20/net/3.5/Quartz.dll differ diff --git a/lib/Quartz20/net/3.5/Quartz.xml b/lib/Quartz20/net/3.5/Quartz.xml new file mode 100644 index 00000000..c983e3df --- /dev/null +++ b/lib/Quartz20/net/3.5/Quartz.xml @@ -0,0 +1,19889 @@ + + + + Quartz + + + + + A wrapper for generic HashSet that brings a common interface. + + + + + + Represents a collection ob objects that contains no duplicate elements. + + Marko Lahma (.NET) + + + + A sorted set. + + Marko Lahma (.NET) + + + + Returns a portion of the list whose elements are greater than the limit object parameter. + + The start element of the portion to extract. + The portion of the collection whose elements are greater than the limit object parameter. + + + + Returns the first item in the set. + + First object. + + + + Returns the object in the specified index. + + + + + + + Simple C5 wrapper for common interface. + + + + + + Default constructor. + + + + + Constructor that accepts comparer. + + Comparer to use. + + + + Constructor that prepolutates. + + + + + + Returns the first element. + + + + + + Return items from given range. + + + + + + + Indexer. + + + + + + + Only for backwards compatibility with serialization! + + + + + Responsible for creating the instances of + to be used within the instance. + + James House + Marko Lahma (.NET) + + + + Initialize the factory, providing a handle to the + that should be made available within the and + the s within it. + + + + + Called by the + to obtain instances of . + + + + + JobRunShell instances are responsible for providing the 'safe' environment + for s to run in, and for performing all of the work of + executing the , catching ANY thrown exceptions, updating + the with the 's completion code, + etc. + + A instance is created by a + on behalf of the which then runs the + shell in a thread from the configured when the + scheduler determines that a has been triggered. + + + + + + + James House + Marko Lahma (.NET) + + + + A helpful abstract base class for implementors of + . + + + The methods in this class are empty so you only need to override the + subset for the events you care about. + + Marko Lahma (.NET) + + + + + The interface to be implemented by classes that want to be informed of major + events. + + + + + James House + Marko Lahma (.NET) + + + + Called by the when a + is scheduled. + + + + + Called by the when a + is unscheduled. + + + + + + Called by the when a + has reached the condition in which it will never fire again. + + + + + Called by the a s has been paused. + + + + + Called by the a group of + s has been paused. + + + If a all groups were paused, then the parameter + will be null. + + The trigger group. + + + + Called by the when a + has been un-paused. + + + + + Called by the when a + group of s has been un-paused. + + + If all groups were resumed, then the parameter + will be null. + + The trigger group. + + + + Called by the when a + has been added. + + + + + + Called by the when a + has been deleted. + + + + + Called by the when a + has been paused. + + + + + Called by the when a + group of s has been paused. + + If all groups were paused, then the parameter will be + null. If all jobs were paused, then both parameters will be null. + + + The job group. + + + + Called by the when a + has been un-paused. + + + + + Called by the when a + has been un-paused. + + The job group. + + + + Called by the when a serious error has + occurred within the scheduler - such as repeated failures in the , + or the inability to instantiate a instance when its + has fired. + + + + + Called by the to inform the listener + that it has move to standby mode. + + + + + Called by the to inform the listener + that it has started. + + + + + Called by the to inform the listener + that it has Shutdown. + + + + + Called by the to inform the listener + that it has begun the shutdown sequence. + + + + + Called by the to inform the listener + that all jobs, triggers and calendars were deleted. + + + + + Get the for this + type's category. This should be used by subclasses for logging. + + + + + This interface should be implemented by any class whose instances are intended + to be executed by a thread. + + Marko Lahma (.NET) + + + + This method has to be implemented in order that starting of the thread causes the object's + run method to be called in that separately executing thread. + + + + + Create a JobRunShell instance with the given settings. + + The instance that should be made + available within the . + + + + + Initializes the job execution context with given scheduler and bundle. + + The scheduler. + + + + Requests the Shutdown. + + + + + This method has to be implemented in order that starting of the thread causes the object's + run method to be called in that separately executing thread. + + + + + Runs begin procedures on this instance. + + + + + Completes the execution. + + if set to true [successful execution]. + + + + Passivates this instance. + + + + + 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. + + + + + Default concrete implementation of . + + + + + Client programs may be interested in the 'listener' interfaces that are + available from Quartz. The interface + provides notifications of Job executions. The + interface provides notifications of + firings. The + interface provides notifications of scheduler events and + errors. Listeners can be associated with local schedulers through the + interface. + + + + jhouse + 2.0 - previously listeners were managed directly on the Scheduler interface. + + + + Add the given to the, + and register it to receive events for Jobs that are matched by ANY of the + given Matchers. + + + If no matchers are provided, the will be used. + + + + + + + Add the given to the, + and register it to receive events for Jobs that are matched by ANY of the + given Matchers. + + + If no matchers are provided, the will be used. + + + + + + + Add the given Matcher to the set of matchers for which the listener + will receive events if ANY of the matchers match. + + + + the name of the listener to add the matcher to + the additional matcher to apply for selecting events + true if the identified listener was found and updated + + + + Remove the given Matcher to the set of matchers for which the listener + will receive events if ANY of the matchers match. + + + + the name of the listener to add the matcher to + the additional matcher to apply for selecting events + true if the given matcher was found and removed from the listener's list of matchers + + + + Set the set of Matchers for which the listener + will receive events if ANY of the matchers match. + + + Removes any existing matchers for the identified listener! + + the name of the listener to add the matcher to + the matchers to apply for selecting events + true if the given matcher was found and removed from the listener's list of matchers + + + + Get the set of Matchers for which the listener + will receive events if ANY of the matchers match. + + + + the name of the listener to add the matcher to + the matchers registered for selecting events for the identified listener + + + + Remove the identified from the. + + + + true if the identified listener was found in the list, and removed. + + + + Get a List containing all of the s in + the. + + + + + Get the that has the given name. + + + + + Add the given to the, + and register it to receive events for Triggers that are matched by ANY of the + given Matchers. + + + If no matcher is provided, the will be used. + + + + + + + Add the given to the, + and register it to receive events for Triggers that are matched by ANY of the + given Matchers. + + + If no matcher is provided, the will be used. + + + + + + + Add the given Matcher to the set of matchers for which the listener + will receive events if ANY of the matchers match. + + + + the name of the listener to add the matcher to + the additional matcher to apply for selecting events + true if the identified listener was found and updated + + + + Remove the given Matcher to the set of matchers for which the listener + will receive events if ANY of the matchers match. + + + + the name of the listener to add the matcher to + the additional matcher to apply for selecting events + true if the given matcher was found and removed from the listener's list of matchers + + + + Set the set of Matchers for which the listener + will receive events if ANY of the matchers match. + + + Removes any existing matchers for the identified listener! + + the name of the listener to add the matcher to + the matchers to apply for selecting events + true if the given matcher was found and removed from the listener's list of matchers + + + + Get the set of Matchers for which the listener + will receive events if ANY of the matchers match. + + + + the name of the listener to add the matcher to + the matchers registered for selecting events for the identified listener + + + + Remove the identified from the. + + + + true if the identified listener was found in the list, and + removed. + + + + Get a List containing all of the s + in the. + + + + + Get the that has the given name. + + + + + Register the given with the + . + + + + + Remove the given from the + . + + + + true if the identified listener was found in the list, and removed. + + + + Get a List containing all of the s + registered with the. + + + + + This is the heart of Quartz, an indirect implementation of the + interface, containing methods to schedule s, + register instances, etc. + + + + + + James House + Marko Lahma (.NET) + + + + Remote scheduler service interface. + + Marko Lahma (.NET) + + + + Starts this instance. + + + + + Standbies this instance. + + + + + Shutdowns this instance. + + + + + returns true if the given JobGroup + is paused + + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + Initializes the class. + + + + + Register the given with the + 's list of internal listeners. + + + + + + Remove the given from the + 's list of internal listeners. + + + true if the identified listener was found in the list, andremoved. + + + + Create a with the given configuration + properties. + + + + + + Bind the scheduler to remoting infrastructure. + + + + + Un-bind the scheduler from remoting infrastructure. + + + + + Adds an object that should be kept as reference to prevent + it from being garbage collected. + + The obj. + + + + Removes the object from 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 key of the trigger + The new to be stored. + + if a with the given + name and group was not found and removed from the store, otherwise + the first fire time of the newly scheduled trigger. + + + + + Creates a new positive random number + + The last random obtained + Returns a new positive random number + + + + Trigger the identified (Execute it now) - with a non-volatile trigger. + + + + + Store and schedule the identified + + + + + + Pause the with the given name. + + + + + Pause all of the s in the given group. + + + + + Pause the with the given + name - by pausing all of its current s. + + + + + Pause all of the s in the + given group - by pausing all of their s. + + + + + Resume (un-pause) the with the given + name. + + If the missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Resume (un-pause) all of the s in the + matching groups. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Gets the paused trigger groups. + + + + + + Resume (un-pause) the with + the given name. + + If any of the 's s missed one + or more fire-times, then the 's misfire + instruction will be applied. + + + + + + Resume (un-pause) all of the s + in the matching groups. + + If any of the s had s that + missed one or more fire-times, then the 's + misfire instruction will be applied. + + + + + + Pause all triggers - equivalent of calling + with a matcher matching all known groups. + + When is called (to un-pause), trigger misfire + instructions WILL be applied. + + + + + + + + Resume (un-pause) all triggers - equivalent of calling + on every group. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + + Get the names of all known groups. + + + + + Get the names of all the s in the + given group. + + + + + Get all s that are associated with the + identified . + + + + + Get the names of all known + groups. + + + + + Get the names of all the s in + the matching groups. + + + + + Get the for the + instance with the given name and group. + + + + + Get the instance with the given name and + group. + + + + + Determine whether a with the given identifier already + exists within the scheduler. + + + + the identifier to check for + true if a Job exists with the given identifier + + + + Determine whether a with the given identifier already + exists within the scheduler. + + + + the identifier to check for + true if a Trigger exists with the given identifier + + + + Clears (deletes!) all scheduling data - all s, s + s. + + + + + Get the current state of the identified . + + + + + + Add (register) the given to the Scheduler. + + + + + Delete the identified from the Scheduler. + + true if the Calendar was found and deleted. + + + + Get the instance with the given name. + + + + + Get the names of all registered s. + + + + + Add the given to the + 's internal list. + + + + + + Remove the identified from the 's + list of internal listeners. + + + true if the identified listener was found in the list, and removed. + + + + Get the internal + that has the given name. + + + + + + + Add the given to the + 's internal list. + + + + + + Remove the identified from the 's + list of internal listeners. + + + true if the identified listener was found in the list, and removed. + + + + Get the internal that + has the given name. + + + + + + + Notifies the job store job complete. + + The trigger. + The detail. + The instruction code. + + + + Notifies the scheduler thread. + + + + + Notifies the trigger listeners about fired trigger. + + The job execution context. + + + + + Notifies the trigger listeners about misfired trigger. + + The trigger. + + + + Notifies the trigger listeners of completion. + + The job 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. + + + + + Notifies the scheduler listeners about finalized trigger. + + The trigger. + + + + Notifies the scheduler listeners about paused trigger. + + The group. + + + + Notifies the scheduler listeners about paused trigger. + + + + + Notifies the scheduler listeners resumed trigger. + + The group. + + + + Notifies the scheduler listeners resumed trigger. + + + + + Notifies the scheduler listeners about paused job. + + + + + Notifies the scheduler listeners about paused job. + + The group. + + + + Notifies the scheduler listeners about resumed job. + + + + + Notifies the scheduler listeners about resumed job. + + The group. + + + + Notifies the scheduler listeners about scheduler shutdown. + + + + + Interrupt all instances of the identified InterruptableJob. + + + + + Interrupt all instances of the identified InterruptableJob executing in this Scheduler instance. + + + This method is not cluster aware. That is, it will only interrupt + instances of the identified InterruptableJob currently executing in this + Scheduler instance, not across the entire cluster. + + + + + + + + Obtains a lifetime service object to control the lifetime policy for this instance. + + + + + Gets the version of the Quartz Scheduler. + + The version. + + + + Gets the version major. + + The version major. + + + + Gets the version minor. + + The version minor. + + + + Gets the version iteration. + + The version iteration. + + + + Gets the scheduler signaler. + + The scheduler signaler. + + + + Returns the name of the . + + + + + Returns the instance Id of the . + + + + + Returns the of the . + + + + + Gets or sets a value indicating whether to signal on scheduling change. + + + true if 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 internal s + registered with the . + + + + + Gets or sets the job factory. + + The job factory. + + + + Gets the running since. + + The running since. + + + + Gets the number of jobs executed. + + The number of jobs executed. + + + + Gets a value indicating whether this scheduler supports persistence. + + true if supports persistence; otherwise, false. + + + + Get a List containing all of the s + in the 's internal list. + + + + + + Get a list containing all of the s + in the 's internal list. + + + + + Helper class to start scheduler in a delayed fashion. + + + + + ErrorLogger - Scheduler Listener Class + + + + + The interface to be implemented by classes that want to be informed when a + executes. In general, applications that use a + will not have use for this mechanism. + + + + + + + + James House + Marko Lahma (.NET) + + + + Called by the when a + is about to be executed (an associated + has occurred). + + This method will not be invoked if the execution of the Job was vetoed + by a . + + + + + + + Called by the when a + was about to be executed (an associated + has occurred), but a vetoed it's + execution. + + + + + + Called by the after a + has been executed, and be for the associated 's + method has been called. + + + + + Get the name of the . + + + + + Contains all of the resources (,, + etc.) necessary to create a instance. + + + James House + Marko Lahma (.NET) + + + + Gets the unique identifier. + + Name of the scheduler. + The scheduler instance id. + + + + + Gets the unique identifier. + + + + + + Add the given for the + to use. This method expects the plugin's + "initialize" method to be invoked externally (either before or after + this method is called). + + + + + + Get or set the name for the . + + + if name is null or empty. + + + + + Get or set the instance Id for the . + + + if name is null or empty. + + + + + Get or set the name for the . + + + if name is null or empty. + + + + + Get or set the for the + to use. + + + if threadPool is null. + + + + + Get or set the for the + to use. + + + if jobStore is null. + + + + + Get or set the for the + to use. + + + if jobRunShellFactory is null. + + + + + Get the of all s for the + to use. + + + + + + Gets or sets a value indicating whether to make scheduler thread daemon. + + + true if scheduler should be thread daemon; otherwise, false. + + + + + Gets or sets the scheduler exporter. + + The scheduler exporter. + + + + The ThreadExecutor which runs the QuartzSchedulerThread. + + + + + Gets or sets the batch time window. + + + + + The thread responsible for performing the work of firing + s that are registered with the . + + + + + James House + Marko Lahma (.NET) + + + + Support class used to handle threads + + Marko Lahma (.NET) + + + + The instance of System.Threading.Thread + + + + + Initializes a new instance of the QuartzThread class + + + + + Initializes a new instance of the Thread class. + + The name of the thread + + + + This method has no functionality unless the method is overridden + + + + + Causes the operating system to change the state of the current thread instance to ThreadState.Running + + + + + Interrupts a thread that is in the WaitSleepJoin thread state + + + + + Blocks the calling thread until a thread terminates + + + + + Obtain a string that represents the current object + + A string that represents the current object + + + + Gets or sets the name of the thread + + + + + Gets or sets a value indicating the scheduling priority of a thread + + + + + Gets or sets a value indicating whether or not a thread is a background thread. + + + + + Gets the randomized idle wait time. + + The randomized idle wait time. + + + + Construct a new for the given + as a non-daemon + with normal priority. + + + + + Construct a new for the given + as a with the given + attributes. + + + + + Signals the main processing loop to pause at the next possible point. + + + + + Signals the main processing loop to pause at the next possible point. + + + + + Signals the main processing loop that a change in scheduling has been + made - in order to interrupt any sleeping that may be 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 + Marko Lahma (.NET) + + + + Notifies the scheduler about misfired trigger. + + The trigger that misfired. + + + + Notifies the scheduler about finalized trigger. + + The trigger that has finalized. + + + + Signals the scheduling change. + + + + + 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. + + + + + Metadata information about specific ADO.NET driver library. Metadata is used to + create correct types of object instances to interact with the underlying + database. + + Marko Lahma + + + + Initializes this instance. Parses information and initializes startup + values. + + + + + Gets the name of the parameter which includes the parameter prefix for this + database. + + Name of the parameter. + + + Gets or sets the name of the assembly that holds the connection library. + The name of the assembly. + + + + Gets or sets the name of the product. + + The name of the product. + + + + Gets or sets the type of the connection. + + The type of the connection. + + + + Gets or sets the type of the command. + + The type of the command. + + + + Gets or sets the type of the parameter. + + The type of the parameter. + + + + Gets the type of the command builder. + + The type of the command builder. + + + Gets the command builder's derive parameters method. + The command builder derive parameters method. + + + + Gets or sets the parameter name prefix. + + The parameter name prefix. + + + + Gets or sets the type of the exception that is thrown when using driver + library. + + The type of the exception. + + + + Gets or sets a value indicating whether parameters are bind by name when using + ADO.NET parameters. + + true if parameters are bind by name; otherwise, false. + + + Gets or sets the type of the database parameters. + The type of the parameter db. + + + + Gets the parameter db type property. + + The parameter db type property. + + + + Gets the parameter is nullable property. + + The parameter is nullable property. + + + + Gets or sets the type of the db binary column. This is a string representation of + Enum element because this information is database driver specific. + + The type of the db binary. + + + Gets the type of the db binary. + The type of the db binary. + + + + Sets the name of the parameter db type property. + + The name of the parameter db type property. + + + + Gets or sets a value indicating whether [use parameter name prefix in parameter collection]. + + + true if [use parameter name prefix in parameter collection]; otherwise, false. + + + + + Concrete implementation of . + + Marko Lahma + + + + Data access provider interface. + + Marko Lahma + + + + 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. + + + + This interface can be implemented by any + class that needs to use the constants contained herein. + + Jeffrey Wescott + James House + Marko Lahma(.NET) + + + + Simple Trigger type. + + + + + Cron Trigger type. + + + + + Calendar Interval Trigger type. + + + + + Daily Time Interval Trigger type. + + + + + A general blob Trigger type. + + + + + This class contains utility functions for use in all delegate classes. + + Jeffrey Wescott + Marko Lahma (.NET) + + + + Replace the table prefix in a query by replacing any occurrences of + "{0}" with the table prefix. + + The unsubstitued query + The table prefix + the scheduler name + The query, with proper table prefix substituted + + + + Common helper methods for working with ADO.NET. + + Marko Lahma + + + + Persist a CalendarIntervalTriggerImpl by converting internal fields to and from + SimplePropertiesTriggerProperties. + + + + + + + A base implementation of that persists + trigger fields in the "QRTZ_SIMPROP_TRIGGERS" table. This allows extending + concrete classes to simply implement a couple methods that do the work of + getting/setting the trigger's fields, and creating the + for the particular type of trigger. + + + jhouse + Marko Lahma (.NET) + + + + An interface which provides an implementation for storing a particular + type of 's extended properties. + + jhouse + + + + Initializes the persistence delegate. + + + + + Returns whether the trigger type can be handled by delegate. + + + + + Returns database discriminator value for trigger type. + + + + + Inserts trigger's special properties. + + + + + Updates trigger's special properties. + + + + + Deletes trigger's special properties. + + + + + Loads trigger's special properties. + + + + + Returns whether the trigger type can be handled by delegate. + + + + + Returns database discriminator value for trigger type. + + + + + Utility class to keep track of both active transaction + and connection. + + Marko Lahma + + + + Initializes a new instance of the class. + + The connection. + The transaction. + + + + Gets or sets the connection. + + The connection. + + + + Gets or sets the transaction. + + The transaction. + + + + Persist a CronTriggerImpl. + + + + + + + Persist a DailyTimeIntervalTrigger by converting internal fields to and from + SimplePropertiesTriggerProperties. + + + + Zemian Deng saltnlight5@gmail.com + Nuno Maia (.NET) + + + + + + + + + + Base class for database based lock handlers for providing thread/resource locking + in order to protect resources from being altered by multiple threads at the + same time. + + Marko Lahma (.NET) + + + + This class extends + to include the query string constants in use by the + class. + + Jeffrey Wescott + Marko Lahma (.NET) + + + + An interface for providing thread/resource locking in order to protect + resources from being altered by multiple threads at the same time. + + James House + Marko Lahma (.NET) + + + + Grants a lock on the identified resource to the calling thread (blocking + until it is available). + + true if the lock was obtained. + + + + Release the lock on the identified resource if it is held by the calling + thread. + + + + + 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. + + Marko Lahma (.NET) + + + + Table prefix to use. + + + + + Initializes a new instance of the class. + + The table prefix. + the scheduler name + The SQL. + The default SQL. + The db provider. + + + + Execute the SQL that will lock the proper database row. + + + + + + + + + Grants a lock on the identified resource to the calling thread (blocking + until it is available). + + + + + true if the lock was obtained. + + + + Release the lock on the identified resource if it is held by the calling + thread. + + + + + + + Determine whether the calling thread owns a lock on the identified + resource. + + + + + + + + Gets or sets the lock owners. + + The lock owners. + + + + Gets the log. + + The log. + + + + This Semaphore implementation does use the database. + + + + + Gets or sets the table prefix. + + The table prefix. + + + + Initialization argumens holder for implementations. + + + + + Whether simple should be used (for serialization safety). + + + + + The logger to use during execution. + + + + + The prefix of all table names. + + + + + The instance's name. + + + + + The instance id. + + + + + The db provider. + + + + + The type loading strategy. + + + + + Object serializer and deserializer strategy to use. + + + + + Custom driver delegate initialization. + + + initStrings are of the format: + settingName=settingValue|otherSettingName=otherSettingValue|... + + + + + Conveys the state of a fired-trigger record. + + James House + Marko Lahma (.NET) + + + + Gets or sets the fire instance id. + + The fire instance id. + + + + Gets or sets the fire timestamp. + + The fire timestamp. + + + + Gets or sets a value indicating whether job disallows concurrent execution. + + + + + Gets or sets the job key. + + The job key. + + + + Gets or sets the scheduler instance id. + + The scheduler instance id. + + + + Gets or sets the trigger key. + + The trigger key. + + + + Gets or sets the state of the fire instance. + + The state of the fire instance. + + + + Gets or sets a value indicating whether [job requests recovery]. + + true if [job requests recovery]; otherwise, false. + + + + Gets or sets the priority. + + The priority. + + + + Service interface or modifying parameters + and resultset values. + + + + + Prepares a to be used to access database. + + Connection and tranasction pair + SQL to run + + + + + Adds a parameter to . + + Command to add parameter to + Parameter's name + Parameter's value + + + + Adds a parameter to . + + Command to add parameter to + Parameter's name + Parameter's value + Parameter's data type + + + + Gets the db presentation for boolean value. Subclasses can overwrite this behaviour. + + Value to map to database. + + + + + Gets the boolean value from db presentation. Subclasses can overwrite this behaviour. + + Value to map from database. + + + + + Gets the db presentation for date/time value. Subclasses can overwrite this behaviour. + + Value to map to database. + + + + + Gets the date/time value from db presentation. Subclasses can overwrite this behaviour. + + Value to map from database. + + + + + Gets the db presentation for time span value. Subclasses can overwrite this behaviour. + + Value to map to database. + + + + + Gets the time span value from db presentation. Subclasses can overwrite this behaviour. + + Value to map from database. + + + + + This is the base interface for all driver delegate classes. + + + + This interface is very similar to the + interface except each method has an additional + parameter. + + + Unless a database driver has some extremely-DB-specific + requirements, any IDriverDelegate implementation classes should extend the + class. + + + Jeffrey Wescott + James House + Marko Lahma (.NET) + + + + Initializes the driver delegate with configuration data. + + + + + + Update all triggers having one of the two given states, to the given new + state. + + The DB Connection + The new state for the triggers + The first old state to update + The second old state to update + Number of rows updated + + + + Get the names of all of the triggers that have misfired - according to + the given timestamp. + + The DB Connection + The timestamp. + An array of objects + + + + Get the names of all of the triggers in the given state that have + misfired - according to the given timestamp. + + The DB Connection + The state. + The time stamp. + An array of objects + + + + Get the names of all of the triggers in the given group and state that + have misfired - according to the given timestamp. + + The DB Connection + Name of the group. + The state. + The timestamp. + An array of objects + + + + Select all of the triggers for jobs that are requesting recovery. The + returned trigger objects will have unique "recoverXXX" trigger names and + will be in the trigger group. + + + In order to preserve the ordering of the triggers, the fire time will be + set from the ColumnFiredTime column in the TableFiredTriggers + table. The caller is responsible for calling + on each returned trigger. It is also up to the caller to insert the + returned triggers to ensure that they are fired. + + The DB Connection + An array of objects + + + + Delete all fired triggers. + + The DB Connection + The number of rows deleted + + + + Delete all fired triggers of the given instance. + + The DB Connection + The instance id. + The number of rows deleted + + + + Insert the job detail record. + + The DB Connection + The job to insert. + Number of rows inserted. + + + + Update the job detail record. + + The DB Connection. + The job to update. + Number of rows updated. + + + + Get the names of all of the triggers associated with the given job. + + + + The DB Connection + The key identifying the job. + + + + Delete the job detail record for the given job. + + The DB Connection + The key identifying the job. + the number of rows deleted + + + + Check whether or not the given job is stateful. + + The DB Connection + The key identifying the job. + true if the job exists and is stateful, false otherwise + + + + Check whether or not the given job exists. + + The DB Connection + The key identifying the job. + true if the job exists, false otherwise + + + + Update the job data map for the given job. + + The DB Connection + The job. + the number of rows updated + + + + Select the JobDetail object for a given job name / group name. + + The DB Connection + The key identifying the job. + The class load helper. + The populated JobDetail object + + + + Select the total number of jobs stored. + + The DB Connection + the total number of jobs stored + + + + Select all of the job group names that are stored. + + The DB Connection. + an array of group names + + + + Select all of the jobs contained in a given group. + + The DB Connection + + an array of job names + + + + Insert the base trigger data. + + The DB Connection + The trigger to insert. + The state that the trigger should be stored in. + The job detail. + The number of rows inserted + + + + Insert the blob trigger data. + + The DB Connection + The trigger to insert + The number of rows inserted + + + + Update the base trigger data. + + the DB Connection + The trigger. + The state. + The job detail. + the number of rows updated + + + + Update the blob trigger data. + + the DB Connection + The trigger. + the number of rows updated + + + + Check whether or not a trigger exists. + + the DB Connection + The key identifying the trigger. + the number of rows updated + + + + Update the state for a given trigger. + + The DB Connection + The key identifying the trigger. + The new state for the trigger. + the number of rows updated + + + + Update the given trigger to the given new state, if it is in the given + old state. + + The DB connection + The key identifying the trigger. + The new state for the trigger + The old state the trigger must be in + int the number of rows updated + + + + Update the given trigger to the given new state, if it is one of the + given old states. + + The DB connection + The key identifying the trigger. + The new state for the trigger + One of the old state the trigger must be in + One of the old state the trigger must be in + One of the old state the trigger must be in + + int the number of rows updated + + SQLException + + + + Update all triggers in the given group to the given new state, if they + are in one of the given old states. + + The DB connection + + The new state for the trigger + One of the old state the trigger must be in + One of the old state the trigger must be in + One of the old state the trigger must be in + The number of rows updated + + + + Update all of the triggers of the given group to the given new state, if + they are in the given old state. + + The DB connection + + The new state for the trigger group + The old state the triggers must be in. + int the number of rows updated + + + + Update the states of all triggers associated with the given job. + + The DB Connection + The key identifying the job. + The new state for the triggers. + The number of rows updated + + + + Update the states of any triggers associated with the given job, that + are the given current state. + + The DB Connection + The key identifying the job. + The new state for the triggers + The old state of the triggers + the number of rows updated + + + + Delete the BLOB trigger data for a trigger. + + The DB Connection + The key identifying the trigger. + The number of rows deleted + + + + Delete the base trigger data for a trigger. + + The DB Connection + The key identifying the trigger. + the number of rows deleted + + + + Select the number of triggers associated with a given job. + + The DB Connection + The key identifying the job. + the number of triggers for the given job + + + + Select the job to which the trigger is associated. + + The DB Connection + The key identifying the trigger. + The load helper. + + The object associated with the given trigger + + + + + Select the triggers for a job> + + The DB Connection + The key identifying the job. + an array of objects associated with a given job. + + + + Select the triggers for a calendar + + The DB Connection. + Name of the calendar. + + An array of objects associated with a given job. + + + + + Select a trigger. + + The DB Connection. + The key identifying the trigger. + The object. + + + + + Select a trigger's JobDataMap. + + The DB Connection. + The key identifying the trigger. + The of the Trigger, never null, but possibly empty. + + + + Select a trigger's state value. + + The DB Connection. + The key identifying the trigger. + The object. + + + + Select a triggers status (state and next fire time). + + The DB Connection. + The key identifying the trigger. + A object, or null + + + + Select the total number of triggers stored. + + The DB Connection. + The total number of triggers stored. + + + + Select all of the trigger group names that are stored. + + The DB Connection. + An array of group names. + + + + Select all of the triggers contained in a given group. + + The DB Connection. + + An array of trigger names. + + + + Select all of the triggers in a given state. + + The DB Connection. + The state the triggers must be in. + An array of trigger s. + + + + Inserts the paused trigger group. + + The conn. + Name of the group. + + + + + Deletes the paused trigger group. + + The conn. + Name of the group. + + + + + Deletes all paused trigger groups. + + The conn. + + + + + Determines whether the specified trigger group is paused. + + The conn. + Name of the group. + + true if trigger group is paused; otherwise, false. + + + + + Selects the paused trigger groups. + + The DB Connection. + + + + + Determines whether given trigger group already exists. + + The conn. + Name of the group. + + true if trigger group exists; otherwise, false. + + + + + Insert a new calendar. + + The DB Connection. + The name for the new calendar. + The calendar. + The number of rows inserted. + + + + Update a calendar. + + The DB Connection. + The name for the new calendar. + The calendar. + The number of rows updated. + + + + Check whether or not a calendar exists. + + The DB Connection. + The name of the calendar. + true if the trigger exists, false otherwise. + + + + Select a calendar. + + The DB Connection. + The name of the calendar. + The Calendar. + + + + Check whether or not a calendar is referenced by any triggers. + + The DB Connection. + The name of the calendar. + true if any triggers reference the calendar, false otherwise + + + + Delete a calendar. + + The DB Connection + The name of the trigger. + The number of rows deleted. + + + + Select the total number of calendars stored. + + The DB Connection + The total number of calendars stored. + + + + Select all of the stored calendars. + + The DB Connection + An array of calendar names. + + + + Select the trigger that will be fired at the given fire time. + + The DB Connection + The time that the trigger will be fired. + + A representing the + trigger that will be fired at the given fire time, or null if no + trigger will be fired at that time + + + + + Insert a fired trigger. + + The DB Connection + The trigger. + The state that the trigger should be stored in. + The job detail. + The number of rows inserted. + + + + Select the states of all fired-trigger records for a given trigger, or + trigger group if trigger name is . + + The DB Connection + Name of the trigger. + Name of the group. + A list of FiredTriggerRecord objects. + + + + Select the states of all fired-trigger records for a given job, or job + group if job name is . + + The DB Connection + Name of the job. + Name of the group. + A List of FiredTriggerRecord objects. + + + + Select the states of all fired-trigger records for a given scheduler + instance. + + The DB Connection + Name of the instance. + A list of FiredTriggerRecord objects. + + + + Delete a fired trigger. + + The DB Connection + The fired trigger entry to delete. + The number of rows deleted. + + + + Get the number instances of the identified job currently executing. + + The DB Connection + The key identifying the job. + + The number instances of the identified job currently executing. + + + + + Insert a scheduler-instance state record. + + The DB Connection + The instance id. + The check in time. + The interval. + The number of inserted rows. + + + + Delete a scheduler-instance state record. + + The DB Connection + The instance id. + The number of deleted rows. + + + + Update a scheduler-instance state record. + + The DB Connection + The instance id. + The check in time. + The number of updated rows. + + + + A List of all current s. + + If instanceId is not null, then only the record for the identified + instance will be returned. + + + The DB Connection + The instance id. + + + + + Select the next trigger which will fire to fire between the two given timestamps + in ascending order of fire time, and then descending by priority. + + The conn. + highest value of of the triggers (exclusive) + highest value of of the triggers (inclusive) + maximum number of trigger keys allow to acquired in the returning list. + A (never null, possibly empty) list of the identifiers (Key objects) of the next triggers to be fired. + + + + Select the distinct instance names of all fired-trigger records. + + + This is useful when trying to identify orphaned fired triggers (a + fired trigger without a scheduler state record.) + + The conn. + + + + + Counts the misfired triggers in states. + + The conn. + The state1. + The ts. + + + + + Selects the misfired triggers in states. + + The conn. + The state1. + The ts. + The count. + The result list. + + + + + Clear (delete!) all scheduling data - all s, s + s. + + + + + + Exception class for when a driver delegate cannot be found for a given + configuration, or lack thereof. + + Jeffrey Wescott + Marko Lahma (.NET) + + + + Base class for exceptions thrown by the Quartz . + + + SchedulerExceptions may contain a reference to another + , which was the underlying cause of the SchedulerException. + + James House + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The MSG. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + Initializes a new instance of the class. + + The cause. + + + + Initializes a new instance of the class. + + The MSG. + The cause. + + + + Creates and returns a string representation of the current exception. + + + A string representation of the current exception. + + + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + is meant to be used in an application-server + or other software framework environment that provides + container-managed-transactions. No commit / rollback will be handled by this class. + + + If you need commit / rollback, use + instead. + + Jeffrey Wescott + James House + Srinivas Venkatarangaiah + Marko Lahma (.NET) + + + + Contains base functionality for ADO.NET-based JobStore implementations. + + Jeffrey Wescott + James House + Marko Lahma (.NET) + + + + The interface to be implemented by classes that want to provide a + and storage mechanism for the + 's use. + + + Storage of s and s should be keyed + on the combination of their name and group for uniqueness. + + + + + + + + James House + Marko Lahma (.NET) + + + + Called by the QuartzScheduler before the is + used, in order to give the it a chance to Initialize. + + + + + Called by the QuartzScheduler to inform the that + the scheduler has started. + + + + + Called by the QuartzScheduler to inform the JobStore that + the scheduler has been paused. + + + + + Called by the QuartzScheduler to inform the JobStore that + the scheduler has resumed after being paused. + + + + + Called by the QuartzScheduler to inform the that + it should free up all of it's resources because the scheduler is + shutting down. + + + + + Store the given and . + + The to be stored. + The to be stored. + ObjectAlreadyExistsException + + + + returns true if the given JobGroup is paused + + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + Store the given . + + The to be stored. + + If , any existing in the + with the same name and group should be + over-written. + + + + + Remove (delete) the with the given + key, and any s that reference + it. + + + If removal of the results in an empty group, the + group should be removed from the 's list of + known group names. + + + if a with the given name and + group was found and removed from the store. + + + + + Retrieve the for the given + . + + + The desired , or null if there is no match. + + + + + Store the given . + + The to be stored. + If , any existing in + the with the same name and group should + be over-written. + ObjectAlreadyExistsException + + + + Remove (delete) the with the given key. + + + + If removal of the results in an empty group, the + group should be removed from the 's list of + known group names. + + + If removal of the results in an 'orphaned' + that is not 'durable', then the should be deleted + also. + + + + if a with the given + name and group was found and removed from the store. + + + + + Remove (delete) the with the + given name, and store the new given one - which must be associated + with the same job. + + The to be replaced. + The new to be stored. + + if a with the given + name and group was found and removed from the store. + + + + + Retrieve the given . + + + The desired , or null if there is no + match. + + + + + Determine whether a with the given identifier already + exists within the scheduler. + + + + the identifier to check for + true if a job exists with the given identifier + + + + Determine whether a with the given identifier already + exists within the scheduler. + + + + the identifier to check for + true if a trigger exists with the given identifier + + + + Clear (delete!) all scheduling data - all s, s + s. + + + + + + + Store the given . + + The name. + The to be stored. + If , any existing + in the with the same name and group + should be over-written. + If , any s existing + in the that reference an existing + Calendar with the same name with have their next fire time + re-computed with the new . + ObjectAlreadyExistsException + + + + Remove (delete) the with the + given name. + + + If removal of the would result in + s pointing to non-existent calendars, then a + will be thrown. + + The name of the to be removed. + + if a with the given name + was found and removed from the store. + + + + + Retrieve the given . + + The name of the to be retrieved. + + The desired , or null if there is no + match. + + + + + Get the number of s that are + stored in the . + + + + + + Get the number of s that are + stored in the . + + + + + + Get the number of s that are + stored in the . + + + + + + Get the names of all of the s that + have the given group name. + + If there are no jobs in the given group name, the result should be a + zero-length array (not ). + + + + + + + + Get the names of all of the s + that have the given group name. + + If there are no triggers in the given group name, the result should be a + zero-length array (not ). + + + + + + Get the names of all of the + groups. + + If there are no known group names, the result should be a zero-length + array (not ). + + + + + + Get the names of all of the + groups. + + If there are no known group names, the result should be a zero-length + array (not ). + + + + + + Get the names of all of the s + in the . + + + If there are no Calendars in the given group name, the result should be + a zero-length array (not ). + + + + + + Get all of the Triggers that are associated to the given Job. + + + If there are no matches, a zero-length array should be returned. + + + + + Get the current state of the identified . + + + + + + Pause the with the given key. + + + + + Pause all of the s in the + given group. + + + The JobStore should "remember" that the group is paused, and impose the + pause on any new triggers that are added to the group while the group is + paused. + + + + + Pause the with the given key - by + pausing all of its current s. + + + + + Pause all of the s in the given + group - by pausing all of their s. + + The JobStore should "remember" that the group is paused, and impose the + pause on any new jobs that are added to the group while the group is + paused. + + + + + + + + Resume (un-pause) the with the + given key. + + + If the missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + + + Resume (un-pause) all of the s + in the given group. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Gets the paused trigger groups. + + + + + + Resume (un-pause) the with the + given key. + + If any of the 's s missed one + or more fire-times, then the 's misfire + instruction will be applied. + + + + + + Resume (un-pause) all of the s in + the given group. + + If any of the s had s that + missed one or more fire-times, then the 's + misfire instruction will be applied. + + + + + + Pause all triggers - equivalent of calling + on every group. + + When is called (to un-pause), trigger misfire + instructions WILL be applied. + + + + + + + Resume (un-pause) all triggers - equivalent of calling + on every group. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + + + Get a handle to the next trigger to be fired, and mark it as 'reserved' + by the calling scheduler. + + If > 0, the JobStore should only return a Trigger + that will fire no later than the time represented in this value as + milliseconds. + + + + + + + + + Inform the that the scheduler no longer plans to + fire the given , that it had previously acquired + (reserved). + + + + + Inform the that the scheduler is now firing the + given (executing its associated ), + that it had previously acquired (reserved). + + + May return null if all the triggers or their calendars no longer exist, or + if the trigger was not successfully put into the 'executing' + state. Preference is to return an empty list if none of the triggers + could be fired. + + + + + Inform the that the scheduler has completed the + firing of the given (and the execution its + associated ), and that the + in the given should be updated if the + is stateful. + + + + + Indicates whether job store supports persistence. + + + + + + How long (in milliseconds) the implementation + estimates that it will take to release a trigger and acquire a new one. + + + + + Whether or not the implementation is clustered. + + + + + + Inform the of the Scheduler instance's Id, + prior to initialize being invoked. + + + + + Inform the of the Scheduler instance's name, + prior to initialize being invoked. + + + + + Tells the JobStore the pool size used to execute jobs. + + + + + Initializes a new instance of the class. + + + + + Gets the connection and starts a new transaction. + + + + + + Called by the QuartzScheduler before the is + used, in order to give it a chance to Initialize. + + + + + + + + Called by the QuartzScheduler to inform the JobStore that + the scheduler has been paused. + + + + + Called by the QuartzScheduler to inform the JobStore that + the scheduler has resumed after being paused. + + + + + Called by the QuartzScheduler to inform the that + it should free up all of it's resources because the scheduler is + shutting down. + + + + + Will recover any failed or misfired jobs and clean up the data store as + appropriate. + + + + + Will recover any failed or misfired jobs and clean up the data store as + appropriate. + + + + + Store the given and . + + Job to be stored. + Trigger to be stored. + + + + returns true if the given JobGroup + is paused + + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + Stores the given . + + The to be stored. + + If , any existing in the + with the same name & group should be over-written. + + + + + Insert or update a job. + + + + + + Check existence of a given job. + + + + + Store the given . + + The to be stored. + + If , any existing in + the with the same name & group should + be over-written. + + + if a with the same name/group already + exists, and replaceExisting is set to false. + + + + + Insert or update a trigger. + + + + + Check existence of a given trigger. + + + + + Remove (delete) the with the given + name, and any s that reference + it. + + + + If removal of the results in an empty group, the + group should be removed from the 's list of + known group names. + + + if a with the given name & + group was found and removed from the store. + + + + + Delete a job and its listeners. + + + + + + + Delete a trigger, its listeners, and its Simple/Cron/BLOB sub-table entry. + + + + + + + + Retrieve the for the given + . + + The key identifying the job. + The desired , or null if there is no match. + + + + Remove (delete) the with the + given name. + + + + + If removal of the results in an empty group, the + group should be removed from the 's list of + known group names. + + + + If removal of the results in an 'orphaned' + that is not 'durable', then the should be deleted + also. + + + The key identifying the trigger. + + if a with the given + name & group was found and removed from the store. + + + + + + + + Retrieve the given . + + The key identifying the trigger. + The desired , or null if there is no match. + + + + Get the current state of the identified . + + + + + + + + + + Gets the state of the trigger. + + The conn. + The key identifying the trigger. + + + + + Store the given . + + The name of the calendar. + The to be stored. + + If , any existing + in the with the same name & group + should be over-written. + + + + if a with the same name already + exists, and replaceExisting is set to false. + + + + + Remove (delete) the with the given name. + + + If removal of the would result in + s pointing to non-existent calendars, then a + will be thrown. + + The name of the to be removed. + + if a with the given name + was found and removed from the store. + + + + + Retrieve the given . + + The name of the to be retrieved. + The desired , or null if there is no match. + + + + Get the number of s that are + stored in the . + + + + + Get the number of s that are + stored in the . + + + + + Get the number of s that are + stored in the . + + + + + Get the names of all of the s that + have the given group name. + + + If there are no jobs in the given group name, the result should be a + zero-length array (not ). + + + + + Determine whether a with the given identifier already + exists within the scheduler. + + + + the identifier to check for + true if a Job exists with the given identifier + + + + Determine whether a with the given identifier already + exists within the scheduler. + + + + the identifier to check for + true if a Trigger exists with the given identifier + + + + Clear (delete!) all scheduling data - all s, s + s. + + + + + + + Get the names of all of the s + that have the given group name. + + + If there are no triggers in the given group name, the result should be a + zero-length array (not ). + + + + + Get the names of all of the + groups. + + + + If there are no known group names, the result should be a zero-length + array (not ). + + + + + Get the names of all of the + groups. + + + + If there are no known group names, the result should be a zero-length + array (not ). + + + + + Get the names of all of the s + in the . + + + If there are no Calendars in the given group name, the result should be + a zero-length array (not ). + + + + + Get all of the Triggers that are associated to the given Job. + + + If there are no matches, a zero-length array should be returned. + + + + + Pause the with the given name. + + + + + Pause the with the given name. + + + + + Pause the with the given name - by + pausing all of its current s. + + + + + + Pause all of the s in the given + group - by pausing all of their s. + + + + + + Determines if a Trigger for the given job should be blocked. + State can only transition to StatePausedBlocked/StateBlocked from + StatePaused/StateWaiting respectively. + + StatePausedBlocked, StateBlocked, or the currentState. + + + + Resume (un-pause) the with the + given name. + + + If the missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + Resume (un-pause) the with the + given name. + + + If any of the 's s missed one + or more fire-times, then the 's misfire + instruction will be applied. + + + + + + Resume (un-pause) all of the s in + the given group. + + + If any of the s had s that + missed one or more fire-times, then the 's + misfire instruction will be applied. + + + + + + Pause all of the s in the given group. + + + + + + Pause all of the s in the given group. + + + + + Pause all of the s in the + given group. + + + + + Resume (un-pause) all of the s + in the given group. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Pause all triggers - equivalent of calling + on every group. + + When is called (to un-pause), trigger misfire + instructions WILL be applied. + + + + + + + + Resume (un-pause) all triggers - equivalent of calling + on every group. + + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Resume (un-pause) all triggers - equivalent of calling + on every group. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + + Get a handle to the next N triggers to be fired, and mark them as 'reserved' + by the calling scheduler. + + + + + + Inform the that the scheduler no longer plans to + fire the given , that it had previously acquired + (reserved). + + + + + Inform the that the scheduler has completed the + firing of the given (and the execution its + associated ), and that the + in the given should be updated if the + is stateful. + + + + + Get a list of all scheduler instances in the cluster that may have failed. + This includes this scheduler if it is checking in for the first time. + + + + + Create dummy objects for fired triggers + that have no scheduler state record. Checkin timestamp and interval are + left as zero on these dummy objects. + + + List of all current s + + + + Cleanup the given database connection. This means restoring + any modified auto commit or transaction isolation connection + attributes, and then closing the underlying connection. + + + + This is separate from closeConnection() because the Spring + integration relies on being able to overload closeConnection() and + expects the same connection back that it originally returned + from the datasource. + + + + + + Closes the supplied connection. + + (Optional) + + + + Rollback the supplied connection. + + (Optional) + + JobPersistenceException thrown if a SQLException occurs when the + connection is rolled back + + + + + Commit the supplied connection. + + The CTH. + if set to true opens a new transaction. + JobPersistenceException thrown if a SQLException occurs when the + + + + Execute the given callback in a transaction. Depending on the JobStore, + the surrounding transaction may be assumed to be already present + (managed). + + + This method just forwards to ExecuteInLock() with a null lockName. + + + + + + Execute the given callback having acquired the given lock. + Depending on the JobStore, the surrounding transaction may be + assumed to be already present (managed). This version is just a + handy wrapper around executeInLock that doesn't require a return + value. + + + The name of the lock to acquire, for example + "TRIGGER_ACCESS". If null, then no lock is acquired, but the + lockCallback is still executed in a transaction. + + + The callback to excute after having acquired the given lock. + + + + + + Execute the given callback having acquired the given lock. + Depending on the JobStore, the surrounding transaction may be + assumed to be already present (managed). + + + The name of the lock to acquire, for example + "TRIGGER_ACCESS". If null, then no lock is acquired, but the + lockCallback is still executed in a transaction. + + + The callback to excute after having acquired the given lock. + + + + + Execute the given callback having optionally acquired 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 acquire, for example + "TRIGGER_ACCESS". If null, then no lock is acquired, but the + lockCallback is still executed in a non-managed transaction. + + + + The callback to excute after having acquired the given lock. + + + + + Execute the given callback having optionally acquired the given lock. + This uses the non-managed transaction connection. + + + The name of the lock to acquire, for example + "TRIGGER_ACCESS". If null, then no lock is acquired, but the + lockCallback is still executed in a non-managed transaction. + + + The callback to excute after having acquired the given lock. + + + + + 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. + + + However, if batch acquisition is used, it is important for this behavior + to be used for all dbs. + + + + + Get or set the ADO.NET driver delegate class name. + + + + + The driver delegate's initialization string. + + + + + set the SQL statement to use to select and lock a row in the "locks" + table. + + + + + + Get whether the threads spawned by this JobStore should be + marked as daemon. Possible threads include the + and the . + + + + + + Get whether to check to see if there are Triggers that have misfired + before actually acquiring the lock to recover them. This should be + set to false if the majority of the time, there are are misfired + Triggers. + + + + + + Get the driver delegate for DB operations. + + + + + Get whether String-only properties will be handled in JobDataMaps. + + + + + Indicates whether this job store supports persistence. + + + + + + + An interface for classes wishing to provide the service of loading classes + and resources within the scheduler... + + James House + Marko Lahma (.NET) + + + + Called to give the ClassLoadHelper a chance to Initialize itself, + including the 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 acquired the given lock. + Because CMT assumes that the connection is already part of a managed + transaction, it does not attempt to commit or rollback the + enclosing transaction. + + + + + + + The name of the lock to acquire, for example + "TRIGGER_ACCESS". If null, then no lock is acquired, but the + txCallback is still executed in a transaction. + + Callback to execute. + + + + is meant to be used in a standalone environment. + Both commit and rollback will be handled by this class. + + Jeffrey Wescott + James House + Marko Lahma (.NET) + + + + Called by the QuartzScheduler before the is + used, in order to give the it a chance to Initialize. + + + + + + + For , the non-managed TX connection is just + the normal connection because it is not CMT. + + + + + + Execute the given callback having optionally 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 + Marko Lahma (.NET) + + + + An exception that is thrown to indicate that there has been a failure in the + scheduler's underlying persistence mechanism. + + James House + Marko Lahma (.NET) + + + + Create a with the given message. + + + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + Create a with the given message + and cause. + + + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + This is a driver delegate for the MySQL ADO.NET driver. + + Marko Lahma + + + + 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) + + + + Initializes the driver delegate. + + + + + Insert the job detail record. + + the DB Connection + the new state for the triggers + the first old state to update + the second old state to update + number of rows updated + + + + Get the names of all of the triggers that have misfired. + + the DB Connection + The ts. + an array of objects + + + + Select all of the triggers in a given state. + + The DB Connection + The state the triggers must be in + an array of trigger s + + + + Get the names of all of the triggers in the given state that have + misfired - according to the given timestamp. + + The DB Connection + The state. + The time stamp. + An array of objects + + + + Get the names of all of the triggers in the given state that have + misfired - according to the given timestamp. No more than count will + be returned. + + The conn. + The state1. + The ts. + The most misfired triggers to return, negative for all + + Output parameter. A List of objects. Must not be null + + Whether there are more misfired triggers left to find beyond the given count. + + + + Get the number of triggers in the given state that have + misfired - according to the given timestamp. + + + + + + + + + Get the names of all of the triggers in the given group and state that + have misfired. + + The DB Connection + Name of the group. + The state. + The timestamp. + an array of objects + + + + Select all of the triggers for jobs that are requesting recovery. The + returned trigger objects will have unique "recoverXXX" trigger names and + will be in the + trigger group. + + + In order to preserve the ordering of the triggers, the fire time will be + set from the ColumnFiredTime column in the TableFiredTriggers + table. The caller is responsible for calling + on each returned trigger. It is also up to the caller to insert the + returned triggers to ensure that they are fired. + + The DB Connection + an array of objects + + + + Delete all fired triggers. + + The DB Connection. + The number of rows deleted. + + + + Delete all fired triggers of the given instance. + + The DB Connection + The instance id. + The number of rows deleted + + + + Clear (delete!) all scheduling data - all s, s + s. + + + + + + + Insert the job detail record. + + The DB Connection. + The job to insert. + Number of rows inserted. + + + + Gets the db presentation for boolean value. Subclasses can overwrite this behaviour. + + Value to map to database. + + + + + Gets the boolean value from db presentation. Subclasses can overwrite this behaviour. + + Value to map from database. + + + + + Gets the db presentation for date/time value. Subclasses can overwrite this behaviour. + + Value to map to database. + + + + + Gets the date/time value from db presentation. Subclasses can overwrite this behaviour. + + Value to map from database. + + + + + Gets the db presentation for time span value. Subclasses can overwrite this behaviour. + + Value to map to database. + + + + + Gets the time span value from db presentation. Subclasses can overwrite this behaviour. + + Value to map from database. + + + + + Update the job detail record. + + The DB Connection. + The job to update. + Number of rows updated. + + + + Get the names of all of the triggers associated with the given job. + + The DB Connection. + The key identifying the job. + An array of objects + + + + Delete the job detail record for the given job. + + the DB Connection + The key identifying the job. + the number of rows deleted + + + + Check whether or not the given job is stateful. + + the DB Connection + The key identifying the job. + + true if the job exists and is stateful, false otherwise + + + + + Check whether or not the given job exists. + + the DB Connection + The key identifying the job. + true if the job exists, false otherwise + + + + Update the job data map for the given job. + + The conn. + the job to update + the number of rows updated + + + + Select the JobDetail object for a given job name / group name. + + The DB Connection. + The key identifying the job. + The load helper. + The populated JobDetail object. + + + build Map from java.util.Properties encoding. + + + + Select the total number of jobs stored. + + The DB Connection. + The total number of jobs stored. + + + + Select all of the job group names that are stored. + + The DB Connection. + An array of group names. + + + + Select all of the jobs contained in a given group. + + The DB Connection. + + An array of job names. + + + + Insert the base trigger data. + + the DB Connection + the trigger to insert + the state that the trigger should be stored in + The job detail. + the number of rows inserted + + + + Insert the blob trigger data. + + The DB Connection. + The trigger to insert. + The number of rows inserted. + + + + Update the base trigger data. + + The DB Connection. + The trigger to insert. + The state that the trigger should be stored in. + The job detail. + The number of rows updated. + + + + Update the blob trigger data. + + The DB Connection. + The trigger to insert. + The number of rows updated. + + + + Check whether or not a trigger exists. + + The DB Connection. + the key of the trigger + true if the trigger exists, false otherwise + + + + Update the state for a given trigger. + + The DB Connection. + the key of the trigger + The new state for the trigger. + The number of rows updated. + + + + Update the given trigger to the given new state, if it is one of the + given old states. + + The DB connection. + the key of the trigger + The new state for the trigger. + One of the old state the trigger must be in. + One of the old state the trigger must be in. + One of the old state the trigger must be in. + The number of rows updated. + + + + Update all triggers in the given group to the given new state, if they + are in one of the given old states. + + The DB connection. + + The new state for the trigger. + One of the old state the trigger must be in. + One of the old state the trigger must be in. + One of the old state the trigger must be in. + The number of rows updated. + + + + Update the given trigger to the given new state, if it is in the given + old state. + + the DB connection + the key of the trigger + the new state for the trigger + the old state the trigger must be in + int the number of rows updated + + + + Update all of the triggers of the given group to the given new state, if + they are in the given old state. + + the DB connection + + the new state for the trigger group + the old state the triggers must be in + int the number of rows updated + + + + Update the states of all triggers associated with the given job. + + the DB Connection + the key of the job + the new state for the triggers + the number of rows updated + + + + Updates the state of the trigger states for job from other. + + The conn. + Key of the job. + The state. + The old state. + + + + + Delete the cron trigger data for a trigger. + + the DB Connection + the key of the trigger + the number of rows deleted + + + + Delete the base trigger data for a trigger. + + the DB Connection + the key of the trigger + the number of rows deleted + + + + Select the number of triggers associated with a given job. + + the DB Connection + the key of the job + the number of triggers for the given job + + + + Select the job to which the trigger is associated. + + the DB Connection + the key of the trigger + The load helper. + The object associated with the given trigger + + + + Select the triggers for a job + + the DB Connection + the key of the job + + an array of objects + associated with a given job. + + + + + Select the triggers for a calendar + + The DB Connection. + Name of the calendar. + + An array of objects associated with a given job. + + + + + Select a trigger. + + the DB Connection + the key of the trigger + The object + + + + Select a trigger's JobDataMap. + + the DB Connection + the key of the trigger + The of the Trigger, never null, but possibly empty. + + + + Select a trigger's state value. + + the DB Connection + the key of the trigger + The object + + + + Select a trigger status (state and next fire time). + + the DB Connection + the key of the trigger + + a object, or null + + + + + Select the total number of triggers stored. + + the DB Connection + the total number of triggers stored + + + + Select all of the trigger group names that are stored. + + the DB Connection + + an array of group names + + + + + Select all of the triggers contained in a given group. + + the DB Connection + + + an array of trigger names + + + + + Inserts the paused trigger group. + + The conn. + Name of the group. + + + + + Deletes the paused trigger group. + + The conn. + Name of the group. + + + + + Deletes all paused trigger groups. + + The conn. + + + + + Determines whether the specified trigger group is paused. + + The conn. + Name of the group. + + true if trigger group is paused; otherwise, false. + + + + + Determines whether given trigger group already exists. + + The conn. + Name of the group. + + true if trigger group exists; otherwise, false. + + + + + Insert a new calendar. + + the DB Connection + The name for the new calendar. + The calendar. + the number of rows inserted + IOException + + + + Update a calendar. + + the DB Connection + The name for the new calendar. + The calendar. + the number of rows updated + IOException + + + + Check whether or not a calendar exists. + + the DB Connection + The name of the calendar. + + true if the trigger exists, false otherwise + + + + + Select a calendar. + + the DB Connection + The name of the calendar. + the Calendar + ClassNotFoundException + IOException + + + + Check whether or not a calendar is referenced by any triggers. + + the DB Connection + The name of the calendar. + + true if any triggers reference the calendar, false otherwise + + + + + Delete a calendar. + + the DB Connection + The name of the trigger. + the number of rows deleted + + + + Select the total number of calendars stored. + + the DB Connection + the total number of calendars stored + + + + Select all of the stored calendars. + + the DB Connection + + an array of calendar names + + + + + Select the trigger that will be fired at the given fire time. + + the DB Connection + the time that the trigger will be fired + + a representing the + trigger that will be fired at the given fire time, or null if no + trigger will be fired at that time + + + + + Select the next trigger which will fire to fire between the two given timestamps + in ascending order of fire time, and then descending by priority. + + The conn. + highest value of of the triggers (exclusive) + highest value of of the triggers (inclusive) + maximum number of trigger keys allow to acquired in the returning list. + A (never null, possibly empty) list of the identifiers (Key objects) of the next triggers to be fired. + + + + Insert a fired trigger. + + the DB Connection + the trigger + the state that the trigger should be stored in + The job. + the number of rows inserted + + + + + Update a fired trigger. + + + + + + the DB Connection + + the trigger + + + the state that the trigger should be stored in + the number of rows inserted + + + + Select the states of all fired-trigger records for a given trigger, or + trigger group if trigger name is . + + The DB connection. + Name of the trigger. + Name of the group. + a List of objects. + + + + Select the states of all fired-trigger records for a given job, or job + group if job name is . + + The DB connection. + Name of the job. + Name of the group. + a List of objects. + + + + Select the states of all fired-trigger records for a given scheduler + instance. + + The DB Connection + Name of the instance. + A list of FiredTriggerRecord objects. + + + + Select the distinct instance names of all fired-trigger records. + + The conn. + + + This is useful when trying to identify orphaned fired triggers (a + fired trigger without a scheduler state record.) + + + + + Delete a fired trigger. + + the DB Connection + the fired trigger entry to delete + the number of rows deleted + + + + Selects the job execution count. + + The DB connection. + The key of the job. + + + + + Inserts the state of the scheduler. + + The conn. + The instance id. + The check in time. + The interval. + + + + + Deletes the state of the scheduler. + + The database connection. + The instance id. + + + + + Updates the state of the scheduler. + + The database connection. + The instance id. + The check in time. + + + + + A List of all current s. + + If instanceId is not null, then only the record for the identified + instance will be returned. + + + The DB Connection + The instance id. + + + + + Replace the table prefix in a query by replacing any occurrences of + "{0}" with the table prefix. + + The 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. + + + + This method should be overridden by any delegate subclasses that need + special handling for BLOBs for job details. + + The result set, already queued to the correct row. + The column index for the BLOB. + The deserialized Object from the ResultSet BLOB. + + + + Selects the paused trigger groups. + + The DB Connection. + + + + + Gets the select next trigger to acquire SQL clause. + MySQL version with LIMIT support. + + + + + + Exception class for when a driver delegate cannot be found for a given + configuration, or lack thereof. + + Jeffrey Wescott + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + This is a driver delegate for the Oracle database. + + Marko Lahma + + + + Creates the SQL for select next trigger to acquire. + + + + + Gets the db presentation for boolean value. For Oracle we use true/false of "1"/"0". + + Value to map to database. + + + + + Conveys a scheduler-instance state record. + + James House + Marko Lahma (.NET) + + + + Gets or sets the checkin interval. + + The checkin interval. + + + + Gets or sets the checkin timestamp. + + The checkin timestamp. + + + + Gets or sets the scheduler instance id. + + The scheduler instance id. + + + + Internal in-memory lock handler for providing thread/resource locking in + order to protect resources from being altered by multiple threads at the + same time. + + James House + Marko Lahma (.NET) + + + + Grants a lock on the identified resource to the calling thread (blocking + until it is available). + + True if the lock was obtained. + + + Release the lock on the identified resource if it is held by the calling + thread. + + + + + Determine whether the calling thread owns a lock on the identified + resource. + + + + + Gets the thread locks. + + The thread locks. + + + + Whether this Semaphore implementation requires a database connection for + its lock management operations. + + + + + + + + + This is a driver delegate for the SQLiteDelegate ADO.NET driver. + + Marko Lahma + + + + Gets the select next trigger to acquire SQL clause. + SQLite version with LIMIT support. + + + + + + A SQL Server specific driver delegate. + + Marko Lahma + + + + Gets the select next trigger to acquire SQL clause. + SQL Server specific version with TOP functionality + + + + + + Internal database based lock handler for providing thread/resource locking + in order to protect resources from being altered by multiple threads at the + same time. + + James House + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + The table prefix. + the scheduler name + The select with lock SQL. + + + + + Execute the SQL select for update that will lock the proper database row. + + + + + Property name and value holder for trigger state data. + + + + + Object representing a job or trigger key. + + James House + Marko Lahma (.NET) + + + + Construct a new TriggerStatus with the status name and nextFireTime. + + The trigger's status + The next time trigger will fire + + + + Return the string representation of the TriggerStatus. + + + + + + Provide thread/resource locking in order to protect + resources from being altered by multiple threads at the same time using + a db row update. + + + + Note: This Semaphore implementation is useful for databases that do + not support row locking via "SELECT FOR UPDATE" or SQL Server's type syntax. + + + As of Quartz.NET 2.0 version there is no need to use this implementation for + SQL Server databases. + + + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Execute the SQL that will lock the proper database row. + + + + + + + + + This implementation of the Calendar excludes a set of days of the year. You + may use it to exclude bank holidays which are on the same date every year. + + + + Juergen Donnerstag + Marko Lahma (.NET) + + + + This implementation of the Calendar may be used (you don't have to) as a + base class for more sophisticated one's. It merely implements the base + functionality required by each Calendar. + + + Regarded as base functionality is the treatment of base calendars. Base + calendar allow you to chain (stack) as much calendars as you may need. For + example to exclude weekends you may use WeeklyCalendar. In order to exclude + holidays as well you may define a WeeklyCalendar instance to be the base + calendar for HolidayCalendar instance. + + + Juergen Donnerstag + James House + Marko Lahma (.NET) + + + + An interface to be implemented by objects that define spaces of time during + which an associated may (not) fire. Calendars + do not define actual fire times, but rather are used to limit a + from firing on its normal schedule if necessary. Most + Calendars include all times by default and allow the user to specify times + to exclude. + + + As such, it is often useful to think of Calendars as being used to exclude a block + of time - as opposed to include a block of time. (i.e. the + schedule "fire every five minutes except on Sundays" could be + implemented with a and a + which excludes Sundays) + + Implementations MUST take care of being properly cloneable and Serializable. + + + James House + Juergen Donnerstag + Marko Lahma (.NET) + + + + Determine whether the given UTC time is 'included' by the + Calendar. + + + + + Determine the next UTC time that is 'included' by the + Calendar after the given UTC time. + + + + + Gets or sets a description for the instance - may be + useful for remembering/displaying the purpose of the calendar, though + the description has no meaning to Quartz. + + + + + Set a new base calendar or remove the existing one. + Get the base calendar. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The base calendar. + + + + Initializes a new instance of the class. + + The time zone. + + + + Initializes a new instance of the class. + + The base calendar. + The time zone. + + + + Serialization constructor. + + + + + + + checks whether two arrays have + the same length and + for any given place there are equal elements + in both arrays + + + + + + Get the base calendar. Will be null, if not set. + + + + + Check if date/time represented by timeStamp is included. If included + return true. The implementation of BaseCalendar simply calls the base + calendars IsTimeIncluded() method if base calendar is set. + + + + + + Determine the next UTC time (in milliseconds) that is 'included' by the + Calendar after the given time. Return the original value if timeStamp is + included. Return 0 if all days are excluded. + + + + + + Creates a new object that is a copy of the current instance. + + A new object that is a copy of this instance. + + + + Gets or sets the time zone. + + The time zone. + + + + Gets or sets the description given to the instance by + its creator (if any). + + + + + Set a new base calendar or remove the existing one + + + + + + Constructor + + + + + Constructor + + The base calendar. + + + + Serialization constructor. + + + + + + + Return true, if day is defined to be 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 + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + a string representation of the desired cron expression + + + + Create a with the given cron expression and + . + + + the base calendar for this calendar instance + see BaseCalendar for more information on base + calendar functionality + + a string representation of the desired cron expression + + + + Create a with the given cron expression and + . + + + the base calendar for this calendar instance + see BaseCalendar for more information on base + calendar functionality + + a string representation of the desired cron expression + + + + + Serialization constructor. + + + + + + + Determine whether the given time is 'included' by the + Calendar. + + the time to test + a boolean indicating whether the specified time is 'included' by the CronCalendar + + + + Determine the next time that is 'included' by the + Calendar after the given time. Return the original value if timeStamp is + included. Return 0 if all days are excluded. + + + + + + + Creates a new object that is a copy of the current instance. + + A new object that is a copy of this instance. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Sets the cron expression for the calendar to a new value. + + The expression. + + + + Returns the object representation of the cron expression that defines the + dates and times this calendar excludes. + + + + + This implementation of the Calendar excludes (or includes - see below) a + specified time range each day. + + + For example, you could use this calendar to + exclude business hours (8AM - 5PM) every day. Each + only allows a single time range to be specified, and that time range may not + * cross daily boundaries (i.e. you cannot specify a time range from 8PM - 5AM). + If the property is (default), + the time range defines a range of times in which triggers are not allowed to + * fire. If is , the time range + is inverted: that is, all times outside the defined time range + are excluded. + + Note when using , it behaves on the same principals + as, for example, WeeklyCalendar defines a set of days that are + excluded every week. Likewise, defines a + set of times that are excluded every day. + + + Mike Funk + Aaron Craven + Marko Lahma (.NET) + + + + Create a with a time range defined by the + specified strings and no baseCalendar. + and + must be in the format "HH:MM[:SS[:mmm]]" where: +
    +
  • + HH is the hour of the specified time. The hour should be + specified using military (24-hour) time and must be in the range + 0 to 23. +
  • +
  • + MM is the minute of the specified time and must be in the range + 0 to 59. +
  • +
  • + SS is the second of the specified time and must be in the range + 0 to 59. +
  • +
  • + mmm is the millisecond of the specified time and must be in the + range 0 to 999. +
  • +
  • items enclosed in brackets ('[', ']') are optional.
  • +
  • + The time range starting time must be before the time range ending + time. Note this means that a time range may not cross daily + boundaries (10PM - 2AM) +
  • +
+
+
+ + + 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. +
+ + + Serialization constructor. + + + + + + + Determine whether the given time is 'included' by the + Calendar. + + + + + + + Determine the next time (in milliseconds) that is 'included' by the + Calendar after the given time. Return the original value if timeStamp is + included. Return 0 if all days are excluded. + + + + + + + + Returns the start time of the time range of the day + specified in . + + + a DateTime representing the start time of the + time range for the specified date. + + + + + Returns the end time of the time range of the day + specified in + + + A DateTime representing the end time of the + time range for the specified date. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Sets the time range for the to the times + represented in the specified Strings. + + The range starting time string. + The range ending time string. + + + + Sets the time range for the to the times + represented in the specified values. + + The range starting hour of day. + The range starting minute. + The range starting second. + The range starting millis. + The range ending hour of day. + The range ending minute. + The range ending second. + The range ending millis. + + + + Sets the time range for the to the times + represented in the specified s. + + The range starting calendar. + The range ending calendar. + + + + Sets the time range for the to the times + represented in the specified values. + + The range starting time. + The range ending time. + + + + Gets the start of day, practically zeroes time part. + + The time. + + + + + Gets the end of day, 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 + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The base calendar. + + + + Serialization constructor. + + + + + + + Determine whether the given time (in milliseconds) is 'included' by the + Calendar. + + Note that this Calendar is only has full-day precision. + + + + + + Determine the next time (in milliseconds) that is 'included' by the + Calendar after the given time. + + Note that this Calendar is only has full-day precision. + + + + + + Creates a new object that is a copy of the current instance. + + A new object that is a copy of this instance. + + + + Add the given Date to the list of excluded days. Only the month, day and + year of the returned dates are significant. + + + + + Removes the excluded date. + + The date to remove. + + + + Returns a of Dates representing the excluded + days. Only the month, day and year of the returned dates are + significant. + + + + + This implementation of the Calendar excludes a set of days of the month. You + may use it to exclude every 1. of each month for example. But you may define + any day of a month. + + + + Juergen Donnerstag + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Constructor + + The base calendar. + + + + Serialization constructor. + + + + + + + Initialize internal variables + + + + + Return true, if 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. + + + + + + Creates a new object that is a copy of the current instance. + + A new object that is a copy of this instance. + + + + Get or set the array which defines the exclude-value of each day of month + Setting will redefine the array of days excluded. The array must of size greater or + equal 31. + + + + + This implementation of the Calendar excludes a set of days of the week. You + may use it to exclude weekends for example. But you may define any day of + the week. + + + + Juergen Donnerstag + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The base calendar. + + + + Serialization constructor. + + + + + + + Initialize internal variables + + + + + Return true, if wday is defined to be 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. + + + + + Matches using an AND operator on two Matcher operands. + + James House + Marko Lahma (.NET) + + + + Matchers can be used in various API methods to + select the entities that should be operated upon. + + James House + + + + + Create an AndMatcher that depends upon the result of both of the given matchers. + + + + + + + + + Matches on the complete key being equal (both name and group). + + + + jhouse + + + + Create an EverythingMatcher that matches all jobs. + + + + + + Create an EverythingMatcher that matches all triggers. + + + + + + Matches on group (ignores name) property of Keys. + + James House + Marko Lahma (.NET) + + + + An abstract base class for some types of matchers. + + James House + Marko Lahma (.NET) + + + + Create a GroupMatcher that matches groups equaling the given string. + + + + + + + Create a GroupMatcher that matches groups starting with the given string. + + + + + + + Create a GroupMatcher that matches groups ending with the given string. + + + + + + + Create a GroupMatcher that matches groups containing the given string. + + + + + + + Matches on the complete key being equal (both name and group). + + James House + Marko Lahma (.NET) + + + + Create a KeyMatcher that matches Keys that equal the given key. + + + + + + + + Matches on name (ignores group) property of Keys. + + James House + Marko Lahma (.NET) + + + + Create a NameMatcher that matches names equaling the given string. + + + + + + + Create a NameMatcher that matches names starting with the given string. + + + + + + + Create a NameMatcher that matches names ending with the given string. + + + + + + + Create a NameMatcher that matches names containing the given string. + + + + + + + Matches using an NOT operator on another Matcher. + + James House + Marko Lahma (.NET) + + + + Create a NotMatcher that reverses the result of the given matcher. + + + + + + + + Matches using an OR operator on two Matcher operands. + + James House + Marko Lahma (.NET) + + + + Create an OrMatcher that depends upon the result of at least one of the given matchers. + + + + + + + + + Operators available for comparing string values. + + + + + The base abstract class to be extended by all triggers. + + + + s have a name and group associated with them, which + should uniquely identify them within a single . + + + + s are the 'mechanism' by which s + are scheduled. Many s can point to the same , + but a single can only point to one . + + + + Triggers can 'send' parameters/data to s by placing contents + into the on the . + + + + + + + + James House + Sharada Jambula + Marko Lahma (.NET) + + + + Internal interface for managing triggers. This interface should not be used by the Quartz client. + + + + + Should not be used by end users. + + + + + The base interface with properties common to all s - + use to instantiate an actual Trigger. + + + + s have a associated with them, which + should uniquely identify them within a single . + + + + s are the 'mechanism' by which s + are scheduled. Many s can point to the same , + but a single can only point to one . + + + + Triggers can 'send' parameters/data to s by placing contents + into the on the . + + + + + + + + + + James House + Sharada Jambula + Marko Lahma (.NET) + + + + Get a that is configured to produce a + schedule identical to this trigger's schedule. + + + + + + Used by the to determine whether or not + it is possible for this to fire again. + + If the returned value is then the + may remove the from the . + + + + + + Returns the next time at which the is scheduled to fire. If + the trigger will not fire again, will be returned. Note that + the time returned can possibly be in the past, if the time that was computed + for the trigger to next fire has already arrived, but the scheduler has not yet + been able to fire the trigger (which would likely be due to lack of resources + e.g. threads). + + + The value returned is not guaranteed to be valid until after the + has been added to the scheduler. + + + + + + Returns the previous time at which the fired. + If the trigger has not yet fired, will be returned. + + + + + Returns the next time at which the will fire, + after the given time. If the trigger will not fire after the given time, + will be returned. + + + + + Get or set the description given to the instance by + its creator (if any). + + + + + Get or set the with the given name with + this Trigger. Use when setting to dis-associate a Calendar. + + + + + Get or set the that is associated with the + . + + Changes made to this map during job execution are not re-persisted, and + in fact typically result in an illegal state. + + + + + + Returns the last UTC time at which the will fire, if + the Trigger will repeat indefinitely, null will be returned. + + Note that the return time *may* be in the past. + + + + + + Get or set the instruction the should be given for + handling misfire situations for this - the + concrete type that you are using will have + defined a set of additional MISFIRE_INSTRUCTION_XXX + constants that may be set to this property. + + If not explicitly set, the default value is . + + + + + + + + + Gets and sets the date/time on which the trigger must stop firing. This + defines the final boundary for trigger firings 舒 the trigger will + not fire after to this date and time. If this value is null, no end time + boundary is assumed, and the trigger can continue indefinitely. + + + + + The time at which the trigger's scheduling should start. May or may not + be the first actual fire time of the trigger, depending upon the type of + trigger and the settings of the other properties of the trigger. However + the first actual first time will not be before this date. + + + Setting a value in the past may cause a new trigger to compute a first + fire time that is in the past, which may cause an immediate misfire + of the trigger. + + + + + The priority of a acts as a tie breaker such that if + two s have the same scheduled fire time, then Quartz + will do its best to give the one with the higher priority first access + to a worker thread. + + + If not explicitly set, the default value is 5. + + + + + + + Set a description for the instance - may be + useful for remembering/displaying the purpose of the trigger, though the + description has no meaning to Quartz. + + + + + Associate the with the given name with this Trigger. + + + + + Set the to be associated with the + . + + + + + The priority of a acts as a tie breaker such that if + two s have the same scheduled fire time, then Quartz + will do its best to give the one with the higher priority first access + to a worker thread. + + + If not explicitly set, the default value is 5. + + + + + + + The time at which the trigger's scheduling should start. May or may not + be the first actual fire time of the trigger, depending upon the type of + trigger and the settings of the other properties of the trigger. However + the first actual first time will not be before this date. + + + Setting a value in the past may cause a new trigger to compute a first + fire time that is in the past, which may cause an immediate misfire + of the trigger. + + ew DateTimeOffset StartTimeUtc { get; set; } + + + + + + Set the time at which the should quit repeating - + regardless of any remaining repeats (based on the trigger's particular + repeat settings). + + + + + + + + Set the instruction the should be given for + handling misfire situations for this - the + concrete type that you are using will have + defined a set of additional MisfireInstruction.XXX + constants that may be passed to this method. + + + If not explicitly set, the default value is . + + + + + + + + This method should not be used by the Quartz client. + + + Called when the has decided to 'fire' + the trigger (Execute the associated ), in order to + give the a chance to update itself for its next + triggering (if any). + + + + + + This method should not be used by the Quartz client. + + + + Called by the scheduler at the time a is first + added to the scheduler, in order to have the + compute its first fire time, based on any associated calendar. + + + + After this method has been called, + should return a valid answer. + + + + The first time at which the will be fired + by the scheduler, which is also the same value + will return (until after the first firing of the ). + + + + + This method should not be used by the Quartz client. + + + Called after the has executed the + associated with the + in order to get the final instruction code from the trigger. + + + is the that was used by the + 's method. + is the thrown by the + , if any (may be null). + + + One of the members. + + + + + + + + + + This method should not be used by the Quartz client. + + To be implemented by the concrete classes that extend this class. + + + The implementation should update the 's state + based on the MISFIRE_INSTRUCTION_XXX that was selected when the + was created. + + + + + + This method should not be used by the Quartz client. + + The implementation should update the 's state + based on the given new version of the associated + (the state should be updated so that it's next fire time is appropriate + given the Calendar's new settings). + + + + + + + + Validates whether the properties of the are + valid for submission into a . + + + + + This method should not be used by the Quartz client. + + + Usable by + implementations, in order to facilitate 'recognizing' instances of fired + s as their jobs complete execution. + + + + + Returns the previous time at which the fired. + If the trigger has not yet fired, will be returned. + + + + + Create a with no specified name, group, or . + + + Note that the , and + the and properties + must be set before the can be placed into a + . + + + + + Create a with the given name, and default group. + + + Note that the and + properties must be set before the + can be placed into a . + + The name. + + + + Create a with the given name, and group. + + + Note that the and + properties must be set before the + can be placed into a . + + The name. + if , Scheduler.DefaultGroup will be used. + + + + Create a with the given name, and group. + + The name. + if , Scheduler.DefaultGroup will be used. + Name of the job. + The job group. + ArgumentException + if name is null or empty, or the group is an empty string. + + + + + This method should not be used by the Quartz client. + + + Called when the has decided to 'fire' + the trigger (Execute the associated ), in order to + give the a chance to update itself for its next + triggering (if any). + + + + + + This method should not be used by the Quartz client. + + + + Called by the scheduler at the time a is first + added to the scheduler, in order to have the + compute its first fire time, based on any associated calendar. + + + + After this method has been called, + should return a valid answer. + + + + The first time at which the will be fired + by the scheduler, which is also the same value + will return (until after the first firing of the ). + + + + + This method should not be used by the Quartz client. + + + Called after the has executed the + associated with the + in order to get the final instruction code from the trigger. + + + is the that was used by the + 's method. + is the thrown by the + , if any (may be null). + + + One of the members. + + + + + + + Used by the to determine whether or not + it is possible for this to fire again. + + If the returned value is then the + may remove the from the . + + + + + + Returns the next time at which the is scheduled to fire. If + the trigger will not fire again, will be returned. Note that + the time returned can possibly be in the past, if the time that was computed + for the trigger to next fire has already arrived, but the scheduler has not yet + been able to fire the trigger (which would likely be due to lack of resources + e.g. threads). + + + The value returned is not guaranteed to be valid until after the + has been added to the scheduler. + + + + + + Returns the next time at which the will fire, + after the given time. If the trigger will not fire after the given time, + will be returned. + + + + + Validates the misfire instruction. + + The misfire instruction. + + + + + This method should not be used by the Quartz client. + + To be implemented by the concrete classes that extend this class. + + + The implementation should update the 's state + based on the MISFIRE_INSTRUCTION_XXX that was selected when the + was created. + + + + + + This method should not be used by the Quartz client. + + The implementation should update the 's state + based on the given new version of the associated + (the state should be updated so that it's next fire time is appropriate + given the Calendar's new settings). + + + + + + + + Validates whether the properties of the are + valid for submission into a . + + + + + Return a simple string representation of this object. + + + + + Compare the next fire time of this to that of + another by comparing their keys, or in other words, sorts them + according to the natural (i.e. alphabetical) order of their keys. + + + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Trigger equality is based upon the equality of the TriggerKey. + + + true if the key of this Trigger equals that of the given Trigger + + + + Serves as a hash function for a particular type. is suitable for use in hashing algorithms and data structures like a hash table. + + + A hash code for the current . + + + + + Creates a new object that is a copy of the current instance. + + + A new object that is a copy of this instance. + + + + + Get or sets the name of this . + + If name is null or empty. + + + + Get the group of this . If , Scheduler.DefaultGroup will be used. + + + if group is an empty string. + + + + + Get or set the name of the associated . + + + if jobName is null or empty. + + + + + Gets or sets the name of the associated 's + group. If set with , Scheduler.DefaultGroup will be used. + + ArgumentException + if group is an empty string. + + + + + Returns the 'full name' of the in the format + "group.name". + + + + + Gets the key. + + The key. + + + + Returns the 'full name' of the that the + points to, in the format "group.name". + + + + + Get or set the description given to the instance by + its creator (if any). + + + + + Get or set the with the given name with + this Trigger. Use when setting to dis-associate a Calendar. + + + + + Get or set the that is associated with the + . + + Changes made to this map during job execution are not re-persisted, and + in fact typically result in an illegal state. + + + + + + Returns the last UTC time at which the will fire, if + the Trigger will repeat indefinitely, null will be returned. + + Note that the return time *may* be in the past. + + + + + + Get or set the instruction the should be given for + handling misfire situations for this - the + concrete type that you are using will have + defined a set of additional MISFIRE_INSTRUCTION_XXX + constants that may be passed to this method. + + If not explicitly set, the default value is . + + + + + + + + + + This method should not be used by the Quartz client. + + + Usable by + implementations, in order to facilitate 'recognizing' instances of fired + s as their jobs complete execution. + + + + + Gets and sets the date/time on which the trigger must stop firing. This + defines the final boundary for trigger firings 舒 the trigger will + not fire after to this date and time. If this value is null, no end time + boundary is assumed, and the trigger can continue indefinitely. + + + + + The time at which the trigger's scheduling should start. May or may not + be the first actual fire time of the trigger, depending upon the type of + trigger and the settings of the other properties of the trigger. However + the first actual first time will not be before this date. + + + Setting a value in the past may cause a new trigger to compute a first + fire time that is in the past, which may cause an immediate misfire + of the trigger. + + + + + Tells whether this Trigger instance can handle events + in millisecond precision. + + + + + The priority of a acts as a tie breaker such that if + two s have the same scheduled fire time, then Quartz + will do its best to give the one with the higher priority first access + to a worker thread. + + + If not explicitly set, the default value is 5. + + + + + + + Gets a value indicating whether this instance has additional properties + that should be considered when for example saving to database. + + + If trigger implementation has additional properties that need to be saved + with base properties you need to make your class override this property with value true. + Returning true will effectively mean that ADOJobStore needs to serialize + this trigger instance to make sure additional properties are also saved. + + + true if this instance has additional properties; otherwise, false. + + + + + A concrete that is used to fire a + based upon repeating calendar time intervals. + + + The trigger will fire every N (see ) units of calendar time + (see ) as specified in the trigger's definition. + This trigger can achieve schedules that are not possible with (e.g + because months are not a fixed number of seconds) or (e.g. because + "every 5 months" is not an even divisor of 12). + + If you use an interval unit of then care should be taken when setting + a value that is on a day near the end of the month. For example, + if you choose a start time that occurs on January 31st, and have a trigger with unit + and interval 1, then the next fire time will be February 28th, + and the next time after that will be March 28th - and essentially each subsequent firing will + occur on the 28th of the month, even if a 31st day exists. If you want a trigger that always + fires on the last day of the month - regardless of the number of days in the month, + you should use . + + + + + + + 2.0 + James House + Marko Lahma (.NET) + + + + A that is used to fire a + based upon repeating calendar time intervals. + + + + + Get or set the interval unit - the time unit on with the interval applies. + + + + + Get the the time interval that will be added to the 's + fire time (in the set repeat interval unit) in order to calculate the time of the + next trigger repeat. + + + + + Get the number of times the has already fired. + + + + + Create a with no settings. + + + + + Create a that will occur immediately, and + repeat at the the given interval. + + Name for the trigger instance. + The repeat interval unit (minutes, days, months, etc). + The number of milliseconds to pause between the repeat firing. + + + + Create a that will occur immediately, and + repeat at the the given interval + + Name for the trigger instance. + Group for the trigger instance. + The repeat interval unit (minutes, days, months, etc). + The number of milliseconds to pause between the repeat firing. + + + + Create a that will occur at the given time, + and repeat at the the given interval until the given end time. + + Name for the trigger instance. + A set to the time for the to fire. + A set to the time for the to quit repeat firing. + The repeat interval unit (minutes, days, months, etc). + The number of milliseconds to pause between the repeat firing. + + + + Create a that will occur at the given time, + and repeat at the the given interval until the given end time. + + Name for the trigger instance. + Group for the trigger instance. + A set to the time for the to fire. + A set to the time for the to quit repeat firing. + The repeat interval unit (minutes, days, months, etc). + The number of milliseconds to pause between the repeat firing. + + + + Create a that will occur at the given time, + and repeat at the the given interval until the given end time. + + Name for the trigger instance. + Group for the trigger instance. + Name of the associated job. + Group of the associated job. + A set to the time for the to fire. + A set to the time for the to quit repeat firing. + The repeat interval unit (minutes, days, months, etc). + The number of milliseconds to pause between the repeat firing. + + + + Validates the misfire instruction. + + The misfire instruction. + + + + + Updates the 's state based on the + MisfireInstruction.XXX that was selected when the + was created. + + + If the misfire instruction is set to , + then the following scheme will be used: +
    +
  • The instruction will be interpreted as
  • +
+
+
+ + + This method should not be used by the Quartz client. + + Called when the has decided to 'fire' + the trigger (Execute the associated ), in order to + give the a chance to update itself for its next + triggering (if any). + + + + + + + This method should not be used by the Quartz client. + + The implementation should update the 's state + based on the given new version of the associated + (the state should be updated so that it's next fire time is appropriate + given the Calendar's new settings). + + + + + + + + This method should not be used by the Quartz client. + + + + Called by the scheduler at the time a is first + added to the scheduler, in order to have the + compute its first fire time, based on any associated calendar. + + + + After this method has been called, + should return a valid answer. + + + + The first time at which the will be fired + by the scheduler, which is also the same value + will return (until after the first firing of the ). + + + + + Returns the next time at which the is scheduled to fire. If + the trigger will not fire again, will be returned. Note that + the time returned can possibly be in the past, if the time that was computed + for the trigger to next fire has already arrived, but the scheduler has not yet + been able to fire the trigger (which would likely be due to lack of resources + e.g. threads). + + + The value returned is not guaranteed to be valid until after the + has been added to the scheduler. + + + + + + Returns the previous time at which the fired. + If the trigger has not yet fired, will be returned. + + + + + Returns the next time at which the will fire, + after the given time. If the trigger will not fire after the given time, + will be returned. + + + + + Determines whether or not the will occur + again. + + + + + + Validates whether the properties of the are + valid for submission into a . + + + + + Get a that is configured to produce a + schedule identical to this trigger's schedule. + + + + + + + + Get the time at which the should occur. + + + + + Tells whether this Trigger instance can handle events + in millisecond precision. + + + + + Get the time at which the should quit + repeating. + + + + + Get or set the interval unit - the time unit on with the interval applies. + + + + + Get the the time interval that will be added to the 's + fire time (in the set repeat interval unit) in order to calculate the time of the + next trigger repeat. + + + + + Get the number of times the has already fired. + + + + + Returns the final time at which the will + fire, if there is no end time set, null will be returned. + + + Note that the return time may be in the past. + + + + A concrete that is used to fire a + at given moments in time, defined with Unix 'cron-like' definitions. + + + + For those unfamiliar with "cron", this means being able to create a firing + schedule such as: "At 8:00am every Monday through Friday" or "At 1:30am + every last Friday of the month". + + + + The format of a "Cron-Expression" string is documented on the + class. + + + + Here are some full examples:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Expression Meaning
"0 0 12 * * ?"" /> Fire at 12pm (noon) every day" />
"0 15 10 ? * *"" /> Fire at 10:15am every day" />
"0 15 10 * * ?"" /> Fire at 10:15am every day" />
"0 15 10 * * ? *"" /> Fire at 10:15am every day" />
"0 15 10 * * ? 2005"" /> Fire at 10:15am every day during the year 2005" /> +
"0 * 14 * * ?"" /> Fire every minute starting at 2pm and ending at 2:59pm, every day" /> +
"0 0/5 14 * * ?"" /> Fire every 5 minutes starting at 2pm and ending at 2:55pm, every day" /> +
"0 0/5 14,18 * * ?"" /> Fire every 5 minutes starting at 2pm and ending at 2:55pm, AND fire every 5 minutes starting at 6pm and ending at 6:55pm, every day" /> +
"0 0-5 14 * * ?"" /> Fire every minute starting at 2pm and ending at 2:05pm, every day" /> +
"0 10,44 14 ? 3 WED"" /> Fire at 2:10pm and at 2:44pm every Wednesday in the month of March." /> +
"0 15 10 ? * MON-FRI"" /> Fire at 10:15am every Monday, Tuesday, Wednesday, Thursday and Friday" /> +
"0 15 10 15 * ?"" /> Fire at 10:15am on the 15th day of every month" /> +
"0 15 10 L * ?"" /> Fire at 10:15am on the last day of every month" /> +
"0 15 10 ? * 6L"" /> Fire at 10:15am on the last Friday of every month" /> +
"0 15 10 ? * 6L"" /> Fire at 10:15am on the last Friday of every month" /> +
"0 15 10 ? * 6L 2002-2005"" /> Fire at 10:15am on every last Friday of every month during the years 2002, 2003, 2004 and 2005" /> +
"0 15 10 ? * 6#3"" /> Fire at 10:15am on the third Friday of every month" /> +
+
+ + + Pay attention to the effects of '?' and '*' in the day-of-week and + day-of-month fields! + + + + NOTES: +
    +
  • Support for specifying both a day-of-week and a day-of-month value is + not complete (you'll need to use the '?' character in on of these fields). +
  • +
  • Be careful when setting fire times between mid-night and 1:00 AM - + "daylight savings" can cause a skip or a repeat depending on whether the + time moves back or jumps forward.
  • +
+
+
+ + + Sharada Jambula + James House + Contributions from Mads Henderson + Marko Lahma (.NET) +
+ + + The public interface for inspecting settings specific to a CronTrigger, + which is used to fire a + at given moments in time, defined with Unix 'cron-like' schedule definitions. + + + + For those unfamiliar with "cron", this means being able to create a firing + schedule such as: "At 8:00am every Monday through Friday" or "At 1:30am + every last Friday of the month". + + + + The format of a "Cron-Expression" string is documented on the + class. + + + + Here are some full examples:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Expression Meaning
"0 0 12 * * ?"" /> Fire at 12pm (noon) every day" />
"0 15 10 ? * *"" /> Fire at 10:15am every day" />
"0 15 10 * * ?"" /> Fire at 10:15am every day" />
"0 15 10 * * ? *"" /> Fire at 10:15am every day" />
"0 15 10 * * ? 2005"" /> Fire at 10:15am every day during the year 2005" /> +
"0 * 14 * * ?"" /> Fire every minute starting at 2pm and ending at 2:59pm, every day" /> +
"0 0/5 14 * * ?"" /> Fire every 5 minutes starting at 2pm and ending at 2:55pm, every day" /> +
"0 0/5 14,18 * * ?"" /> Fire every 5 minutes starting at 2pm and ending at 2:55pm, AND fire every 5 minutes starting at 6pm and ending at 6:55pm, every day" /> +
"0 0-5 14 * * ?"" /> Fire every minute starting at 2pm and ending at 2:05pm, every day" /> +
"0 10,44 14 ? 3 WED"" /> Fire at 2:10pm and at 2:44pm every Wednesday in the month of March." /> +
"0 15 10 ? * MON-FRI"" /> Fire at 10:15am every Monday, Tuesday, Wednesday, Thursday and Friday" /> +
"0 15 10 15 * ?"" /> Fire at 10:15am on the 15th day of every month" /> +
"0 15 10 L * ?"" /> Fire at 10:15am on the last day of every month" /> +
"0 15 10 ? * 6L"" /> Fire at 10:15am on the last Friday of every month" /> +
"0 15 10 ? * 6L"" /> Fire at 10:15am on the last Friday of every month" /> +
"0 15 10 ? * 6L 2002-2005"" /> Fire at 10:15am on every last Friday of every month during the years 2002, 2003, 2004 and 2005" /> +
"0 15 10 ? * 6#3"" /> Fire at 10:15am on the third Friday of every month" /> +
+
+ + + Pay attention to the effects of '?' and '*' in the day-of-week and + day-of-month fields! + + + + NOTES: +
    +
  • Support for specifying both a day-of-week and a day-of-month value is + not complete (you'll need to use the '?' character in on of these fields). +
  • +
  • Be careful when setting fire times between mid-night and 1:00 AM - + "daylight savings" can cause a skip or a repeat depending on whether the + time moves back or jumps forward.
  • +
+
+
+ + + Sharada Jambula + James House + Contributions from Mads Henderson + Marko Lahma (.NET) +
+ + + Gets the expression summary. + + + + + + Gets or sets the cron expression string. + + The cron expression string. + + + + Sets the time zone for which the of this + will be resolved. + + + If is set after this + property, the TimeZone setting on the CronExpression will "win". However + if is set after this property, the + time zone applied by this method will remain in effect, since the + string cron expression does not carry a time zone! + + The time zone. + + + + Create a with no settings. + + + The start-time will also be set to the current time, and the time zone + will be set the the system's default time zone. + + + + + Create a with the given name and default group. + + + The start-time will also be set to the current time, and the time zone + will be set the the system's default time zone. + + The name of the + + + + Create a with the given name and group. + + + The start-time will also be set to the current time, and the time zone + will be set the the system's default time zone. + + The name of the + The group of the + + + + Create a with the given name, group and + expression. + + + The start-time will also be set to the current time, and the time zone + will be set the the system's default time zone. + + The name of the + The group of the + A cron expression dictating the firing sequence of the + + + + Create a with the given name and group, and + associated with the identified . + + + The start-time will also be set to the current time, and the time zone + will be set the the system's default time zone. + + The name of the . + The group of the + name of the executed on firetime + Group of the executed on firetime + + + + Create a with the given name and group, + associated with the identified , + and with the given "cron" expression. + + + The start-time will also be set to the current time, and the time zone + will be set the the system's default time zone. + + The name of the + The group of the + name of the executed on firetime + Group of the executed on firetime + A cron expression dictating the firing sequence of the + + + + Create a with the given name and group, + associated with the identified , + and with the given "cron" expression resolved with respect to the . + + The name of the + The group of the + name of the executed on firetime + Group of the executed on firetime + A cron expression dictating the firing sequence of the + + Specifies for which time zone the cronExpression should be interpreted, + i.e. the expression 0 0 10 * * ?, is resolved to 10:00 am in this time zone. + + + + + Create a that will occur at the given time, + until the given end time. + + If null, the start-time will also be set to the current time, the time + zone will be set the the system's default. + + + The name of the + The group of the + name of the executed on firetime + Group of the executed on firetime + A set to the earliest time for the to start firing. + A set to the time for the to quit repeat firing. + A cron expression dictating the firing sequence of the + + + + Create a with fire time dictated by the + resolved with respect to the specified + occurring from the until + the given . + + The name of the + The group of the + name of the executed on firetime + Group of the executed on firetime + A set to the earliest time for the to start firing. + A set to the time for the to quit repeat firing. + + + + 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. + + + + + + A concrete implementation of DailyTimeIntervalTrigger that is used to fire a + based upon daily repeating time intervals. + + + + The trigger will fire every N ( ) seconds, minutes or hours + (see ) during a given time window on specified days of the week. + + + For example#1, a trigger can be set to fire every 72 minutes between 8:00 and 11:00 everyday. It's fire times would + be 8:00, 9:12, 10:24, then next day would repeat: 8:00, 9:12, 10:24 again. + + + For example#2, a trigger can be set to fire every 23 minutes between 9:20 and 16:47 Monday through Friday. + + + On each day, the starting fire time is reset to startTimeOfDay value, and then it will add repeatInterval value to it until + the endTimeOfDay is reached. If you set daysOfWeek values, then fire time will only occur during those week days period. Again, + remember this trigger will reset fire time each day with startTimeOfDay, regardless of your interval or endTimeOfDay! + + + The default values for fields if not set are: startTimeOfDay defaults to 00:00:00, the endTimeOfDay default to 23:59:59, + and daysOfWeek is default to every day. The startTime default to current time-stamp now, while endTime has not value. + + + If startTime is before startTimeOfDay, then startTimeOfDay will be used and startTime has no affect. Else if startTime is + after startTimeOfDay, then the first fire time for that day will be the next interval after the startTime. For example, if + you set startingTimeOfDay=9am, endingTimeOfDay=11am, interval=15 mins, and startTime=9:33am, then the next fire time will + be 9:45pm. Note also that if you do not set startTime value, the trigger builder will default to current time, and current time + maybe before or after the startTimeOfDay! So be aware how you set your startTime. + + + This trigger also supports "repeatCount" feature to end the trigger fire time after + a certain number of count is reached. Just as the SimpleTrigger, setting repeatCount=0 + means trigger will fire once only! Setting any positive count then the trigger will repeat + count + 1 times. Unlike SimpleTrigger, the default value of repeatCount of this trigger + is set to REPEAT_INDEFINITELY instead of 0 though. + + + + + 2.0 + James House + Zemian Deng saltnlight5@gmail.com + Nuno Maia (.NET) + + + + A that is used to fire a + based upon daily repeating time intervals. + + + The trigger will fire every N (see ) seconds, minutes or hours + (see during a given time window on specified days of the week. + + For example#1, a trigger can be set to fire every 72 minutes between 8:00 and 11:00 everyday. It's fire times + be 8:00, 9:12, 10:24, then next day would repeat: 8:00, 9:12, 10:24 again. + + For example#2, a trigger can be set to fire every 23 minutes between 9:20 and 16:47 Monday through Friday. + + On each day, the starting fire time is reset to startTimeOfDay value, and then it will add repeatInterval value to it until + the endTimeOfDay is reached. If you set daysOfWeek values, then fire time will only occur during those week days period. + + The default values for fields if not set are: startTimeOfDay defaults to 00:00:00, the endTimeOfDay default to 23:59:59, + and daysOfWeek is default to every day. The startTime default to current time-stamp now, while endTime has not value. + + If startTime is before startTimeOfDay, then it has no affect. Else if startTime after startTimeOfDay, then the first fire time + for that day will be normal startTimeOfDay incremental values after startTime value. Same reversal logic is applied to endTime + with endTimeOfDay. + + + + James House + Zemian Deng saltnlight5@gmail.com + Nuno Maia (.NET) + + + + + + + + + Get the the number of times for interval this trigger should repeat, + after which it will be automatically deleted. + + + + + Get the interval unit - the time unit on with the interval applies. + The only intervals that are valid for this type of trigger are , + , and + + + + + Get the the time interval that will be added to the 's + fire time (in the set repeat interval unit) in order to calculate the time of the + next trigger repeat. + + + + + The time of day to start firing at the given interval. + + + + + The time of day to complete firing at the given interval. + + + + + The days of the week upon which to fire. + + + A Set containing the integers representing the days of the week, per the values 0-6 as defined by + DayOfWees.Sunday - DayOfWeek.Saturday. + + + + + Get the number of times the has already fired. + + + + + Used to indicate the 'repeat count' of the trigger is indefinite. Or in + other words, the trigger should repeat continually until the trigger's + ending timestamp. + + + + + Create a with no settings. + + + + + Create a that will occur immediately, and + repeat at the the given interval. + + + The that the repeating should begin occurring. + The that the repeating should stop occurring. + The repeat interval unit. The only intervals that are valid for this type of trigger are + , , and . + + + + + Create a that will occur immediately, and + repeat at the the given interval. + + + + The that the repeating should begin occurring. + The that the repeating should stop occurring. + The repeat interval unit. The only intervals that are valid for this type of trigger are + , , and . + + + + + Create a that will occur at the given time, + and repeat at the the given interval until the given end time. + + + A set to the time for the to fire. + A set to the time for the to quit repeat firing. + The that the repeating should begin occurring. + The that the repeating should stop occurring. + The repeat interval unit. The only intervals that are valid for this type of trigger are + , , and . + The number of milliseconds to pause between the repeat firing. + + + + Create a that will occur at the given time, + and repeat at the the given interval until the given end time. + + + + A set to the time for the to fire. + A set to the time for the to quit repeat firing. + The that the repeating should begin occurring. + The that the repeating should stop occurring. + The repeat interval unit. The only intervals that are valid for this type of trigger are + , , and . + The number of milliseconds to pause between the repeat firing. + + + + Create a that will occur at the given time, + fire the identified job and repeat at the the given + interval until the given end time. + + + + + + A set to the time for the to fire. + A set to the time for the to quit repeat firing. + The that the repeating should begin occurring. + The that the repeating should stop occurring. + The repeat interval unit. The only intervals that are valid for this type of trigger are + , , and . + The number of milliseconds to pause between the repeat firing. + + + + Updates the 's state based on the + MisfireInstruction.XXX that was selected when the + was created. + + + If the misfire instruction is set to , + then the following scheme will be used: +
    +
  • The instruction will be interpreted as
  • +
+
+
+ + + Called when the scheduler has decided to 'fire' + the trigger (execute the associated job), in order to + give the trigger a chance to update itself for its next + triggering (if any). + + + + + + + + + + + + + + + This method should not be used by the Quartz client. + + + + Called by the scheduler at the time a is first + added to the scheduler, in order to have the + compute its first fire time, based on any associated calendar. + + + + After this method has been called, + should return a valid answer. + + + + The first time at which the will be fired + by the scheduler, which is also the same value + will return (until after the first firing of the ). + + + + + Returns the next time at which the is scheduled to fire. If + the trigger will not fire again, will be returned. Note that + the time returned can possibly be in the past, if the time that was computed + for the trigger to next fire has already arrived, but the scheduler has not yet + been able to fire the trigger (which would likely be due to lack of resources + e.g. threads). + + + The value returned is not guaranteed to be valid until after the + has been added to the scheduler. + + + + + + Returns the previous time at which the fired. + If the trigger has not yet fired, will be returned. + + + + + Set the next time at which the should fire. + + + This method should not be invoked by client code. + + + + + + Set the previous time at which the fired. + + + This method should not be invoked by client code. + + + + + + Returns the next time at which the will + fire, after the given time. If the trigger will not fire after the given + time, will be returned. + + + + + + + Given fireTime time, we need to advance/calculate and return a time of next available week day. + + given next fireTime. + flag to whether to advance day without check existing week day. This scenario + can happen when a caller determine fireTime has passed the endTimeOfDay that fireTime should move to next day anyway. + + a next day fireTime. + + + + Determines whether or not the will occur + again. + + + + + + Validates whether the properties of the are + valid for submission into a . + + + + + Get a that is configured to produce a + schedule identical to this trigger's schedule. + + + + + + + The time at which the should occur. + + + + + the time at which the should quit repeating. + + + + + + Get the the number of times for interval this trigger should repeat, + after which it will be automatically deleted. + + + + + the interval unit - the time unit on with the interval applies. + + + The repeat interval unit. The only intervals that are valid for this type of trigger are + , , and . + + + + + the the time interval that will be added to the 's + fire time (in the set repeat interval unit) in order to calculate the time of the + next trigger repeat. + + + + + the number of times the has already + fired. + + + + + Returns the final time at which the will + fire, if there is no end time set, null will be returned. + + Note that the return time may be in the past. + + + + + The days of the week upon which to fire. + + + A Set containing the integers representing the days of the week, per the values 0-6 as defined by + DayOfWees.Sunday - DayOfWeek.Saturday. + + + + + The time of day to start firing at the given interval. + + + + + The time of day to complete firing at the given interval. + + + + + This trigger has no additional properties besides what's defined in this class. + + + + + + Tells whether this Trigger instance can handle events + in millisecond precision. + + + + + A concrete that is used to fire a + at a given moment in time, and optionally repeated at a specified interval. + + + + James House + Contributions by Lieven Govaerts of Ebitec Nv, Belgium. + Marko Lahma (.NET) + + + + A that is used to fire a + at a given moment in time, and optionally repeated at a specified interval. + + + + James House + Contributions by Lieven Govaerts of Ebitec Nv, Belgium. + Marko Lahma (.NET) + + + + Get or set 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. + + + + + Used to indicate the 'repeat count' of the trigger is indefinite. Or in + other words, the trigger should repeat continually until the trigger's + ending timestamp. + + + + + Create a with no settings. + + + + + Create a that will occur immediately, and + not repeat. + + + + + Create a that will occur immediately, and + not repeat. + + + + + Create a that will occur immediately, and + repeat at the the given interval the given number of times. + + + + + Create a that will occur immediately, and + repeat at the the given interval the given number of times. + + + + + Create a that will occur at the given time, + and not repeat. + + + + + Create a that will occur at the given time, + and not repeat. + + + + + Create a that will occur at the given time, + and repeat at the the given interval the given number of times, or until + the given end time. + + The name. + A UTC set to the time for the to fire. + A UTC set to the time for the + to quit repeat firing. + The number of times for the to repeat + firing, use for unlimited times. + The time span to pause between the repeat firing. + + + + Create a that will occur at the given time, + and repeat at the the given interval the given number of times, or until + the given end time. + + The name. + The group. + A UTC set to the time for the to fire. + A UTC set to the time for the + to quit repeat firing. + The number of times for the to repeat + firing, use for unlimited times. + The time span to pause between the repeat firing. + + + + Create a that will occur at the given time, + fire the identified and repeat at the the given + interval the given number of times, or until the given end time. + + The name. + The group. + Name of the job. + The job group. + A set to the time for the + to fire. + A set to the time for the + to quit repeat firing. + The number of times for the to repeat + firing, use RepeatIndefinitely for unlimited times. + The time span to pause between the repeat firing. + + + + Validates the misfire instruction. + + The misfire instruction. + + + + + Updates the 's state based on the + MisfireInstruction value that was selected when the + was created. + + + If MisfireSmartPolicyEnabled is set to true, + then the following scheme will be used:
+
    +
  • If the Repeat Count is 0, then the instruction will + be interpreted as .
  • +
  • If the Repeat Count is , then + the instruction will be interpreted as . + WARNING: using MisfirePolicy.SimpleTrigger.RescheduleNowWithRemainingRepeatCount + with a trigger that has a non-null end-time may cause the trigger to + never fire again if the end-time arrived during the misfire time span. +
  • +
  • If the Repeat Count is > 0, then the instruction + will be interpreted as . +
  • +
+
+
+ + + Called when the has decided to 'fire' + the trigger (Execute the associated ), in order to + give the a chance to update itself for its next + triggering (if any). + + + + + + Updates the instance with new calendar. + + The calendar. + The misfire threshold. + + + + Called by the scheduler at the time a is first + added to the scheduler, in order to have the + compute its first fire time, based on any associated calendar. + + After this method has been called, + should return a valid answer. + + + + The first time at which the will be fired + by the scheduler, which is also the same value + will return (until after the first firing of the ). + + + + + Returns the next time at which the will + fire. If the trigger will not fire again, will be + returned. The value returned is not guaranteed to be valid until after + the has been added to the scheduler. + + + + + Returns the previous time at which the fired. + If the trigger has not yet fired, will be + returned. + + + + + Returns the next UTC time at which the will + fire, after the given UTC time. If the trigger will not fire after the given + time, will be returned. + + + + + Returns the last UTC time at which the will + fire, before the given time. If the trigger will not fire before the + given time, will be returned. + + + + + Computes the number of times fired between the two UTC date times. + + The UTC start date and time. + The UTC end date and time. + + + + + Determines whether or not the will occur + again. + + + + + Validates whether the properties of the are + valid for submission into a . + + + + + Get or set 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. + + + + + + Schedules work on a newly spawned thread. This is the default Quartz behavior. + + matt.accola + + + + Allows different strategies for scheduling threads. The + method is required to be called before the first call to + . The Thread containing the work to be performed is + passed to execute and the work is scheduled by the underlying implementation. + + matt.accola + + + + Submit a task for execution. + + Thread to execute. + + + + Initialize any state prior to calling . + + + + + A singleton implementation of . + + + Here are some examples of using this class: + + To create a scheduler that does not write anything to the database (is not + persistent), you can call : + + + DirectSchedulerFactory.Instance.CreateVolatileScheduler(10); // 10 threads + // don't forget to start the scheduler: + DirectSchedulerFactory.Instance.GetScheduler().Start(); + + + Several create methods are provided for convenience. All create methods + eventually end up calling the create method with all the parameters: + + + public void CreateScheduler(string schedulerName, string schedulerInstanceId, IThreadPool threadPool, IJobStore jobStore) + + + Here is an example of using this method: + + + // create the thread pool + SimpleThreadPool threadPool = new SimpleThreadPool(maxThreads, ThreadPriority.Normal); + threadPool.Initialize(); + // create the job store + JobStore jobStore = new RAMJobStore(); + + DirectSchedulerFactory.Instance.CreateScheduler("My Quartz Scheduler", "My Instance", threadPool, jobStore); + // don't forget to start the scheduler: + DirectSchedulerFactory.Instance.GetScheduler("My Quartz Scheduler", "My Instance").Start(); + + > + Mohammad Rezaei + James House + Marko Lahma (.NET) + + + + + + Provides a mechanism for obtaining client-usable handles to + instances. + + + + James House + Marko Lahma (.NET) + + + + Returns a client-usable handle to a . + + + + + Returns a handle to the Scheduler with the given name, if it exists. + + + + + Returns handles to all known Schedulers (made by any SchedulerFactory + within this app domain.). + + + + + Initializes a new instance of the class. + + + + + Creates an in memory job store () + The thread priority is set to Thread.NORM_PRIORITY + + The number of threads in the thread pool + + + + Creates a proxy to a remote scheduler. This scheduler can be retrieved + via . + + SchedulerException + + + + Same as , + with the addition of specifying the scheduler name and instance ID. This + scheduler can only be retrieved via . + + The name for the scheduler. + The instance ID for the scheduler. + + SchedulerException + + + + Creates a scheduler using the specified thread pool and job store. This + scheduler can be retrieved via DirectSchedulerFactory#GetScheduler() + + + The thread pool for executing jobs + + + The type of job store + + SchedulerException + if initialization failed + + + + + Same as DirectSchedulerFactory#createScheduler(ThreadPool threadPool, JobStore jobStore), + with the addition of specifying the scheduler name and instance ID. This + scheduler can only be retrieved via DirectSchedulerFactory#getScheduler(String) + + The name for the scheduler. + The instance ID for the scheduler. + The thread pool for executing jobs + The type of job store + + + + Creates a scheduler using the specified thread pool and job store and + binds it for remote access. + + The name for the scheduler. + The instance ID for the scheduler. + The thread pool for executing jobs + The type of job store + The idle wait time. You can specify "-1" for + the default value, which is currently 30000 ms. + The db failure retry interval. + + + + Creates a scheduler using the specified thread pool and job store and + binds it for remote access. + + The name for the scheduler. + The instance ID for the scheduler. + The thread pool for executing jobs + The type of job store + + The idle wait time. You can specify TimeSpan.Zero for + the default value, which is currently 30000 ms. + The db failure retry interval. + + + + Creates a scheduler using the specified thread pool and job store and + binds it for remote access. + + The name for the scheduler. + The instance ID for the scheduler. + The thread pool for executing jobs + Thread executor. + The type of job store + + The idle wait time. You can specify TimeSpan.Zero for + the default value, which is currently 30000 ms. + The db failure retry interval. + + + + Creates a scheduler using the specified thread pool and job store and + binds it for remote access. + + The name for the scheduler. + The instance ID for the scheduler. + The thread pool for executing jobs + Thread executor. + The type of job store + + The idle wait time. You can specify TimeSpan.Zero for + the default value, which is currently 30000 ms. + The db failure retry interval. + The maximum batch size of triggers, when acquiring them + The time window for which it is allowed to "pre-acquire" triggers to fire + + + + Returns a handle to the Scheduler produced by this factory. + + you must call createRemoteScheduler or createScheduler methods before + calling getScheduler() + + + + SchedulerException + + + + Returns a handle to the Scheduler with the given name, if it exists. + + + + + Gets the log. + + The log. + + + + Gets the instance. + + The instance. + + + + Returns a handle to all known Schedulers (made by any + StdSchedulerFactory instance.). + + + + + + Conveys the detail properties of a given job instance. + + + Quartz does not store an actual instance of a type, but + instead allows you to define an instance of one, through the use of a . + + s have a name and group associated with them, which + should uniquely identify them within a single . + + + s are the 'mechanism' by which s + are scheduled. Many s can point to the same , + but a single can only point to one . + + + + + + + + James House + Marko Lahma (.NET) + + + + Conveys the detail properties of a given job instance. + JobDetails are to be created/defined with . + + + Quartz does not store an actual instance of a type, but + instead allows you to define an instance of one, through the use of a . + + s have a name and group associated with them, which + should uniquely identify them within a single . + + + s are the 'mechanism' by which s + are scheduled. Many s can point to the same , + but a single can only point to one . + + + + + + + + James House + Marko Lahma (.NET) + + + + Get a that is configured to produce a + identical to this one. + + + + + The key that identifies this jobs uniquely. + + + + + Get or set the description given to the instance by its + creator (if any). + + + + + Get or sets the instance of that will be executed. + + + + + Get or set the that is associated with the . + + + + + Whether or not the should remain stored after it is + orphaned (no s point to it). + + + If not explicitly set, the default value is . + + + if the Job should remain persisted after being orphaned. + + + + + Whether the associated Job class carries the . + + + + + + Whether the associated Job class carries the . + + + + + + Set whether or not the the should re-Execute + the if a 'recovery' or 'fail-over' situation is + encountered. + + + If not explicitly set, the default value is . + + + + + + Create a with no specified name or group, and + the default settings of all the other properties. + + Note that the , and + properties must be set before the job can be + placed into a . + + + + + + Create a with the given name, default group, and + the default settings of all the other properties. + If , 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 durable. + if set to true, job will request recovery. + + ArgumentException if name is null or empty, or the group is an empty string. + + + + + Validates whether the properties of the are + valid for submission into a . + + + + + Return a simple string representation of this object. + + + + + Creates a new object that is a copy of the current instance. + + + A new object that is a copy of this instance. + + + + + Determines whether the specified detail is equal to this instance. + + The detail to examine. + + true if the specified detail is equal; otherwise, false. + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + if the specified is equal to the + current ; otherwise, . + + + + + Checks equality between given job detail and this instance. + + The detail to compare this instance with. + + + + + Serves as a hash function for a particular type, suitable + for use in hashing algorithms and data structures like a hash table. + + + A hash code for the current . + + + + + Get or sets the name of this . + + + if name is null or empty. + + + + + Get or sets the group of this . + If , will be used. + + + If the group is an empty string. + + + + + Returns the 'full name' of the in the format + "group.name". + + + + + Gets the key. + + The key. + + + + Get or set the description given to the instance by its + creator (if any). + + + May be useful for remembering/displaying the purpose of the job, though the + description has no meaning to Quartz. + + + + + Get or sets the instance of that will be executed. + + + if jobType is null or the class is not a . + + + + + Get or set the that is associated with the . + + + + + Set whether or not the the should re-Execute + the if a 'recovery' or 'fail-over' situation is + encountered. + + If not explicitly set, the default value is . + + + + + + + Whether or not the should remain stored after it is + orphaned (no s point to it). + + If not explicitly set, the default value is . + + + + if the Job should remain persisted after + being orphaned. + + + + + Whether the associated Job class carries the attribute. + + + + + Whether the associated Job class carries the attribute. + + + + + A context bundle containing handles to various environment information, that + is given to a instance as it is + executed, and to a instance after the + execution completes. + + + + The found on this object (via the + method) serves as a convenience - + it is a merge of the found on the + and the one found on the , with + the value in the latter overriding any same-named values in the former. + It is thus considered a 'best practice' that the Execute code of a Job + retrieve data from the JobDataMap found on this object + + + NOTE: Do not + expect value 'set' into this JobDataMap to somehow be set back onto a + job's own JobDataMap. + + + + s are also returned from the + + method. These are the same instances as those past into the jobs that are + currently executing within the scheduler. The exception to this is when your + application is using Quartz remotely (i.e. via remoting or WCF) - in which case you get + a clone of the s, and their references to + the and instances have been lost (a + clone of the is still available - just not a handle + to the job instance that is running). + + + + + + + + James House + Marko Lahma (.NET) + + + + A context bundle containing handles to various environment information, that + is given to a instance as it is + executed, and to a instance after the + execution completes. + + + + + Put the specified value into the context's data map with the given key. + Possibly useful for sharing data between listeners and jobs. + + NOTE: this data is volatile - it is lost after the job execution + completes, and all TriggerListeners and JobListeners have been + notified. + + + + + + + + + + Get the value with the given key from the context's data map. + + + + + + + Get a handle to the instance that fired the + . + + + + + Get a handle to the instance that fired the + . + + + + + Get a handle to the referenced by the + instance that fired the . + + + + + If the is being re-executed because of a 'recovery' + situation, this method will return . + + + + + Gets the refire count. + + The refire count. + + + + Get the convenience of this execution context. + + + + The found on this object serves as a convenience - + it is a merge of the found on the + and the one found on the , with + the value in the latter overriding any same-named values in the former. + It is thus considered a 'best practice' that the Execute code of a Job + retrieve data from the JobDataMap found on this object. + + + NOTE: Do not expect value 'set' into this JobDataMap to somehow be + set back onto a job's own JobDataMap. + + + Attempts to change the contents of this map typically result in an + illegal state. + + + + + + Get the associated with the . + + + + + Get the instance of the that was created for this + execution. + + Note: The Job instance is not available through remote scheduler + interfaces. + + + + + + The actual time the trigger fired. For instance the scheduled time may + have been 10:00:00 but the actual fire time may have been 10:00:03 if + the scheduler was too busy. + + Returns the fireTimeUtc. + + + + + The scheduled time the trigger fired for. For instance the scheduled + time may have been 10:00:00 but the actual fire time may have been + 10:00:03 if the scheduler was too busy. + + Returns the scheduledFireTimeUtc. + + + + + Gets the previous fire time. + + The previous fire time. + + + + Gets the next fire time. + + The next fire time. + + + + Get the unique Id that identifies this particular firing instance of the + trigger that triggered this job execution. It is unique to this + JobExecutionContext instance as well. + + the unique fire instance id + + + + + Returns the result (if any) that the set before its + execution completed (the type of object set as the result is entirely up + to the particular job). + + + + The result itself is meaningless to Quartz, but may be informative + to s or + s that are watching the job's + execution. + + + Set the result (if any) of the 's execution (the type of + object set as the result is entirely up to the particular job). + + + The result itself is meaningless to Quartz, but may be informative + to s or + s that are watching the job's + execution. + + + + + + The amount of time the job ran for. The returned + value will be until the job has actually completed (or thrown an + exception), and is therefore generally only useful to + s and s. + + + + + Create a 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 job's own JobDataMap. + + + Attempts to change the contents of this map typically result in an + illegal state. + + + + + + Get the associated with the . + + + + + Get the instance of the that was created for this + execution. + + Note: The Job instance is not available through remote scheduler + interfaces. + + + + + + The actual time the trigger fired. For instance the scheduled time may + have been 10:00:00 but the actual fire time may have been 10:00:03 if + the scheduler was too busy. + + Returns the fireTimeUtc. + + + + + The scheduled time the trigger fired for. For instance the scheduled + time may have been 10:00:00 but the actual fire time may have been + 10:00:03 if the scheduler was too busy. + + Returns the scheduledFireTimeUtc. + + + + + Gets the previous fire time. + + The previous fire time. + + + + Gets the next fire time. + + The next fire time. + + + + Returns the result (if any) that the set before its + execution completed (the type of object set as the result is entirely up + to the particular job). + + + + The result itself is meaningless to Quartz, but may be informative + to s or + s that are watching the job's + execution. + + + Set the result (if any) of the 's execution (the type of + object set as the result is entirely up to the particular job). + + + The result itself is meaningless to Quartz, but may be informative + to s or + s that are watching the job's + execution. + + + + + + The amount of time the job ran for. The returned + value will be until the job has actually completed (or thrown an + exception), and is therefore generally only useful to + s and s. + + + + + Returns the fire instace id. + + + + + An implementation of the interface that remotely + proxies all method calls to the equivalent call on a given + instance, via remoting or similar technology. + + + + James House + Marko Lahma (.NET) + + + + This is the main interface of a Quartz Scheduler. + + + + A maintains a registry of + s and s. Once + registered, the is responsible for executing + s when their associated s + fire (when their scheduled time arrives). + + + instances are produced by a + . A scheduler that has already been + created/initialized can be found and used through the same factory that + produced it. After a has been created, it is in + "stand-by" mode, and must have its method + called before it will fire any s. + + + s are to be created by the 'client program', by + defining a class that implements the interface. + objects are then created (also by the client) to + define a individual instances of the . + instances can then be registered with the + via the %IScheduler.ScheduleJob(JobDetail, + Trigger)% or %IScheduler.AddJob(JobDetail, bool)% method. + + + s can then be defined to fire individual + instances based on given schedules. + s are most useful for one-time firings, or + firing at an exact moment in time, with N repeats with a given delay between + them. s allow scheduling based on time of day, + day of week, day of month, and month of year. + + + s and s have a name and + group associated with them, which should uniquely identify them within a single + . The 'group' feature may be useful for creating + logical groupings or categorizations of s and + s. If you don't have need for assigning a group to a + given s of s, then you can use + the constant defined on + this interface. + + + Stored s can also be 'manually' triggered through the + use of the %IScheduler.TriggerJob(string, string)% function. + + + Client programs may also be interested in the 'listener' interfaces that are + available from Quartz. The interface provides + notifications of executions. The + interface provides notifications of + firings. The + interface provides notifications of events and + errors. Listeners can be associated with local schedulers through the + interface. + + + The setup/configuration of a instance is very + customizable. Please consult the documentation distributed with Quartz. + + + + + + + + + Marko Lahma (.NET) + + + + returns true if the given JobGroup + is paused + + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + Get a object describing the settings + and capabilities of the scheduler instance. + + + Note that the data returned is an 'instantaneous' snap-shot, and that as + soon as it's returned, the meta data values may be different. + + + + + Return a list of objects that + represent all currently executing Jobs in this Scheduler instance. + + + + This method is not cluster aware. That is, it will only return Jobs + currently executing in this Scheduler instance, not across the entire + cluster. + + + Note that the list returned is an 'instantaneous' snap-shot, and that as + soon as it's returned, the true list of executing jobs may be different. + Also please read the doc associated with - + especially if you're using remoting. + + + + + + + Get the names of all known groups. + + + + + Get the names of all known groups. + + + + + Get the names of all groups that are paused. + + + + + Starts the 's threads that fire s. + When a scheduler is first created it is in "stand-by" mode, and will not + fire triggers. The scheduler can also be put into stand-by mode by + calling the method. + + + The misfire/recovery process will be started, if it is the initial call + to this method on this scheduler instance. + + + + + + + + Calls after the indicated delay. + (This call does not block). This can be useful within applications that + have initializers that create the scheduler immediately, before the + resources needed by the executing jobs have been fully initialized. + + + + + + + + Temporarily halts the 's firing of s. + + + + When is called (to bring the scheduler out of + stand-by mode), trigger misfire instructions will NOT be applied + during the execution of the method - any misfires + will be detected immediately afterward (by the 's + normal process). + + + The scheduler is not destroyed, and can be re-started at any time. + + + + + + + + Halts the 's firing of s, + and cleans up all resources associated with the Scheduler. Equivalent to + . + + + The scheduler cannot be re-started. + + + + + + Halts the 's firing of s, + and cleans up all resources associated with the Scheduler. + + + The scheduler cannot be re-started. + + + if the scheduler will not allow this method + to return until all currently executing jobs have completed. + + + + + + Add the given to the + Scheduler, and associate the given with + it. + + + If the given Trigger does not reference any , then it + will be set to reference the Job passed with it into this method. + + + + + Schedule the given with the + identified by the 's settings. + + + + + Schedule all of the given jobs with the related set of triggers. + + + If any of the given jobs or triggers already exist (or more + specifically, if the keys are not unique) and the replace + parameter is not set to true then an exception will be thrown. + + + + + Remove the indicated from the scheduler. + If the related job does not have any other triggers, and the job is + not durable, then the job will also be deleted. + + + + + Remove all of the indicated s from the scheduler. + + + If the related job does not have any other triggers, and the job is + not durable, then the job will also be deleted. + Note that while this bulk operation is likely more efficient than + invoking several + times, it may have the adverse affect of holding data locks for a + single long duration of time (rather than lots of small durations + of time). + + + + + Remove (delete) the with the + given key, and store the new given one - which must be associated + with the same job (the new trigger must have the job name & group specified) + - however, the new trigger need not have the same name as the old trigger. + + The to be replaced. + + The new to be stored. + + + if a with the given + name and group was not found and removed from the store (and the + new trigger is therefore not stored), otherwise + the first fire time of the newly scheduled trigger. + + + + + Add the given to the Scheduler - with no associated + . The will be 'dormant' until + it is scheduled with a , or + is called for it. + + + The must by definition be 'durable', if it is not, + SchedulerException will be thrown. + + + + + Delete the identified from the Scheduler - and any + associated s. + + true if the Job was found and deleted. + + + + Delete the identified jobs from the Scheduler - and any + associated s. + + + Note that while this bulk operation is likely more efficient than + invoking several + times, it may have the adverse affect of holding data locks for a + single long duration of time (rather than lots of small durations + of time). + + + true if all of the Jobs were found and deleted, false if + one or more were not deleted. + + + + + Trigger the identified + (Execute it now). + + + + + Trigger the identified (Execute it now). + + + the (possibly ) JobDataMap to be + associated with the trigger that fires the job immediately. + + + The of the to be executed. + + + + + Pause the with the given + key - by pausing all of its current s. + + + + + Pause all of the s in the + matching groups - by pausing all of their s. + + + + The Scheduler will "remember" that the groups are paused, and impose the + pause on any new jobs that are added to any of those groups until it is resumed. + + NOTE: There is a limitation that only exactly matched groups + can be remembered as paused. For example, if there are pre-existing + job in groups "aaa" and "bbb" and a matcher is given to pause + groups that start with "a" then the group "aaa" will be remembered + as paused and any subsequently added jobs in group "aaa" will be paused, + however if a job is added to group "axx" it will not be paused, + as "axx" wasn't known at the time the "group starts with a" matcher + was applied. HOWEVER, if there are pre-existing groups "aaa" and + "bbb" and a matcher is given to pause the group "axx" (with a + group equals matcher) then no jobs will be paused, but it will be + remembered that group "axx" is paused and later when a job is added + in that group, it will become paused. + + + + + + Pause the with the given key. + + + + + Pause all of the s in the groups matching. + + + + The Scheduler will "remember" all the groups paused, and impose the + pause on any new triggers that are added to any of those groups until it is resumed. + + NOTE: There is a limitation that only exactly matched groups + can be remembered as paused. For example, if there are pre-existing + triggers in groups "aaa" and "bbb" and a matcher is given to pause + groups that start with "a" then the group "aaa" will be remembered as + paused and any subsequently added triggers in that group be paused, + however if a trigger is added to group "axx" it will not be paused, + as "axx" wasn't known at the time the "group starts with a" matcher + was applied. HOWEVER, if there are pre-existing groups "aaa" and + "bbb" and a matcher is given to pause the group "axx" (with a + group equals matcher) then no triggers will be paused, but it will be + remembered that group "axx" is paused and later when a trigger is added + in that group, it will become paused. + + + + + + Resume (un-pause) the with + the given key. + + + If any of the 's s missed one + or more fire-times, then the 's misfire + instruction will be applied. + + + + + Resume (un-pause) all of the s + in matching groups. + + + If any of the s had s that + missed one or more fire-times, then the 's + misfire instruction will be applied. + + + + + + Resume (un-pause) the with the given + key. + + + If the missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + Resume (un-pause) all of the s in matching groups. + + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Pause all triggers - similar to calling + on every group, however, after using this method + must be called to clear the scheduler's state of 'remembering' that all + new triggers will be paused as they are added. + + + When is called (to un-pause), trigger misfire + instructions WILL be applied. + + + + + + + + Resume (un-pause) all triggers - similar to calling + on every group. + + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Get the keys of all the s in the matching groups. + + + + + Get all s that are associated with the + identified . + + + The returned Trigger objects will be snap-shots of the actual stored + triggers. If you wish to modify a trigger, you must re-store the + trigger afterward (e.g. see ). + + + + + Get the names of all the s in the given + groups. + + + + + Get the for the + instance with the given key . + + + The returned JobDetail object will be a snap-shot of the actual stored + JobDetail. If you wish to modify the JobDetail, you must re-store the + JobDetail afterward (e.g. see ). + + + + + Get the instance with the given key. + + + The returned Trigger object will be a snap-shot of the actual stored + trigger. If you wish to modify the trigger, you must re-store the + trigger afterward (e.g. see ). + + + + + Get the current state of the identified . + + + + + + + + + + + Add (register) the given to the Scheduler. + + Name of the calendar. + The calendar. + if set to true [replace]. + whether or not to update existing triggers that + referenced the already existing calendar so that they are 'correct' + based on the new trigger. + + + + Delete the identified from the Scheduler. + + Name of the calendar. + + true if the Calendar was found and deleted. + + + + + Get the instance with the given name. + + + + + Get the names of all registered . + + + + + Request the interruption, within this Scheduler instance, of all + currently executing instances of the identified , which + must be an implementor of the interface. + + + + If more than one instance of the identified job is currently executing, + the method will be called on + each instance. However, there is a limitation that in the case that + on one instances throws an exception, all + remaining instances (that have not yet been interrupted) will not have + their method called. + + + + If you wish to interrupt a specific instance of a job (when more than + one is executing) you can do so by calling + to obtain a handle + to the job instance, and then invoke on it + yourself. + + + This method is not cluster aware. That is, it will only interrupt + instances of the identified InterruptableJob currently executing in this + Scheduler instance, not across the entire cluster. + + + + true is at least one instance of the identified job was found and interrupted. + + + + + + + Request the interruption, within this Scheduler instance, of the + identified executing job instance, which + must be an implementor of the interface. + + + This method is not cluster aware. That is, it will only interrupt + instances of the identified InterruptableJob currently executing in this + Scheduler instance, not across the entire cluster. + + + + + + + the unique identifier of the job instance to be interrupted (see + + true if the identified job instance was found and interrupted. + + + + Determine whether a with the given identifier already + exists within the scheduler. + + the identifier to check for + true if a Job exists with the given identifier + + + + Determine whether a with the given identifier already + exists within the scheduler. + + the identifier to check for + true if a Trigger exists with the given identifier + + + + Clears (deletes!) all scheduling data - all s, s + s. + + + + + Returns the name of the . + + + + + Returns the instance Id of the . + + + + + Returns the of the . + + + + + Reports whether the is in stand-by mode. + + + + + + + Reports whether the has been Shutdown. + + + + + Set the that will be responsible for producing + instances of classes. + + + JobFactories may be of use to those wishing to have their application + produce instances via some special mechanism, such as to + give the opportunity for dependency injection. + + + + + + Get a reference to the scheduler's , + through which listeners may be registered. + + the scheduler's + + + + + + + + Whether the scheduler has been started. + + + Note: This only reflects whether has ever + been called on this Scheduler, so it will return even + if the is currently in standby mode or has been + since shutdown. + + + + + + + + Construct a instance to proxy the given + RemoteableQuartzScheduler instance. + + + + + returns true if the given JobGroup + is paused + + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + Get a object 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' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Get the names of all groups that are paused. + + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Get the names of all registered . + + + + + + Calls the equivalent method on the 'proxied' . + + + + + Returns the name of the . + + + + + Returns the instance Id of the . + + + + + Returns the of the . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Set the that will be responsible for producing + instances of classes. + + JobFactories may be of use to those wishing to have their application + produce instances via some special mechanism, such as to + give the 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. + + + + + + + + This utility calls methods reflectively on the given objects even though the + methods are likely on a proper interface (ThreadPool, JobStore, etc). The + motivation is to be tolerant of older implementations that have not been + updated for the changes in the interfaces (eg. LocalTaskExecutorThreadPool in + spring quartz helpers) + + teck + Marko Lahma (.NET) + + + + Holds references to Scheduler instances - ensuring uniqueness, and + preventing garbage collection, and allowing 'global' lookups. + + James House + Marko Lahma (.NET) + + + + Binds the specified sched. + + The sched. + + + + Removes the specified sched name. + + Name of the sched. + + + + + Lookups the specified sched name. + + Name of the sched. + + + + + Lookups all. + + + + + + Gets the singleton instance. + + The instance. + + + + Responsible for creating the instances of + to be used within the instance. + + James House + Marko Lahma (.NET) + + + + Initialize the factory, providing a handle to the + that should be made available within the and + the s within it. + + + + + Called by the to obtain instances of + . + + + + + An implementation of the interface that directly + proxies all method calls to the equivalent call on a given + instance. + + + + James House + Marko Lahma (.NET) + + + + 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' . + + + + + 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' . + + + + + Construct a instance to proxy the given + 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' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Get the names of all registered . + + + + + + Request the interruption, within this Scheduler instance, of all + currently executing instances of the identified , which + must be an implementor of the interface. + + + + If more than one instance of the identified job is currently executing, + the method will be called on + each instance. However, there is a limitation that in the case that + on one instances throws an exception, all + remaining instances (that have not yet been interrupted) will not have + their method called. + + + If you wish to interrupt a specific instance of a job (when more than + one is executing) you can do so by calling + to obtain a handle + to the job instance, and then invoke on it + yourself. + + + This method is not cluster aware. That is, it will only interrupt + instances of the identified InterruptableJob currently executing in this + Scheduler instance, not across the entire cluster. + + + true is at least one instance of the identified job was found and interrupted. + UnableToInterruptJobException if the job does not implement + + + + + + Returns the name of the . + + + + + Returns the instance Id of the . + + + + + Returns the of the . + + + + + Whether the scheduler has been started. + + + + Note: This only reflects whether has ever + been called on this Scheduler, so it will return even + if the is currently in standby mode or has been + since shutdown. + + + + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + + + + + An implementation of that + does all of it's work of creating a instance + based on the contents of a properties file. + + + + By default a properties are loaded from App.config's quartz section. + If that fails, then the file is loaded "quartz.properties". If file does not exist, + default configration 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) + + + + Returns a handle to the default Scheduler, creating it if it does not + yet exist. + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The props. + + + + Initialize the . + + + By default a properties file named "quartz.properties" is loaded from + the 'current working directory'. If that fails, then the + "quartz.properties" file located (as an embedded resource) in the Quartz.NET + assembly is loaded. If you wish to use a file other than these defaults, + you must define the system property 'quartz.properties' to point to + the file you want. + + + + + Creates a new name value collection and overrides its values + with system values (environment variables). + + The base properties to override. + A new NameValueCollection instance. + + + + Initialize the with + the contents of the given key value collection object. + + + + + + + + Needed while loadhelper is not constructed. + + + + + + + Returns a handle to the Scheduler produced by this factory. + + + If one of the methods has not be previously + called, then the default (no-arg) method + will be called by this method. + + + + + Returns a handle to the Scheduler with the given name, if it exists (if + it has already been instantiated). + + + + + + Returns a handle to all known Schedulers (made by any + StdSchedulerFactory instance.). + + + + + + Inspects a directory and compares whether any files' "last modified dates" + have changed since the last time it was inspected. If one or more files + have been updated (or created), the job invokes a "call-back" method on an + identified that can be found in the + . + + pl47ypus + James House + Marko Lahma (.NET) + + + + + The interface to be implemented by classes which represent a 'job' to be + performed. + + + Instances of this interface must have a + no-argument constructor. provides a mechanism for 'instance member data' + that may be required by some implementations of this interface. + + + + + + + + James House + Marko Lahma (.NET) + + + + Called by the when a + fires that is associated with the . + + + The implementation may wish to set a result object on the + JobExecutionContext before this method exits. The result itself + is meaningless to Quartz, but may be informative to + s or + s that are watching the job's + execution. + + The execution context. + + + key with which to specify the directory to be + monitored - an absolute path is recommended. + + + key with which to specify the + to be + notified when the directory contents change. + + + key with which to specify a + value that represents the minimum number of milliseconds that must have + passed since the file's last modified time in order to consider the file + new/altered. This is necessary because another process may still be + in the middle of writing to the file when the scan occurs, and the + file may therefore not yet be ready for processing. + If this parameter is not specified, a default value of 5000 (five seconds) will be used. + + + + This is the main entry point for job execution. The scheduler will call this method on the + job once it is triggered. + + The that + the job will use during execution. + + + + Inspects a file and compares whether it's "last modified date" has changed + since the last time it was inspected. If the file has been updated, the + job invokes a "call-back" method on an identified + that can be found in the + . + + James House + Marko Lahma (.NET) + + + + + JobDataMap key with which to specify the name of the file to monitor. + + + + + JobDataMap key with which to specify the + to be notified when the file contents change. + + + + + key with which to specify a long + value that represents the minimum number of milliseconds that must have + past since the file's last modified time in order to consider the file + new/altered. This is necessary because another process may still be + in the middle of writing to the file when the scan occurs, and the + file may therefore not yet be ready for processing. + + If this parameter is not specified, a default value of + 5000 (five seconds) will be used. + + + + + Initializes a new instance of the class. + + + + + Called by the when a + fires that is associated with the . + + The implementation may wish to set a result object on the + JobExecutionContext before this method exits. The result itself + is meaningless to Quartz, but may be informative to + s or + s that are watching the job's + execution. + + + The execution context. + + + + + + Gets the last modified date. + + Name of the file. + + + + + Gets the log. + + The log. + + + Interface for objects wishing to receive a 'call-back' from a + Instances should be stored in the such that the + can find it. + James House + Marko Lahma (.NET) + + + An array of objects that were updated/added + since the last scan of the directory + + + + Interface for objects wishing to receive a 'call-back' from a + . + + James House + Marko Lahma (.NET) + + + + + Ãnforms that certain file has been updated. + + Name of the file. + + + + Built in job for executing native executables in a separate process. + + + + JobDetail job = new JobDetail("dumbJob", null, typeof(Quartz.Jobs.NativeJob)); + job.JobDataMap.Put(Quartz.Jobs.NativeJob.PropertyCommand, "echo \"hi\" >> foobar.txt"); + Trigger trigger = TriggerUtils.MakeSecondlyTrigger(5); + trigger.Name = "dumbTrigger"; + sched.ScheduleJob(job, trigger); + + If PropertyWaitForProcess is true, then the integer exit value of the process + will be saved as the job execution result in the JobExecutionContext. + + Matthew Payne + James House + Steinar Overbeck Cook + Marko Lahma (.NET) + + + + Required parameter that specifies the name of the command (executable) + to be ran. + + + + + Optional parameter that specifies the parameters to be passed to the + executed command. + + + + + Optional parameter (value should be 'true' or 'false') that specifies + whether the job should wait for the execution of the native process to + complete before it completes. + + Defaults to . + + + + + Optional parameter (value should be 'true' or 'false') that specifies + whether the spawned process's stdout and stderr streams should be + consumed. If the process creates output, it is possible that it might + 'hang' if the streams are not consumed. + + Defaults to . + + + + + Optional parameter that specifies the 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 + Marko Lahma (.NET) + + + + Do nothing. + + + + + A Job which sends an e-mail with the configured content to the configured + recipient. + + James House + Marko Lahma (.NET) + + + The host name of the smtp server. REQUIRED. + + + The 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 JobListener instances and broadcasts all + events to them (in order). + + + The broadcasting behavior of this listener to delegate listeners may be + more convenient than registering all of the listeners directly with the + Scheduler, and provides the flexibility of easily changing which listeners + get notified. + + + + + James House (jhouse AT revolition DOT net) + + + + Construct an instance with the given name. + + + (Remember to add some delegate listeners!) + + the name of this instance + + + + Construct an instance with the given name, and List of listeners. + + + + the name of this instance + the initial List of JobListeners to broadcast to. + + + + Holds a List of references to SchedulerListener instances and broadcasts all + events to them (in order). + + + This may be more convenient than registering all of the listeners + directly with the Scheduler, and provides the flexibility of easily changing + which listeners get notified. + + + + James House + Marko Lahma (.NET) + + + + Construct an instance with the given List of listeners. + + The initial List of SchedulerListeners to broadcast to. + + + + Holds a List of references to TriggerListener instances and broadcasts all + events to them (in order). + + + The broadcasting behavior of this listener to delegate listeners may be + more convenient than registering all of the listeners directly with the + Scheduler, and provides the flexibility of easily changing which listeners + get notified. + + + + + James House (jhouse AT revolition DOT net) + + + + The interface to be implemented by classes that want to be informed when a + fires. In general, applications that use a + will not have use for this mechanism. + + + + + + + James House + Marko Lahma (.NET) + + + + Called by the when a + has fired, and it's associated + is about to be executed. + + It is called before the method of this + interface. + + + The that has fired. + + The that will be passed to the 's method. + + + + + Called by the when a + has fired, and it's associated + is about to be executed. + + It is called after the method of this + interface. If the implementation vetos the execution (via + returning ), the job's execute method will not be called. + + + The that has fired. + The that will be passed to + the 's method. + Returns true if job execution should be vetoed, false otherwise. + + + + Called by the when a + has misfired. + + Consideration should be given to how much time is spent in this method, + as it will affect all triggers that are misfiring. If you have lots + of triggers misfiring at once, it could be an issue it this method + does a lot. + + + The that has misfired. + + + + Called by the when a + has fired, it's associated + has been executed, and it's method has been + called. + + The that was fired. + + The that was passed to the + 's method. + + + The result of the call on the 's method. + + + + + Get the name of the . + + + + + Construct an instance with the given name. + + + (Remember to add some delegate listeners!) + + the name of this instance + + + + Construct an instance with the given name, and List of listeners. + + + + the name of this instance + the initial List of TriggerListeners to broadcast to. + + + + Keeps a collection of mappings of which Job to trigger after the completion + of a given job. If this listener is notified of a job completing that has a + mapping, then it will then attempt to trigger the follow-up job. This + achieves "job chaining", or a "poor man's workflow". + + + + Generally an instance of this listener would be registered as a global + job listener, rather than being registered directly to a given job. + + + If for some reason there is a failure creating the trigger for the + follow-up job (which would generally only be caused by a rare serious + failure in the system, or the non-existence of the follow-up job), an error + 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 + Marko Lahma (.NET) + + + + A helpful abstract base class for implementors of . + + + + The methods in this class are empty so you only need to override the + subset for the events you care about. + + + + You are required to implement + to return the unique name of your . + + + Marko Lahma (.NET) + + + + + Initializes a new instance of the class. + + + + + Called by the when a + is about to be executed (an associated + has 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 JobKey with the name and group of the first job + a JobKey with the name and group of the follow-up job + + + + A helpful abstract base class for implementors of + . + + + + The methods in this class are empty so you only need to override the + subset for the events + you care about. + + + + You are required to implement + to return the unique name of your . + + + Marko Lahma (.NET) + + + + + Get the for this + class's category. This should be used by subclasses for logging. + + + + + Get the name of the . + + + + + + Logs a history of all job executions (and execution 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" +
+
+ Marko Lahma (.NET) +
+ + + Provides an interface for a class to become a "plugin" to Quartz. + + + Plugins can do virtually anything you wish, though the most interesting ones + will obviously interact with the scheduler in some way - either actively: by + invoking actions on the scheduler, or passively: by being a , + , and/or . + + If you use to + Initialize your Scheduler, it can also create and Initialize your plugins - + look at the configuration docs for details. + + + If you need direct access your plugin, you can have it explicitly put a + reference to itself in the 's + as part of its + method. + + + James House + Marko Lahma (.NET) + + + + Called during creation of the in order to give + the a chance to Initialize. + + + At this point, the Scheduler's is not yet + + If you need direct access your plugin, you can have it explicitly put a + reference to itself in the 's + as part of its + method. + + + + The name by which the plugin is identified. + + + The scheduler to which the plugin is registered. + + + + + Called when the associated is started, in order + to let the plug-in know it can now make calls into the scheduler if it + needs to. + + + + + Called in order to inform the that it + should free up all of it's resources because the scheduler is shutting + down. + + + + + Called during creation of the in order to give + the a chance to Initialize. + + + + + Called when the associated is started, in order + to let the plug-in know it can now make calls into the scheduler if it + needs to. + + + + + Called in order to inform the that it + should free up all of it's resources because the scheduler is shutting + down. + + + + + Called by the when a is + about to be executed (an associated has occurred). + + This method will not be invoked if the execution of the Job was vetoed by a + . + + + + + + + Called by the after a + has been executed, and be for the associated 's + method has been called. + + + + + + + Called by the when a + was about to be executed (an associated + has 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 + Marko Lahma (.NET) +
+ + + Called during creation of the in order to give + the a chance to Initialize. + + + + + Called when the associated is started, in order + to let the plug-in know it can now make calls into the scheduler if it + needs to. + + + + + Called in order to inform the that it + should free up all of it's resources because the scheduler is shutting + down. + + + + + Called by the when a + has fired, and it's associated + is about to be executed. + + It is called before the method of this + interface. + + + The that has fired. + The that will be passed to the 's method. + + + + Called by the when a + has misfired. + + Consideration should be given to how much time is spent in this method, + as it will affect all triggers that are misfiring. If you have lots + of triggers misfiring at once, it could be an issue it this method + does a lot. + + + The that has misfired. + + + + Called by the when a + has fired, it's associated + has been executed, and it's method has been + called. + + The that was fired. + The that was passed to the + 's method. + The result of the call on the 's method. + + + + Called by the when a + has fired, and it's associated + is about to be executed. + + It is called after the method of this + interface. + + + The that has fired. + The that will be passed to + the 's method. + + + + + Logger instance to use. Defaults to common logging. + + + + + Get or set the message that is printed upon the completion of a trigger's + firing. + + + + + Get or set the message that is printed upon a trigger's firing. + + + + + Get or set the message that is printed upon a trigger's mis-firing. + + + + + Get the name of the . + + + + + + This plugin catches the event of the VM terminating (such as upon a CRTL-C) + and tells the scheuler to Shutdown. + + + James House + Marko Lahma (.NET) + + + + Called during creation of the in order to give + the a chance to Initialize. + + + + + Called when the associated is started, in order + to let the plug-in know it can now make calls into the scheduler if it + needs to. + + + + + Called in order to inform the that it + should free up all of it's resources because the scheduler is shutting + down. + + + + + Determine whether or not the plug-in is configured to cause a clean + Shutdown of the scheduler. + + The default value is . + + + + + + + This plugin loads XML file(s) to add jobs and schedule them with triggers + as the scheduler is initialized, and can optionally periodically scan the + file for changes. + + + The periodically scanning of files for changes is not currently supported in a + clustered environment. + + James House + Pierre Awaragi + + + + Initializes a new instance of the class. + + + + + + + + + + + Called during creation of the in order to give + the a chance to initialize. + + The name. + The scheduler. + SchedulerConfigException + + + + Called when the associated is started, in order + to let the plug-in know it can now make calls into the scheduler if it + needs to. + + + + + Helper method for generating unique job/trigger name for the + file scanning jobs (one per FileJob). The unique names are saved + in jobTriggerNameSet. + + + + + + + Called in order to inform the that it + should free up all of it's resources because the scheduler is shutting + down. + + + + + Gets the log. + + The log. + + + + Comma separated list of file names (with paths) to the XML files that should be read. + + + + + The interval at which to scan for changes to the file. + If the file has been changed, it is re-loaded and parsed. The default + value for the interval is 0, which disables scanning. + + + + + Whether or not initialization of the plugin should fail (throw an + exception) if the file cannot be found. Default is . + + + + + Information about a file that should be processed by . + + + + + Default object serialization strategy that uses + under the hood. + + Marko Lahma + + + + Interface for object serializers. + + Marko Lahma + + + + + Serializes given object as bytes + that can be stored to permanent stores. + + Object to serialize, always non-null. + + + + Deserializes object from byte array presentation. + + Data to deserialize object from, always non-null and non-empty. + + + + Serializes given object as bytes + that can be stored to permanent stores. + + Object to serialize. + + + + Deserializes object from byte array presentation. + + Data to deserialize object from. + + + + that names the scheduler instance using + just the machine hostname. + + + This class is useful when you know that your scheduler instance will be the + only one running on a particular machine. Each time the scheduler is + restarted, it will get the same instance id as long as the machine is not + renamed. + + Marko Lahma (.NET) + + + + + + An IInstanceIdGenerator is responsible for generating the clusterwide unique + instance id for a node. + + + This interface may be of use to those wishing to have specific control over + the mechanism by which the instances in their + application are named. + + + Marko Lahma (.NET) + + + + Generate the instance id for a + + The clusterwide unique instance id. + + + + + Generate the instance id for a + + The clusterwide unique instance id. + + + + A JobFactory that instantiates the Job instance (using the default no-arg + constructor, or more specifically: ), and + then attempts to set all values from the and + the 's merged onto + properties of the job. + + + Set the WarnIfPropertyNotFound property to true if you'd like noisy logging in + the case of values in the not mapping to properties on your job + class. This may be useful for troubleshooting typos of property names, etc. + but very noisy if you regularly (and purposely) have extra things in your + . + Also of possible interest is the ThrowIfPropertyNotFound property which + will throw exceptions on unmatched JobDataMap keys. + + + + + + + + James Houser + Marko Lahma (.NET) + + + + The default JobFactory used by Quartz - simply calls + on the job class. + + + + James House + Marko Lahma (.NET) + + + + A JobFactory is responsible for producing instances of + classes. + + + This interface may be of use to those wishing to have their application + produce instances via some special mechanism, such as to + give the opertunity for dependency injection. + + + + + James House + Marko Lahma (.NET) + + + + Called by the scheduler at the time of the trigger firing, in order to + produce a instance on which to call Execute. + + + It should be extremely rare for this method to throw an exception - + basically only the the case where there is no way at all to instantiate + and prepare the Job for execution. When the exception is thrown, the + Scheduler will move all triggers associated with the Job into the + state, which will require human + intervention (e.g. an application restart after fixing whatever + configuration problem led to the issue wih instantiating the Job. + + + The TriggerFiredBundle from which the + and other info relating to the trigger firing can be obtained. + + a handle to the scheduler that is about to execute the job + SchedulerException if there is a problem instantiating the Job. + the newly instantiated Job + + + + + 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. + + + + + Gets the fired trigger record id. + + The fired trigger record id. + + + + Called by the QuartzScheduler before the is + used, in order to give the it a chance to Initialize. + + + + + Called by the QuartzScheduler to inform the that + the scheduler has started. + + + + + Called by the QuartzScheduler to inform the JobStore that + the scheduler has been paused. + + + + + Called by the QuartzScheduler to inform the JobStore that + the scheduler has resumed after being paused. + + + + + Called by the QuartzScheduler to inform the that + it should free up all of it's resources because the scheduler is + shutting down. + + + + + Clears (deletes!) all scheduling data - all s, s + s. + + + + + Store the given and . + + The to be stored. + The to be stored. + + + + Returns true if the given job group is paused. + + Job group name + + + + + returns true if the given TriggerGroup is paused. + + + + + + + Store the given . + + The to be stored. + If , any existing in the + with the same name and group should be + over-written. + + + + Remove (delete) the with the given + name, and any s that reference + it. + + + if a with the given name and + group was found and removed from the store. + + + + + Remove (delete) the with the + given name. + + + if a with the given + name and group was found and removed from the store. + + + + + Store the given . + + The to be stored. + If , any existing in + the with the same name and group should + be over-written. + + + + Remove (delete) the with the + given name. + + + + if a with the given + name and group was found and removed from the store. + + The to be removed. + Whether to delete orpahaned job details from scheduler if job becomes orphaned from removing the trigger. + + + + Replaces the trigger. + + The of the to be replaced. + The new trigger. + + + + + Retrieve the for the given + . + + + The desired , or null if there is no match. + + + + + Retrieve the given . + + + The desired , or null if there is no match. + + + + + Determine whether a with the given identifier already + exists within the scheduler. + + the identifier to check for + true if a Job exists with the given identifier + + + + Determine whether a with the given identifier already + exists within the scheduler. + + triggerKey the identifier to check for + true if a Trigger exists with the given identifier + + + + Get the current state of the identified . + + + + + + + + + + + Store the given . + + The name. + The to be stored. + If , any existing + in the with the same name and group + should be over-written. + If , any s existing + in the that reference an existing + Calendar with the same name with have their next fire time + re-computed with the new . + + + + Remove (delete) the with the + given name. + + If removal of the would result in + s pointing to non-existent calendars, then a + will be thrown. + + The name of the to be removed. + + if a with the given name + was found and removed from the store. + + + + + Retrieve the given . + + The name of the to be retrieved. + + The desired , or null if there is no match. + + + + + Get the number of s that are + stored in the . + + + + + Get the number of s that are + stored in the . + + + + + Get the number of s that are + stored in the . + + + + + Get the names of all of the s that + match the given group matcher. + + + + + Get the names of all of the s + in the . + + If there are no ICalendars in the given group name, the result should be + a zero-length array (not ). + + + + + + Get the names of all of the s + that have the given group name. + + + + + Get the names of all of the + groups. + + + + + Get the names of all of the groups. + + + + + Get all of the Triggers that are associated to the given Job. + + If there are no matches, a zero-length array should be returned. + + + + + + Gets the trigger wrappers for job. + + + + + + Gets the trigger wrappers for calendar. + + Name of the cal. + + + + + Pause the with the given name. + + + + + Pause all of the s in the given group. + + The JobStore should "remember" that the group is paused, and impose the + pause on any new triggers that are added to the group while the group is + paused. + + + + + + Pause the with the given + name - by pausing all of its current s. + + + + + Pause all of the s in the + given group - by pausing all of their s. + + The JobStore should "remember" that the group is paused, and impose the + pause on any new jobs that are added to the group while the group is + paused. + + + + + + Resume (un-pause) the with the given key. + + + If the missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + Resume (un-pause) all of the s in the + given group. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Resume (un-pause) the with + the given name. + + If any of the 's s missed one + or more fire-times, then the 's misfire + instruction will be applied. + + + + + + Resume (un-pause) all of the s + in the given group. + + If any of the s had s that + missed one or more fire-times, then the 's + misfire instruction will be applied. + + + + + + Pause all triggers - equivalent of calling + on every group. + + When is called (to un-pause), trigger misfire + instructions WILL be applied. + + + + + + + Resume (un-pause) all triggers - equivalent of calling + on every trigger group and setting all job groups unpaused />. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + + Applies the misfire. + + The trigger wrapper. + + + + + Get a handle to the next trigger to be fired, and mark it as 'reserved' + by the calling scheduler. + + + + + + Inform the that the scheduler no longer plans to + fire the given , that it had previously acquired + (reserved). + + + + + Inform the that the scheduler is now firing the + given (executing its associated ), + that it had previously acquired (reserved). + + + + + Inform the that the scheduler has completed the + firing of the given (and the execution its + associated ), and that the + in the given should be updated if the + is stateful. + + + + + Sets the state of all triggers of job to specified state. + + + + + Peeks the triggers. + + + + + + + + + The time span by which a trigger must have missed its + next-fire-time, in order for it to be considered "misfired" and thus + have its misfire instruction applied. + + + + + Returns whether this instance supports persistence. + + + + + + + Inform the of the Scheduler instance's Id, + prior to initialize being invoked. + + + + + Inform the of the Scheduler instance's name, + prior to initialize being invoked. + + + + + Comparer for trigger wrappers. + + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + 2 + + + + Possible internal trigger states + in RAMJobStore + + + + + Waiting + + + + + Acquired + + + + + Executing + + + + + Complete + + + + + Paused + + + + + Blocked + + + + + Paused and Blocked + + + + + Error + + + + + Helper wrapper class + + + + + The key used + + + + + Job's key + + + + + The trigger + + + + + Current state + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Serves as a hash function for a particular type. is suitable for use in hashing algorithms and data structures like a hash table. + + + A hash code for the current . + + + + + Scheduler exporter that exports scheduler to remoting context. + + Marko Lahma + + + + Service interface for scheduler exporters. + + Marko Lahma + + + + Binds (exports) scheduler to external context. + + + + + + Unbinds scheduler from external context. + + + + + + Registers remoting channel if needed. This is determined + by checking whether there is a positive value for port. + + + + + Gets or sets the port used for remoting. + + + + + Gets or sets the name to use when exporting + scheduler to remoting context. + + + + + Gets or sets the name to use when binding to + tcp channel. + + + + + Sets the channel type when registering remoting. + + + + + + Sets the used when + exporting to remoting context. Defaults to + . + + + + + A implementation that creates + connection to remote scheduler using remoting. + + + + + Client Proxy to a IRemotableQuartzScheduler + + + + + Returns a client proxy to a remote . + + + + + Returns a client proxy to a remote . + + + + + Gets or sets the remote scheduler address. + + The remote scheduler address. + + + + The default InstanceIdGenerator used by Quartz when instance id is to be + automatically generated. Instance id is of the form HOSTNAME + CURRENT_TIME. + + Marko Lahma (.NET) + + + + + + Generate the instance id for a + + The clusterwide unique instance id. + + + + This is class is a simple implementation of a thread pool, based on the + interface. + + + objects are sent to the pool with the + method, which blocks until a becomes available. + + The pool has a fixed number of s, and does not grow or + shrink based on demand. + + James House + Juergen Donnerstag + Marko Lahma (.NET) + + + + The interface to be implemented by classes that want to provide a thread + pool for the 's use. + + + implementation instances should ideally be made + for the sole use of Quartz. Most importantly, when the method + returns a value of 1 or greater, + there must still be at least one available thread in the pool when the + method is called a few moments (or + many moments) later. If this assumption does not hold true, it may + result in extra JobStore queries and updates, and if clustering features + are being used, it may result in greater imballance of load. + + + James House + Marko Lahma (.NET) + + + + Execute the given in the next + available . + + + The implementation of this interface should not throw exceptions unless + there is a serious problem (i.e. a serious misconfiguration). If there + are no available threads, rather it should either queue the Runnable, or + block until a thread is available, depending on the desired strategy. + + + + + Determines the number of threads that are currently available in in + the pool. Useful for determining the number of times + can be called before returning + false. + + + The implementation of this method should block until there is at + least one available thread. + + the number of currently available threads + + + + Must be called before the is + used, in order to give the it a chance to Initialize. + + + Typically called by the . + + + + + Called by the QuartzScheduler to inform the + that it should free up all of it's resources because the scheduler is + shutting down. + + + + + Get the current number of threads in the . + + + + + Inform the of the Scheduler instance's Id, + prior to initialize being invoked. + + + + + Inform the of the Scheduler instance's name, + prior to initialize being invoked. + + + + + Create a new (unconfigured) . + + + + + Create a new with the specified number + of s that have the given priority. + + + the number of worker s in the pool, must + be > 0. + + + the thread priority for the worker threads. + + + + + + Called by the QuartzScheduler before the is + used, in order to give the it a chance to Initialize. + + + + + Terminate any worker threads in this thread group. + Jobs currently in progress will complete. + + + + + Run the given object in the next available + . If while waiting the thread pool is asked to + shut down, the Runnable is executed immediately within a new additional + thread. + + The to be added. + + + + Creates the worker threads. + + The thread count. + + + + + Terminate any worker threads in this thread group. + Jobs currently in progress will complete. + + + + + Gets or sets the number of worker threads in the pool. + Set has no effect after has been called. + + + + + Get or set the thread priority of worker threads in the pool. + Set operation has no effect after has been called. + + + + + Gets or sets the thread name prefix. + + The thread name prefix. + + + + Gets or sets the value of makeThreadsDaemons. + + + + + Gets the size of the pool. + + The size of the pool. + + + + Inform the of the Scheduler instance's Id, + prior to initialize being invoked. + + + + + Inform the of the Scheduler instance's name, + prior to initialize being invoked. + + + + + A Worker loops, waiting to Execute tasks. + + + + + Create a worker thread and start it. Waiting for the next Runnable, + executing it, and waiting for the next Runnable, until the Shutdown + flag is set. + + + + + Create a worker thread, start it, Execute the runnable and terminate + the thread (one time execution). + + + + + Signal the thread that it should terminate. + + + + + Loop, executing targets as they are received. + + + + + A that simply calls . + + + James House + Marko Lahma (.NET) + + + + Called to give the ClassLoadHelper a chance to Initialize itself, + including the 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 + + + + + InstanceIdGenerator that will use a to configure the scheduler. + If no value set for the property, a is thrown. + Alex Snaps + + + + + System property to read the instanceId from. + + + + + Returns the cluster wide value for this scheduler instance's id, based on a system property. + + + + + This is class is a simple implementation of a zero size thread pool, based on the + interface. + + + The pool has zero s and does not grow or shrink based on demand. + Which means it is obviously not useful for most scenarios. When it may be useful + is to prevent creating any worker threads at all - which may be desirable for + the sole purpose of preserving system resources in the case where the scheduler + instance only exists in order to schedule jobs, but which will never execute + jobs (e.g. will never have Start() called on it). + + Wayne Fay + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Called by the QuartzScheduler before the is + used, in order to give the it a chance to Initialize. + + + + + Shutdowns this instance. + + + + + Called by the QuartzScheduler to inform the + that it should free up all of it's resources because the scheduler is + shutting down. + + + + + + Execute the given in the next + available . + + + + + The implementation of this interface should not throw exceptions unless + there is a serious problem (i.e. a serious misconfiguration). If there + are no available threads, rather it should either queue the Runnable, or + block until a thread is available, depending on the desired strategy. + + + + + Determines the number of threads that are currently available in in + the pool. Useful for determining the number of times + can be called before returning + false. + + + the number of currently available threads + + + The implementation of this method should block until there is at + least one available thread. + + + + + Gets the log. + + The log. + + + + Gets the size of the pool. + + The size of the pool. + + + + Inform the of the Scheduler instance's Id, + prior to initialize being invoked. + + + + + Inform the of the Scheduler instance's name, + prior to initialize being invoked. + + + + + A simple class (structure) used for returning execution-time data from the + JobStore to the . + + + James House + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + The job. + The trigger. + The calendar. + if set to true [job is recovering]. + The fire time. + The scheduled fire time. + The previous fire time. + The next fire time. + + + + Gets the job detail. + + The job detail. + + + + Gets the trigger. + + The trigger. + + + + Gets the calendar. + + The calendar. + + + + Gets a value indicating whether this is recovering. + + true if recovering; otherwise, false. + + + + Returns the UTC fire time. + + + + + Gets the next UTC fire time. + + The next fire time. + Returns the nextFireTimeUtc. + + + + Gets the previous UTC fire time. + + The previous fire time. + Returns the previous fire time. + + + + Returns the scheduled UTC fire time. + + + + + Result holder for trigger firing event. + + + + + Constructor. + + + + + + Constructor. + + + + + Bundle. + + + + + Possible exception. + + + + + Extension methods for . + + + + + Tries to read value and returns the value if successfully read. Otherwise return default value + for value's type. + + + + + + + + + + Extension methods for simplified access. + + + + + Returns string from given column name, or null if DbNull. + + + + + Returns int from given column name. + + + + + Returns long from given column name. + + + + + Returns long from given column name, or null if DbNull. + + + + + Returns decimal from given column name. + + + + + Manages a collection of IDbProviders, and provides transparent access + to their database. + + + James House + Sharada Jambula + Mohammad Rezaei + Marko Lahma (.NET) + + + + 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 + Marko Lahma (.NET) + + + + Create a DirtyFlagMap that 'wraps' a . + + + + + Create a DirtyFlagMap that 'wraps' a that has the + given initial capacity. + + + + + Serialization constructor. + + + + + + + Creates a new object that is a copy of the current instance. + + + A new object that is a copy of this instance. + + + + + When implemented by a class, removes all elements from the . + + + The is read-only. + + + + + When implemented by a class, determines whether the contains an element with the specified key. + + The key to locate in the . + + if the contains an element with the key; otherwise, . + + + is . + + + + When implemented by a class, removes the element with the + specified key from the . + + The key of the element to remove. + + is . + + The is read-only. + -or- + The has a fixed size. + + + + + When implemented by a class, returns an + for the . + + + An for the . + + + + + When implemented by a class, adds an element with the provided key and value to the . + + The to use as the key of the element to add. + The to use as the value of the element to add. + is . + + An element with the same key already exists in the . + + + The is read-only. + -or- + The has a fixed size. + + + + + When implemented by a class, copies the elements of + the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + is . + + is less than zero. + + + is multidimensional. + -or- + + is equal to or greater than the length of . + -or- + The number of elements in the source is greater than the available space from to the end of the destination . + + The type of the source cannot be cast automatically to the type of the destination . + + + + Clear the 'dirty' flag (set dirty flag to ). + + + + + Determines whether the specified obj contains value. + + The obj. + + true if the specified obj contains value; otherwise, false. + + + + + Gets the entries as a set. + + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + if the specified is equal to the + current ; otherwise, . + + + + + Serves as a hash function for a particular type, suitable + for use in hashing algorithms and data structures like a hash table. + + + A hash code for the current . + + + + + Gets keyset for this map. + + + + + + Puts the value behind a specified key. + + The key. + The val. + + + + + Puts all. + + The t. + + + + Determine whether the is flagged dirty. + + + + + Get a direct handle to the underlying Map. + + + + + Gets a value indicating whether this instance is empty. + + true if this instance is empty; otherwise, false. + + + + Gets or sets the with the specified key. + + + + + + When implemented by a class, gets the number of + elements contained in the . + + + + + + When implemented by a class, gets an containing the values in the . + + + + + + When implemented by a class, gets an containing the keys of the . + + + + + + When implemented by a class, gets a value indicating whether the + is read-only. + + + + + + When implemented by a class, gets a value indicating whether the + has a fixed size. + + + + + + When implemented by a class, gets an object that + can be used to synchronize access to the . + + + + + + When implemented by a class, gets a value + indicating whether access to the is synchronized + (thread-safe). + + + + + + Utility class for file handling related things. + + Marko Lahma + + + + Resolves file to actual file if for example relative '~' used. + + File name to check + Expanded file name or actual no resolving was done. + + + + Object representing a job or trigger key. + + Jeffrey Wescott + Marko Lahma (.NET) + + + + The default group for scheduling entities, with the value "DEFAULT". + + + + + Construct a new key with the given name and group. + + the name + the group + + + + Return the string representation of the key. The format will be: + <group>.<name>. + + + + the string representation of the key + + + + + Get the name portion of the key. + + the name + + + + + Get the group portion of the key. + + + + the group + + + + + Wrapper class to access thread local data. + Data is either accessed from thread or HTTP Context's + data if HTTP Context is 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. + + + + Generic extension methods for objects. + + + + + Creates a deep copy of object by serializing to memory stream. + + + + + + Utility methods that are used to convert objects from one type into another. + + Aleksandar Seovic + Marko Lahma + + + + Convert the value to the required (if necessary from a string). + + The proposed change value. + + The we must convert to. + + The new value, possibly the result of type conversion. + + + + Determines whether value is assignable to required type. + + The value to check. + Type of the required. + + true if value can be assigned as given type; otherwise, false. + + + + + Instantiates an instance of the type specified. + + + + + + Sets the object properties using reflection. + + + + + Sets the object properties using reflection. + + The object to set values to. + The properties to set to object. + + + + This is an utility class used to parse the properties. + + James House + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + The props. + + + + Gets the string property. + + The name. + + + + + Gets the string property. + + The name. + The default value. + + + + + Gets the string array property. + + The name. + + + + + Gets the string array property. + + The name. + The default value. + + + + + Gets the boolean property. + + The name. + + + + + Gets the boolean property. + + The name. + if set to true [defaultValue]. + + + + + Gets the byte property. + + The name. + + + + + Gets the byte property. + + The name. + The default value. + + + + + Gets the char property. + + The name. + + + + + Gets the char property. + + The name. + The default value. + + + + + Gets the double property. + + The name. + + + + + Gets the double property. + + The name. + The default value. + + + + + Gets the float property. + + The name. + + + + + Gets the float property. + + The name. + The default value. + + + + + Gets the int property. + + The name. + + + + + Gets the int property. + + The name. + The default value. + + + + + Gets the int array property. + + The name. + + + + + Gets the int array property. + + The name. + The default value. + + + + + Gets the long property. + + The name. + + + + + Gets the long property. + + The name. + The def. + + + + + Gets the TimeSpan property. + + The name. + The def. + + + + + Gets the short property. + + The name. + + + + + Gets the short property. + + The name. + The default value. + + + + + Gets the property groups. + + The prefix. + + + + + Gets the property group. + + The prefix. + + + + + Gets the property group. + + The prefix. + if set to true [strip prefix]. + + + + + Get all properties that start with the given prefix. + + The prefix for which to search. If it does not end in a "." then one will be added to it for search purposes. + Whether to strip off the given in the result's keys. + Optional array of fully qualified prefixes to exclude. For example if is "a.b.c", then might be "a.b.c.ignore". + Group of that start with the given prefix, optionally have that prefix removed, and do not include properties that start with one of the given excluded prefixes. + + + + Reads the properties from assembly (embedded resource). + + The file name to read resources from. + + + + + Reads the properties from file system. + + The file name to read resources from. + + + + + Gets the underlying properties. + + The underlying properties. + + + + Extension methods for . + + + + + Allows null-safe trimming of string. + + + + + + + Trims string and if resulting string is empty, null is returned. + + + + + + + An implementation of that wraps another + and flags itself 'dirty' when it is modified, enforces that all keys are + strings. + + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The initial capacity. + + + + Serialization constructor. + + + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + if the specified is equal to the + current ; otherwise, . + + + + + Serves as a hash function for a particular type, suitable + for use in hashing algorithms and data structures like a hash table. + + + A hash code for the current . + + + + + Gets the keys. + + + + + + Adds the name-value pairs in the given to the . + + All keys must be s, and all values must be serializable. + + + + + + Adds the given value to the 's + data map. + + + + + Adds the given value to the 's + data map. + + + + + Adds the given value to the 's + data map. + + + + + Adds the given value to the 's + data map. + + + + + Adds the given value to the 's + data map. + + + + + Adds the given value to the 's + data map. + + + + + Adds the given value to the 's + data map. + + + + + Retrieve the identified value from the . + + + + + Retrieve the identified value from the . + + + + + Retrieve the identified value from the . + + + + + Retrieve the identified value from the . + + + + + Retrieve the identified value from the . + + + + + Retrieve the identified value from the . + + + + + Retrieve the identified value from the . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reports JobSchedulingDataProcessor validation exceptions. + + Chris Bonham + Marko Lahma (.NET) + + + + Constructor for ValidationException. + + + + + Constructor for ValidationException. + + exception message. + + + + Constructor for ValidationException. + + collection of validation exceptions. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + Gets the validation exceptions. + + The validation exceptions. + + + + Returns the detail message string. + + + + + Parses an XML file that declares Jobs and their schedules (Triggers). + + + + The xml document must conform to the format defined in "job_scheduling_data_2_0.xsd" + + + + After creating an instance of this class, you should call one of the + functions, after which you may call the ScheduledJobs() + function to get a handle to the defined Jobs and Triggers, which can then be + scheduled with the . Alternatively, you could call + the function to do all of this + in one step. + + + + The same instance can be used again and again, with the list of defined Jobs + being cleared each time you call a method, + however a single instance is not thread-safe. + + + Chris Bonham + James House + Marko Lahma (.NET) + + + + Constructor for XMLSchedulingDataProcessor. + + + + + Process the xml file in the default location (a file named + "quartz_jobs.xml" in the current working directory). + + + + + Process the xml file named . + + meta data file name. + + + + Process the xmlfile named with the given system + ID. + + Name of the file. + The system id. + + + + Process the xmlfile named with the given system + ID. + + The stream. + The system id. + + + + Process the xml file in the default location, and schedule all of the jobs defined within it. + + Note that we will set overWriteExistingJobs after the default xml is parsed. + + + + + + Process the xml file in the default location, and schedule all of the + jobs defined within it. + + + + + Process the xml file in the given location, and schedule all of the + jobs defined within it. + + meta data file name. + The scheduler. + + + + Process the xml file in the given location, and schedule all of the + jobs defined within it. + + Name of the file. + The system id. + The sched. + + + + Schedules the given sets of jobs and triggers. + + The sched. + + + + Adds a detected validation exception. + + The exception. + + + + Resets the the number of detected validation exceptions. + + + + + Throws a ValidationException if the number of validationExceptions + detected is greater than zero. + + + DTD validation exception. + + + + + Whether the existing scheduling data (with same identifiers) will be + overwritten. + + + If false, and is not false, and jobs or + triggers with the same names already exist as those in the file, an + error will occur. + + + + + + If true (and is false) then any + job/triggers encountered in this file that have names that already exist + in the scheduler will be ignored, and no error will be produced. + + + + + + Gets the log. + + The log. + + + + Helper class to map constant names to their values. + + + + + CalendarIntervalScheduleBuilder is a + that defines calendar time (day, week, month, year) interval-based + schedules for Triggers. + + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + Client code can then use the DSL to write code such as this: + + JobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + Trigger trigger = TriggerBuilder.Create() + .WithIdentity("myTrigger", "myTriggerGroup") + .WithSimpleSchedule(x => x + .WithIntervalInHours(1) + .RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + + + + Base class for implementors. + + + + + + Schedule builders offer fluent interface and are responsible for creating schedules. + + + + + + + + + Build the actual Trigger -- NOT intended to be invoked by end users, + but will rather be invoked by a TriggerBuilder which this + ScheduleBuilder is given to. + + + + + + Build the actual Trigger -- NOT intended to be invoked by end users, + but will rather be invoked by a TriggerBuilder which this + ScheduleBuilder is given to. + + + + + + Create a CalendarIntervalScheduleBuilder. + + + + + + Build the actual Trigger -- NOT intended to be invoked by end users, + but will rather be invoked by a TriggerBuilder which this + ScheduleBuilder is given to. + + + + + + Specify the time unit and interval for the Trigger to be produced. + + + + the interval at which the trigger should repeat. + the time unit (IntervalUnit) of the interval. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.SECOND that the produced + Trigger will repeat at. + + + + the number of seconds at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.MINUTE that the produced + Trigger will repeat at. + + + + the number of minutes at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.HOUR that the produced + Trigger will repeat at. + + + + the number of hours at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.DAY that the produced + Trigger will repeat at. + + + + the number of days at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.WEEK that the produced + Trigger will repeat at. + + + + the number of weeks at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.MONTH that the produced + Trigger will repeat at. + + + + the number of months at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.YEAR that the produced + Trigger will repeat at. + + + + the number of years at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CronScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CalendarIntervalScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CalendarIntervalScheduleBuilder + + + + + Extension methods that attach to . + + + + + Provides a parser and evaluator for unix-like cron expressions. Cron + expressions provide the ability to specify complex time combinations such as + "At 8:00am every Monday through Friday" or "At 1:30am every + last Friday of the month". + + + + Cron expressions are comprised of 6 required fields and one optional field + separated by white space. The fields respectively are described as follows: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field Name Allowed Values Allowed Special Characters
Seconds 0-59 , - /// /
Minutes 0-59 , - /// /
Hours 0-23 , - /// /
Day-of-month 1-31 , - /// ? / L W C
Month 1-12 or JAN-DEC , - /// /
Day-of-Week 1-7 or SUN-SAT , - /// ? / L #
Year (Optional) empty, 1970-2199 , - /// /
+ + The '*' character is used to specify all values. For example, "*" + in the minute field means "every minute". + + + The '?' character is allowed for the day-of-month and day-of-week fields. It + is used to specify 'no specific value'. This is useful when you need to + specify something in one of the two fields, but not the other. + + + The '-' character is used to specify ranges For example "10-12" in + the hour field means "the hours 10, 11 and 12". + + + The ',' character is used to specify additional values. For example + "MON,WED,FRI" in the day-of-week field means "the days Monday, + Wednesday, and Friday". + + + The '/' character is used to specify increments. For example "0/15" + in the seconds field means "the seconds 0, 15, 30, and 45". And + "5/15" in the seconds field means "the seconds 5, 20, 35, and + 50". Specifying '*' before the '/' is equivalent to specifying 0 is + the value to start with. Essentially, for each field in the expression, there + is a set of numbers that can be turned on or off. For seconds and minutes, + the numbers range from 0 to 59. For hours 0 to 23, for days of the month 0 to + 31, and for months 1 to 12. The "/" character simply helps you turn + on every "nth" value in the given set. Thus "7/6" in the + month field only turns on month "7", it does NOT mean every 6th + month, please note that subtlety. + + + The 'L' character is allowed for the day-of-month and day-of-week fields. + This character is short-hand for "last", but it has different + meaning in each of the two fields. For example, the value "L" in + the day-of-month field means "the last day of the month" - day 31 + for January, day 28 for February on non-leap years. If used in the + day-of-week field by itself, it simply means "7" or + "SAT". But if used in the day-of-week field after another value, it + means "the last xxx day of the month" - for example "6L" + means "the last friday of the month". You can also specify an offset + from the last day of the month, such as "L-3" which would mean the third-to-last + day of the calendar month. When using the 'L' option, it is important not to + specify lists, or ranges of values, as you'll get confusing/unexpected results. + + + The 'W' character is allowed for the day-of-month field. This character + is used to specify the weekday (Monday-Friday) nearest the given day. As an + example, if you were to specify "15W" as the value for the + day-of-month field, the meaning is: "the nearest weekday to the 15th of + the month". So if the 15th is a Saturday, the trigger will fire on + Friday the 14th. If the 15th is a Sunday, the trigger will fire on Monday the + 16th. If the 15th is a Tuesday, then it will fire on Tuesday the 15th. + However if you specify "1W" as the value for day-of-month, and the + 1st is a Saturday, the trigger will fire on Monday the 3rd, as it will not + 'jump' over the boundary of a month's days. The 'W' character can only be + specified when the day-of-month is a single day, not a range or list of days. + + + The 'L' and 'W' characters can also be combined for the day-of-month + expression to yield 'LW', which translates to "last weekday of the + month". + + + The '#' character is allowed for the day-of-week field. This character is + used to specify "the nth" XXX day of the month. For example, the + value of "6#3" in the day-of-week field means the third Friday of + the month (day 6 = Friday and "#3" = the 3rd one in the month). + Other examples: "2#1" = the first Monday of the month and + "4#5" = the fifth Wednesday of the month. Note that if you specify + "#5" and there is not 5 of the given day-of-week in the month, then + no firing will occur that month. If the '#' character is used, there can + only be one expression in the day-of-week field ("3#1,6#3" is + not valid, since there are two expressions). + + + + + + The legal characters and the names of months and days of the week are not + case sensitive. + + + NOTES: +
    +
  • Support for specifying both a day-of-week and a day-of-month value is + not complete (you'll need to use the '?' character in one of these fields). +
  • +
  • Overflowing ranges is supported - that is, having a larger number on + the left hand side than the right. You might do 22-2 to catch 10 o'clock + at night until 2 o'clock in the morning, or you might have NOV-FEB. It is + very important to note that overuse of overflowing ranges creates ranges + that don't make sense and no effort has been made to determine which + interpretation CronExpression chooses. An example would be + "0 0 14-6 ? * FRI-MON".
  • +
+
+
+ Sharada Jambula + James House + Contributions from Mads Henderson + Refactoring from CronTrigger to CronExpression by Aaron Craven + Marko Lahma (.NET) +
+ + + Field specification for second. + + + + + Field specification for minute. + + + + + Field specification for hour. + + + + + Field specification for day of month. + + + + + Field specification for month. + + + + + Field specification for day of week. + + + + + Field specification for year. + + + + + Field specification for all wildcard value '*'. + + + + + Field specification for not specified value '?'. + + + + + Field specification for wildcard '*'. + + + + + Field specification for no specification at all '?'. + + + + + Seconds. + + + + + minutes. + + + + + Hours. + + + + + Days of month. + + + + + Months. + + + + + Days of week. + + + + + Years. + + + + + Last day of week. + + + + + Nth day of week. + + + + + Last day of month. + + + + + Nearest weekday. + + + + + Calendar day of week. + + + + + Calendar day of month. + + + + + Expression parsed. + + + + + Constructs a new based on the specified + parameter. + + + String representation of the cron expression the new object should represent + + + + + + Indicates whether the given date satisfies the cron expression. + + + Note that milliseconds are ignored, so two Dates falling on different milliseconds + of the same second will always have the same result here. + + The date to evaluate. + a boolean indicating whether the given date satisfies the cron expression + + + + Returns the next date/time after the given date/time which + satisfies the cron expression. + + the date/time at which to begin the search for the next valid date/time + the next valid date/time + + + + Returns the next date/time after the given date/time which does + not satisfy the expression. + + the date/time at which to begin the search for the next invalid date/time + the next valid date/time + + + + Returns the string representation of the + + The string representation of the + + + + Indicates whether the specified cron expression can be parsed into a + valid cron expression + + the expression to evaluate + a boolean indicating whether the given expression is a valid cron + expression + + + + Builds the expression. + + The expression. + + + + Stores the expression values. + + The position. + The string to traverse. + The type of value. + + + + + Checks the next value. + + The position. + The string to check. + The value. + The type to search. + + + + + Gets the expression summary. + + + + + + Gets the expression set summary. + + The data. + + + + + Skips the white space. + + The i. + The s. + + + + + Finds the next white space. + + The i. + The s. + + + + + Adds to set. + + The val. + The end. + The incr. + The type. + + + + Gets the set of given type. + + The type of set to get. + + + + + Gets the value. + + The v. + The s. + The i. + + + + + Gets the numeric value from string. + + The string to parse from. + The i. + + + + + Gets the month number. + + The string to map with. + + + + + Gets the day of week number. + + The s. + + + + + Gets the time from given time parts. + + The seconds. + The minutes. + The hours. + The day of month. + The month. + + + + + Gets the next fire time after the given time. + + The UTC time to start searching from. + + + + + Creates the date time without milliseconds. + + The time. + + + + + Advance the calendar to the particular hour paying particular attention + to daylight saving problems. + + The date. + The hour. + + + + + Gets the time before. + + The end time. + + + + + NOT YET IMPLEMENTED: Returns the final time that the + will match. + + + + + + Determines whether given year is a leap year. + + The year. + + true if the specified year is a leap year; otherwise, false. + + + + + Gets the last day of month. + + The month num. + The year. + + + + + Creates a new object that is a copy of the current instance. + + + A new object that is a copy of this instance. + + + + + Determines whether the specified is equal to the current . + + + true if the specified is equal to the current ; otherwise, false. + + The to compare with the current . + + + + Determines whether the specified is equal to the current . + + + true if the specified is equal to the current ; otherwise, false. + + The to compare with the current . + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + 2 + + + + Sets or gets the time zone for which the of this + will be resolved. + + + + + Gets the cron expression string. + + The cron expression string. + + + + Helper class for cron expression handling. + + + + + The value. + + + + + The position. + + + + + CronScheduleBuilder is a that defines + -based schedules for s. + + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + + Client code can then use the DSL to write code such as this: + + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + ITrigger trigger = newTrigger() + .WithIdentity(triggerKey("myTrigger", "myTriggerGroup")) + .WithSimpleSchedule(x => x.WithIntervalInHours(1).RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + + + + + Build the actual Trigger -- NOT intended to be invoked by end users, + but will rather be invoked by a TriggerBuilder which this + ScheduleBuilder is given to. + + + + + + Create a CronScheduleBuilder with the given cron-expression - which + is presumed to b e valid cron expression (and hence only a RuntimeException + will be thrown if it is not). + + + + the cron expression to base the schedule on. + the new CronScheduleBuilder + + + + + Create a CronScheduleBuilder with the given cron-expression string - which + may not be a valid cron expression (and hence a ParseException will be thrown + f it is not). + + the cron expression string to base the schedule on + the new CronScheduleBuilder + + + + + Create a CronScheduleBuilder with the given cron-expression. + + the cron expression to base the schedule on. + the new CronScheduleBuilder + + + + + Create a CronScheduleBuilder with a cron-expression that sets the + schedule to fire every day at the given time (hour and minute). + + + + the hour of day to fire + the minute of the given hour to fire + the new CronScheduleBuilder + + + + + Create a CronScheduleBuilder with a cron-expression that sets the + schedule to fire at the given day at the given time (hour and minute) on the given days of the week. + + the hour of day to fire + the minute of the given hour to fire + the days of the week to fire + the new CronScheduleBuilder + + + + + Create a CronScheduleBuilder with a cron-expression that sets the + schedule to fire one per week on the given day at the given time + (hour and minute). + + + + the day of the week to fire + the hour of day to fire + the minute of the given hour to fire + the new CronScheduleBuilder + + + + + Create a CronScheduleBuilder with a cron-expression that sets the + schedule to fire one per month on the given day of month at the given + time (hour and minute). + + + + the day of the month to fire + the hour of day to fire + the minute of the given hour to fire + the new CronScheduleBuilder + + + + + The in which to base the schedule. + + + + the time-zone for the schedule. + the updated CronScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CronScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CronScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CronScheduleBuilder + + + + + Extension methods that attach to . + + + + + A implementation that build schedule for DailyTimeIntervalTrigger. + + + + This builder provide an extra convenient method for you to set the trigger's EndTimeOfDay. You may + use either endingDailyAt() or EndingDailyAfterCount() to set the value. The later will auto calculate + your EndTimeOfDay by using the interval, IntervalUnit and StartTimeOfDay to perform the calculation. + + + When using EndingDailyAfterCount(), you should note that it is used to calculating EndTimeOfDay. So + if your startTime on the first day is already pass by a time that would not add up to the count you + expected, until the next day comes. Remember that DailyTimeIntervalTrigger will use StartTimeOfDay + and endTimeOfDay as fresh per each day! + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + Client code can then use the DSL to write code such as this: + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + + ITrigger trigger = TriggerBuilder.Create() + .WithIdentity(triggerKey("myTrigger", "myTriggerGroup")) + .WithDailyTimeIntervalSchedule(x => + x.WithIntervalInMinutes(15) + .StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(8, 0)) + .Build(); + + scheduler.scheduleJob(job, trigger); + + + James House + Zemian Deng saltnlight5@gmail.com + Nuno Maia (.NET) + + + + A set of all days of the week. + + + The set contains all values between and + + + + + A set of the business days of the week (for locales similar to the USA). + + + The set contains all values between and + + + + + A set of the weekend days of the week (for locales similar to the USA). + + + The set contains and + + + + + Create a DailyTimeIntervalScheduleBuilder + + The new DailyTimeIntervalScheduleBuilder + + + + Build the actual Trigger -- NOT intended to be invoked by end users, + but will rather be invoked by a TriggerBuilder which this + ScheduleBuilder is given to. + + + + + + Specify the time unit and interval for the Trigger to be produced. + + + + the interval at which the trigger should repeat. + the time unit (IntervalUnit) of the interval. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.Second that the produced + Trigger will repeat at. + + The number of seconds at which the trigger should repeat. + the updated DailyTimeIntervalScheduleBuilder> + + + + + + Specify an interval in the IntervalUnit.Minute that the produced + Trigger will repeat at. + + The number of minutes at which the trigger should repeat. + the updated DailyTimeIntervalScheduleBuilder> + + + + + + Specify an interval in the IntervalUnit.Hour that the produced + Trigger will repeat at. + + The number of hours at which the trigger should repeat. + the updated DailyTimeIntervalScheduleBuilder> + + + + + + Set the trigger to fire on the given days of the week. + + a Set containing the integers representing the days of the week, defined by - . + + the updated DailyTimeIntervalScheduleBuilder + + + + Set the trigger to fire on the given days of the week. + + a variable length list of week days representing the days of the week + the updated DailyTimeIntervalScheduleBuilder + + + + Set the trigger to fire on the days from Monday through Friday. + + the updated DailyTimeIntervalScheduleBuilder + + + + Set the trigger to fire on the days Saturday and Sunday. + + the updated DailyTimeIntervalScheduleBuilder + + + + Set the trigger to fire on all days of the week. + + the updated DailyTimeIntervalScheduleBuilder + + + + Set the trigger to begin firing each day at the given time. + + + the updated DailyTimeIntervalScheduleBuilder + + + + Set the startTimeOfDay for this trigger to end firing each day at the given time. + + + the updated DailyTimeIntervalScheduleBuilder + + + + Calculate and set the EndTimeOfDay using count, interval and StarTimeOfDay. This means + that these must be set before this method is call. + + + the updated DailyTimeIntervalScheduleBuilder + + + + If the Trigger misfires, use the + instruction. + + the updated DailyTimeIntervalScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + the updated DailyTimeIntervalScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + the updated DailyTimeIntervalScheduleBuilder + + + + + Set number of times for interval to repeat. + + + Note: if you want total count = 1 (at start time) + repeatCount + + + + + + + Extension methods that attach to . + + + + + DateBuilder is used to conveniently create + instances that meet particular criteria. + + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + Client code can then use the DSL to write code such as this: + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + ITrigger trigger = newTrigger() + .WithIdentity(triggerKey("myTrigger", "myTriggerGroup")) + .WithSimpleSchedule(x => x + .WithIntervalInHours(1) + .RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minutes)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + Create a DateBuilder, with initial settings for the current date + and time in the system default timezone. + + + + + Create a DateBuilder, with initial settings for the current date and time in the given timezone. + + + + + + Create a DateBuilder, with initial settings for the current date and time in the system default timezone. + + + + + + Create a DateBuilder, with initial settings for the current date and time in the given timezone. + + Time zone to use. + + + + + Build the defined by this builder instance. + + New date time based on builder parameters. + + + + Set the hour (0-23) for the Date that will be built by this builder. + + + + + + + Set the minute (0-59) for the Date that will be built by this builder. + + + + + + + Set the second (0-59) for the Date that will be built by this builder, and truncate the milliseconds to 000. + + + + + + + Set the day of month (1-31) for the Date that will be built by this builder. + + + + + + + Set the month (1-12) for the Date that will be built by this builder. + + + + + + + Set the year for the Date that will be built by this builder. + + + + + + + Set the TimeZoneInfo for the Date that will be built by this builder (if "null", system default will be used) + + + + + + + Get a object that represents the given time, on + tomorrow's date. + + + + + + + + + Get a object that represents the given time, on + today's date (equivalent to . + + + + + + + + + Get a object that represents the given time, on today's date. + + The value (0-59) to give the seconds field of the date + The value (0-59) to give the minutes field of the date + The value (0-23) to give the hours field of the date + the new date + + + + Get a object that represents the given time, on the + given date. + + The value (0-59) to give the seconds field of the date + The value (0-59) to give the minutes field of the date + The value (0-23) to give the hours field of the date + The value (1-31) to give the day of month field of the date + The value (1-12) to give the month field of the date + the new date + + + + Get a object that represents the given time, on the + given date. + + + + The value (0-59) to give the seconds field of the date + The value (0-59) to give the minutes field of the date + The value (0-23) to give the hours field of the date + The value (1-31) to give the day of month field of the date + The value (1-12) to give the month field of the date + The value (1970-2099) to give the year field of the date + the new date + + + + Returns a date that is rounded to the next even hour after the current time. + + + For example a current time of 08:13:54 would result in a date + with the time of 09:00:00. If the date's time is in the 23rd hour, the + date's 'day' will be promoted, and the time will be set to 00:00:00. + + the new rounded date + + + + Returns a date that is rounded to the next even hour above the given date. + + + For example an input date with a time of 08:13:54 would result in a date + with the time of 09:00:00. If the date's time is in the 23rd hour, the + date's 'day' will be promoted, and the time will be set to 00:00:00. + + the Date to round, if the current time will + be used + the new rounded date + + + + Returns a date that is rounded to the previous even hour below the given date. + + + For example an input date with a time of 08:13:54 would result in a date + with the time of 08:00:00. + + the Date to round, if the current time will + be used + the new rounded date + + + + + Returns a date that is rounded to the next even minute after the current time. + + + + For example a current time of 08:13:54 would result in a date + with the time of 08:14:00. If the date's time is in the 59th minute, + then the hour (and possibly the day) will be promoted. + + the new rounded date + + + + Returns a date that is rounded to the next even minute above the given date. + + + For example an input date with a time of 08:13:54 would result in a date + with the time of 08:14:00. If the date's time is in the 59th minute, + then the hour (and possibly the day) will be promoted. + + The Date to round, if the current time will be used + The new rounded date + + + + Returns a date that is rounded to the previous even minute below the given date. + + + For example an input date with a time of 08:13:54 would result in a date + with the time of 08:13:00. + + the Date to round, if the current time will + be used + the new rounded date + + + + Returns a date that is rounded to the next even second after the current time. + + the new rounded date + + + + Returns a date that is rounded to the next even second above the given date. + + + the Date to round, if the current time will + be used + the new rounded date + + + + Returns a date that is rounded to the previous even second below the + given date. + + + + For example an input date with a time of 08:13:54.341 would result in a + date with the time of 08:13:00.000. + + + + the Date to round, if the current time will + be used + the new rounded date + + + + Returns a date that is rounded to the next even multiple of the given + minute. + + + + For example an input date with a time of 08:13:54, and an input + minute-base of 5 would result in a date with the time of 08:15:00. The + same input date with an input minute-base of 10 would result in a date + with the time of 08:20:00. But a date with the time 08:53:31 and an + input minute-base of 45 would result in 09:00:00, because the even-hour + is the next 'base' for 45-minute intervals. + + + More examples: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input 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 to round, if the current time will + be used + the base-second to set the time on + the new rounded date + + + + + An attribute that marks a class as one that must not have multiple + instances executed concurrently (where instance is based-upon a + definition - or in other words based upon a . + + + This can be used in lieu of implementing the StatefulJob marker interface that + was used prior to Quartz 2.0 + + + James House + Marko Lahma (.NET) + + + + The interface to be implemented by s that provide a + mechanism for having their execution interrupted. It is NOT a requirement + for jobs to implement this interface - in fact, for most people, none of + their jobs will. + + + + The means of actually interrupting the Job must be implemented within the + itself (the method of this + interface is simply a means for the scheduler to inform the + that a request has been made for it to be interrupted). The mechanism that + your jobs use to interrupt themselves might vary between implementations. + However the principle idea in any implementation should be to have the + body of the job's periodically check some flag to + see if an interruption has been requested, and if the flag is set, somehow + abort the performance of the rest of the job's work. An example of + interrupting a job can be found in the java source for the class + . It is legal to use + some combination of and + synchronization within and + in order to have the method block until the + signals that it has noticed the set flag. + + + + If the Job performs some form of blocking I/O or similar functions, you may + want to consider having the method store a + reference to the calling as a member variable. Then the + implementation of this interfaces method can call + on that Thread. Before attempting this, make + sure that you fully understand what + does and doesn't do. Also make sure that you clear the Job's member + reference to the Thread when the Execute(..) method exits (preferably in a + block. + + + + + + James House + Marko Lahma (.NET) + + + + Called by the when a user + interrupts the . + + void (nothing) if job interrupt is successful. + + + + Supported interval units used by . + + + + + A marker interface for s that + wish to have their state maintained between executions. + + + instances follow slightly different rules from + regular instances. The key difference is that their + associated is re-persisted after every + execution of the job, thus preserving state for the next execution. The + other difference is that stateful jobs are not allowed to Execute + concurrently, which means new triggers that occur before the completion of + the method will be delayed. + + + + + + + + James House + Marko Lahma (.NET) + + + + JobBuilder is used to instantiate s. + + + + The builder will always try to keep itself in a valid state, with + reasonable defaults set for calling Build() at any point. For instance + if you do not invoke WithIdentity(..) a job name will be generated + for you. + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + + Client code can then use the DSL to write code such as this: + + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + + ITrigger trigger = TriggerBuilder.Create() + .WithIdentity("myTrigger", "myTriggerGroup") + .WithSimpleSchedule(x => x.WithIntervalInHours(1).RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + + scheduler.scheduleJob(job, trigger); + + + + + + + + + Create a JobBuilder with which to define a . + + a new JobBuilder + + + + Create a JobBuilder with which to define a , + and set the class name of the job to be executed. + + a new JobBuilder + + + + Create a JobBuilder with which to define a , + and set the class name of the job to be executed. + + a new JobBuilder + + + + Produce the instance defined by this JobBuilder. + + the defined JobDetail. + + + + Use a with the given name and default group to + identify the JobDetail. + + + If none of the 'withIdentity' methods are set on the JobBuilder, + then a random, unique JobKey will be generated. + + the name element for the Job's JobKey + the updated JobBuilder + + + + + + Use a with the given name and group to + identify the JobDetail. + + + If none of the 'withIdentity' methods are set on the JobBuilder, + then a random, unique JobKey will be generated. + + the name element for the Job's JobKey + the group element for the Job's JobKey + the updated JobBuilder + + + + + + Use a to identify the JobDetail. + + + If none of the 'withIdentity' methods are set on the JobBuilder, + then a random, unique JobKey will be generated. + + the Job's JobKey + the updated JobBuilder + + + + + + Set the given (human-meaningful) description of the Job. + + the description for the Job + the updated JobBuilder + + + + + Set the class which will be instantiated and executed when a + Trigger fires that is associated with this JobDetail. + + the updated JobBuilder + + + + + Set the class which will be instantiated and executed when a + Trigger fires that is associated with this JobDetail. + + the updated JobBuilder + + + + + Instructs the whether or not the job + should be re-executed if a 'recovery' or 'fail-over' situation is + encountered. + + + If not explicitly set, the default value is . + + the updated JobBuilder + + + + + Instructs the whether or not the job + should be re-executed if a 'recovery' or 'fail-over' situation is + encountered. + + + If not explicitly set, the default value is . + + + the updated JobBuilder + + + + Whether or not the job should remain stored after it is + orphaned (no s point to it). + + + If not explicitly set, the default value is . + + the updated JobBuilder + + + + + Whether or not the job should remain stored after it is + orphaned (no s point to it). + + + If not explicitly set, the default value is . + + the value to set for the durability property. + the updated JobBuilder + + + + + Add the given key-value pair to the JobDetail's . + + the updated JobBuilder + + + + + Add the given key-value pair to the JobDetail's . + + the updated JobBuilder + + + + + Add the given key-value pair to the JobDetail's . + + the updated JobBuilder + + + + + Add the given key-value pair to the JobDetail's . + + the updated JobBuilder + + + + + Add the given key-value pair to the JobDetail's . + + the updated JobBuilder + + + + + Add the given key-value pair to the JobDetail's . + + the updated JobBuilder + + + + + Set the JobDetail's , adding any values to it + that were already set on this JobBuilder using any of the + other 'usingJobData' methods. + + the updated JobBuilder + + + + + Holds state information for instances. + + + instances are stored once when the + is added to a scheduler. They are also re-persisted after every execution of + instances that have present. + + instances can also be stored with a + . This can be useful in the case where you have a Job + that is stored in the scheduler for regular/repeated use by multiple + Triggers, yet with each independent triggering, you want to supply the + Job with different data inputs. + + + The passed to a Job at execution time + also contains a convenience that is the result + of merging the contents of the trigger's JobDataMap (if any) over the + Job's JobDataMap (if any). + + + + + + + James House + Marko Lahma (.NET) + + + + Create an empty . + + + + + Create a with the given data. + + + + + Create a with the given data. + + + + + Serialization constructor. + + + + + + + Adds the given value as a string version to the + 's data map. + + + + + Adds the given value as a string version to the + 's data map. + + + + + Adds the given value as a string version to the + 's data map. + + + + + Adds the given value as a string version to the + 's data map. + + + + + Adds the given value as a string version to the + 's data map. + + + + + Adds the given value as a string version to the + 's data map. + + + + + 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. + + + + + An exception that can be thrown by a + to indicate to the Quartz that an error + occurred while executing, and whether or not the requests + to be re-fired immediately (using the same , + or whether it wants to be unscheduled. + + + Note that if the flag for 'refire immediately' is set, the flags for + unscheduling the Job are ignored. + + + + + James House + Marko Lahma (.NET) + + + + Create a 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. + + + + Uniquely identifies a . + + + Keys are composed of both a name and group, and the name must be unique + within the group. If only a group is specified then the default group + name will be used. + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + Client code can then use the DSL to write code such as this: + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + ITrigger trigger = TriggerBuilder.Create() + .WithIdentity("myTrigger", "myTriggerGroup") + .WithSimpleSchedule(x => x + .WithIntervalInHours(1) + .RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + Misfire instructions. + + Marko Lahma (.NET) + + + + Instruction not set (yet). + + + + + Use smart policy. + + + + + Instructs the that the + will never be evaluated for a misfire situation, + and that the scheduler will simply try to fire it as soon as it can, + and then update the Trigger as if it had fired at the proper time. + + + NOTE: if a trigger uses this instruction, and it has missed + several of its scheduled firings, then several rapid firings may occur + as the trigger attempt to catch back up to where it would have been. + For example, a SimpleTrigger that fires every 15 seconds which has + misfired for 5 minutes will fire 20 times once it gets the chance to + fire. + + + + + Misfire policy settings for SimpleTrigger. + + + + + Instructs the that upon a mis-fire + situation, the wants to be fired + now by . + + NOTE: This instruction should typically only be used for + 'one-shot' (non-repeating) Triggers. If it is used on a trigger with a + repeat count > 0 then it is equivalent to the instruction + . + + + + + + Instructs the that upon a mis-fire + situation, the wants to be + re-scheduled to 'now' (even if the associated + excludes 'now') with the repeat count left as-is. This does obey the + end-time however, so if 'now' is after the + end-time the will not fire again. + + + + NOTE: Use of this instruction causes the trigger to 'forget' + the start-time and repeat-count that it was originally setup with (this + is only an issue if you for some reason wanted to be able to tell what + the original values were at some later time). + + + + + + Instructs the that upon a mis-fire + situation, the wants to be + re-scheduled to 'now' (even if the associated + excludes 'now') with the repeat count set to what it would be, if it had + not missed any firings. This does obey the end-time + however, so if 'now' is after the end-time the will + not fire again. + + + NOTE: Use of this instruction causes the trigger to 'forget' + the start-time and repeat-count that it was originally setup with. + Instead, the repeat count on the trigger will be changed to whatever + the remaining repeat count is (this is only an issue if you for some + reason wanted to be able to tell what the original values were at some + later time). + + + + NOTE: This instruction could cause the + to go to the 'COMPLETE' state after firing 'now', if all the + repeat-fire-times where missed. + + + + + + Instructs the that upon a mis-fire + situation, the wants to be + re-scheduled to the next scheduled time after 'now' - taking into + account any associated , and with the + repeat count set to what it would be, if it had not missed any firings. + + + NOTE/WARNING: This instruction could cause the + to go directly to the 'COMPLETE' state if all fire-times where missed. + + + + + Instructs the that upon a mis-fire + situation, the wants to be + re-scheduled to the next scheduled time after 'now' - taking into + account any associated , and with the + repeat count left unchanged. + + + + NOTE/WARNING: This instruction could cause the + to go directly to the 'COMPLETE' state if all the end-time of the trigger + has arrived. + + + + + + misfire instructions for CronTrigger + + + + + Instructs the that upon a mis-fire + situation, the wants to be fired now + by . + + + + + Instructs the that upon a mis-fire + situation, the wants to have it's + next-fire-time updated to the next time in the schedule after the + current time (taking into account any associated , + but it does not want to be fired now. + + + + + misfire instructions for 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. + + + + + Misfire instructions for DateIntervalTrigger + + + + + Instructs the that upon a mis-fire + situation, the wants to be + fired now by . + + + + + Instructs the that upon a mis-fire + situation, the wants to have it's + next-fire-time updated to the next time in the schedule after the + current time (taking into account any associated , + but it does not want to be fired now. + + + + + Misfire instructions for DailyTimeIntervalTrigger + + + + + Instructs the that upon a mis-fire + situation, the wants to be + fired now by . + + + + + Instructs the that upon a mis-fire + situation, the wants to have it's + next-fire-time updated to the next time in the schedule after the + current time (taking into account any associated , + but it does not want to be fired now. + + + + + 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 + Marko Lahma (.NET) + + + + 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 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 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 + + + + + Get a that is configured to produce a + schedule identical to this trigger's schedule. + + + + + + + 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 + Marko Lahma (.NET) + + + + Create a with the given + message. + + + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + Create a and auto-generate a + message using the name/group from the given . + + + + The message will read:
"Unable to store Job with name: '__' and + group: '__', because one already exists with this identification." +
+
+
+ + + Create a and auto-generate a + message using the name/group from the given . + + + + The message will read:
"Unable to store Trigger with name: '__' and + group: '__', because one already exists with this identification." +
+
+
+ + + An attribute that marks a class as one that makes updates to its + during execution, and wishes the scheduler to re-store the + when execution completes. + + + + Jobs that are marked with this annotation should also seriously consider + using the attribute, to avoid data + storage race conditions with concurrently executing job instances. + + + This can be used in lieu of implementing the StatefulJob marker interface that + was used prior to Quartz 2.0 + + + + James House + Marko Lahma (.NET) + + + + An exception that is thrown to indicate that there is a misconfiguration of + the - or one of the components it + configures. + + James House + Marko Lahma (.NET) + + + + Create a with the given message. + + + + + Create a with the given message + and cause. + + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + Scheduler constants. + + Marko Lahma (.NET) + + + + A (possibly) useful constant that can be used for specifying the group + that and instances belong to. + + + + + A constant group name used internally by the + scheduler - clients should not use the value of this constant + ("RECOVERING_JOBS") for 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 context/environment data that can be made available to Jobs as they + are executed. + + + Future versions of Quartz may make distinctions on how it propagates + data in between instances of proxies to a + single scheduler instance - i.e. if Quartz is being used via WCF of Remoting. + + + James House + Marko Lahma (.NET) + + + + Create an empty . + + + + + Create a with the given data. + + + + + Serialization constructor. + + + + + + + Instructs Scheduler what to do with a trigger and job. + + Marko Lahma (.NET) + + + + Instructs the that the + has no further instructions. + + + + + Instructs the that the + wants the to re-Execute + immediately. If not in a 'RECOVERING' or 'FAILED_OVER' situation, the + execution context will be re-used (giving the the + ability to 'see' anything placed in the context by its last execution). + + + + + Instructs the that the + should be put in the state. + + + + + Instructs the that the + wants itself deleted. + + + + + Instructs the that all + s referencing the same as + this one should be put in the state. + + + + + Instructs the that all + s referencing the same as + this one should be put in the state. + + + + + Instructs the that the + should be put in the state. + + + + + Describes the settings and capabilities of a given + instance. + + James House + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + Name of the scheduler. + The scheduler instance. + The scheduler type. + if set to true, scheduler is a remote scheduler. + if set to true, scheduler is started. + if set to true, scheduler is in standby mode. + if set to true, scheduler is shutdown. + The start time. + The number of jobs executed. + The job store type. + if set to true, job store is persistent. + if set to true, the job store is clustered + The thread pool type. + Size of the thread pool. + The version string. + + + + Returns a formatted (human readable) string describing all the 's + meta-data values. + + + + The format of the string looks something like this: +
+            Quartz Scheduler 'SchedulerName' with instanceId 'SchedulerInstanceId' Scheduler class: 'Quartz.Impl.StdScheduler' - running locally. Running since: '11:33am on Jul 19, 2002' Not currently paused. Number of Triggers fired: '123' Using thread pool 'Quartz.Simpl.SimpleThreadPool' - with '8' threads Using job-store 'Quartz.Impl.JobStore' - which supports persistence.
+            
+
+
+
+ + + Return a simple string representation of this object. + + + + + Returns the name of the . + + + + + Returns the instance Id of the . + + + + + Returns the class-name of the instance. + + + + + Returns whether the is being used remotely (via remoting). + + + + + Returns whether the scheduler has been started. + + + Note: may return even if + returns . + + + + + Reports whether the is in standby mode. + + + Note: may return even if + returns . + + + + + Reports whether the has been Shutdown. + + + + + Returns the class-name of the instance that is + being used by the . + + + + + Returns the type name of the instance that is + being used by the . + + + + + Returns the number of threads currently in the 's + + + + + Returns the version of Quartz that is running. + + + + + Returns the at which the Scheduler started running. + + null if the scheduler has not been started. + + + + + Returns the number of jobs executed since the + started.. + + + + + Returns whether or not the 's + instance supports persistence. + + + + + Returns whether or not the 's + is clustered. + + + + + SimpleScheduleBuilder is a + that defines strict/literal interval-based schedules for + s. + + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + Client code can then use the DSL to write code such as this: + + JobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + Trigger trigger = TriggerBuilder.Create() + .WithIdentity(triggerKey("myTrigger", "myTriggerGroup")) + .WithSimpleSchedule(x => x + .WithIntervalInHours(1) + .RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + + + + Create a SimpleScheduleBuilder. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat forever with a 1 minute interval. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat forever with an interval + of the given number of minutes. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat forever with a 1 second interval. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat forever with an interval + of the given number of seconds. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat forever with a 1 hour interval. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat forever with an interval + of the given number of hours. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat the given number + of times - 1 with a 1 minute interval. + + + Note: Total count = 1 (at start time) + repeat count + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat the given number + of times - 1 with an interval of the given number of minutes. + + + Note: Total count = 1 (at start time) + repeat count + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat the given number + of times - 1 with a 1 second interval. + + + Note: Total count = 1 (at start time) + repeat count + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat the given number + of times - 1 with an interval of the given number of seconds. + + + Note: Total count = 1 (at start time) + repeat count + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat the given number + of times - 1 with a 1 hour interval. + + + Note: Total count = 1 (at start time) + repeat count + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat the given number + of times - 1 with an interval of the given number of hours. + + + Note: Total count = 1 (at start time) + repeat count + + the new SimpleScheduleBuilder + + + + Build the actual Trigger -- NOT intended to be invoked by end users, + but will rather be invoked by a TriggerBuilder which this + ScheduleBuilder is given to. + + + + + + + + Specify a repeat interval in milliseconds. + + + + the time span at which the trigger should repeat. + the updated SimpleScheduleBuilder + + + + + + Specify a repeat interval in seconds. + + + + the time span at which the trigger should repeat. + the updated SimpleScheduleBuilder + + + + + + Specify a the number of time the trigger will repeat - total number of + firings will be this number + 1. + + + + the number of seconds at which the trigger should repeat. + the updated SimpleScheduleBuilder + + + + + + Specify that the trigger will repeat indefinitely. + + + + the updated SimpleScheduleBuilder + + + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CronScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated SimpleScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated SimpleScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated SimpleScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated SimpleScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated SimpleScheduleBuilder + + + + + Extension methods that attach to . + + + + + A time source for Quartz.NET that returns the current time. + Original idea by Ayende Rahien: + http://ayende.com/Blog/archive/2008/07/07/Dealing-with-time-in-tests.aspx + + + + + Return current UTC time via . Allows easier unit testing. + + + + + Return current time in current time zone via . Allows easier unit testing. + + + + + Represents a time in hour, minute and second of any given day. + + + The hour is in 24-hour convention, meaning values are from 0 to 23. + + + + + James House + Zemian Deng saltnlight5@gmail.com + Nuno Maia (.NET) + + + + Create a TimeOfDay instance for the given hour, minute and second. + + The hour of day, between 0 and 23. + The minute of the hour, between 0 and 59. + The second of the minute, between 0 and 59. + + + + Create a TimeOfDay instance for the given hour, minute (at the zero second of the minute). + + The hour of day, between 0 and 23. + The minute of the hour, between 0 and 59. + + + + Create a TimeOfDay instance for the given hour, minute and second. + + The hour of day, between 0 and 23. + The minute of the hour, between 0 and 59. + The second of the minute, between 0 and 59. + + + + + Create a TimeOfDay instance for the given hour, minute (at the zero second of the minute).. + + The hour of day, between 0 and 23. + The minute of the hour, between 0 and 59. + The newly instantiated TimeOfDay + + + + Determine with this time of day is before the given time of day. + + + True this time of day is before the given time of day. + + + + Return a date with time of day reset to this object values. The millisecond value will be zero. + + + + + + The hour of the day (between 0 and 23). + + + + + The minute of the hour (between 0 and 59). + + + + + The second of the minute (between 0 and 59). + + + + + Attribute to use with public properties that + can be set with Quartz configuration. Attribute can be used to advice + parsing to use correct type of time span (milliseconds, seconds, minutes, hours) + as it may depend on property. + + Marko Lahma (.NET) + + + + + Initializes a new instance of the class. + + The rule. + + + + Gets the rule. + + The rule. + + + + Possible parse rules for s. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + TriggerBuilder is used to instantiate s. + + + + The builder will always try to keep itself in a valid state, with + reasonable defaults set for calling build() at any point. For instance + if you do not invoke WithSchedule(..) method, a default schedule + of firing once immediately will be used. As another example, if you + do not invoked WithIdentity(..) a trigger name will be generated + for you. + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + + Client code can then use the DSL to write code such as this: + + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + ITrigger trigger = TriggerBuilder.Create() + .WithIdentity("myTrigger", "myTriggerGroup") + .WithSimpleSchedule(x => x + .WithIntervalInHours(1) + .RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + + + Create a new TriggerBuilder with which to define a + specification for a Trigger. + + + + the new TriggerBuilder + + + + Produce the . + + + + a Trigger that meets the specifications of the builder. + + + + Use a with the given name and default group to + identify the Trigger. + + + If none of the 'withIdentity' methods are set on the TriggerBuilder, + then a random, unique TriggerKey will be generated. + + the name element for the Trigger's TriggerKey + the updated TriggerBuilder + + + + + + Use a TriggerKey with the given name and group to + identify the Trigger. + + + If none of the 'withIdentity' methods are set on the TriggerBuilder, + then a random, unique TriggerKey will be generated. + + the name element for the Trigger's TriggerKey + the group element for the Trigger's TriggerKey + the updated TriggerBuilder + + + + + + Use the given TriggerKey to identify the Trigger. + + + If none of the 'withIdentity' methods are set on the TriggerBuilder, + then a random, unique TriggerKey will be generated. + + the TriggerKey for the Trigger to be built + the updated TriggerBuilder + + + + + + Set the given (human-meaningful) description of the Trigger. + + + + the description for the Trigger + the updated TriggerBuilder + + + + + Set the Trigger's priority. When more than one Trigger have the same + fire time, the scheduler will fire the one with the highest priority + first. + + + + the priority for the Trigger + the updated TriggerBuilder + + + + + + Set the name of the that should be applied to this + Trigger's schedule. + + + + the name of the Calendar to reference. + the updated TriggerBuilder + + + + + + Set the time the Trigger should start at - the trigger may or may + not fire at this time - depending upon the schedule configured for + the Trigger. However the Trigger will NOT fire before this time, + regardless of the Trigger's schedule. + + + + the start time for the Trigger. + the updated TriggerBuilder + + + + + + Set the time the Trigger should start at to the current moment - + the trigger may or may not fire at this time - depending upon the + schedule configured for the Trigger. + + + + the updated TriggerBuilder + + + + + Set the time at which the Trigger will no longer fire - even if it's + schedule has remaining repeats. + + + + the end time for the Trigger. If null, the end time is indefinite. + the updated TriggerBuilder + + + + + + Set the that will be used to define the + Trigger's schedule. + + + The particular used will dictate + the concrete type of Trigger that is produced by the TriggerBuilder. + + the SchedulerBuilder to use. + the updated TriggerBuilder + + + + + + + + Set the identity of the Job which should be fired by the produced + Trigger. + + + + the identity of the Job to fire. + the updated TriggerBuilder + + + + + Set the identity of the Job which should be fired by the produced + Trigger - a will be produced with the given + name and default group. + + + + the name of the job (in default group) to fire. + the updated TriggerBuilder + + + + + Set the identity of the Job which should be fired by the produced + Trigger - a will be produced with the given + name and group. + + + + the name of the job to fire. + the group of the job to fire. + the updated TriggerBuilder + + + + + Set the identity of the Job which should be fired by the produced + Trigger, by extracting the JobKey from the given job. + + + + the Job to fire. + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Common constants for triggers. + + + + + The default value for priority. + + + + + Uniquely identifies a . + + + Keys are composed of both a name and group, and the name must be unique + within the group. If only a name is specified then the default group + name will be used. + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + + Client code can then use the DSL to write code such as this: + + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + ITrigger trigger = TriggerBuilder.Create() + .WithIdentity("myTrigger", "myTriggerGroup") + .WithSimpleSchedule(x => x + .WithIntervalInHours(1) + .RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + All trigger states known to Scheduler. + + Marko Lahma (.NET) + + + + Indicates that the is in the "normal" state. + + + + + Indicates that the is in the "paused" state. + + + + + Indicates that the is in the "complete" state. + + + "Complete" indicates that the trigger has not remaining fire-times in + its schedule. + + + + + Indicates that the is in the "error" state. + + + + A arrives at the error state when the scheduler + attempts to fire it, but cannot due to an error creating and executing + its related job. Often this is due to the 's + class not existing in the classpath. + + + + When the trigger is in the error state, the scheduler will make no + attempts to fire it. + + + + + + Indicates that the is in the "blocked" state. + + + A arrives at the blocked state when the job that + it is associated with has a and it is + currently executing. + + + + + + Indicates that the does not exist. + + + + + A Comparator that compares trigger's next fire times, or in other words, + sorts them according to earliest next fire time. If the fire times are + the same, then the triggers are sorted according to priority (highest + value first), if the priorities are the same, then they are sorted + by key. + + + + + Convenience and utility methods for simplifying the construction and + configuration of s and DateTimeOffsetOffsets. + + + + James House + Marko Lahma (.NET) + + + + Returns a list of Dates that are the next fire times of a + . + The input trigger will be cloned before any work is done, so you need + not worry about its state being altered by this method. + + The trigger upon which to do the work + The calendar to apply to the trigger's schedule + The number of next fire times to produce + List of java.util.Date objects + + + + Compute the that is 1 second after the Nth firing of + the given , taking the triger's associated + into consideration. + + + The input trigger will be cloned before any work is done, so you need + not worry about its state being altered by this method. + + The trigger upon which to do the work + The calendar to apply to the trigger's schedule + The number of next fire times to produce + the computed Date, or null if the trigger (as configured) will not fire that many times + + + + Returns a list of Dates that are the next fire times of a + that fall within the given date range. The input trigger will be cloned + before any work is done, so you need not worry about its state being + altered by this method. + + NOTE: if this is a trigger that has previously fired within the given + date range, then firings which have already occurred will not be listed + in the output List. + + + The trigger upon which to do the work + The calendar to apply to the trigger's schedule + The starting date at which to find fire times + The ending date at which to stop finding fire times + List of java.util.Date objects + + + + An exception that is thrown to indicate that a call to + failed without interrupting the Job. + + + James House + Marko Lahma (.NET) + + + + Create a with the given message. + + + + + Create a with the given cause. + + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + +
+
diff --git a/lib/Quartz20/net/4.0/C5.dll b/lib/Quartz20/net/4.0/C5.dll new file mode 100644 index 00000000..2130d1fa Binary files /dev/null and b/lib/Quartz20/net/4.0/C5.dll differ diff --git a/lib/Quartz20/net/4.0/Quartz.dll b/lib/Quartz20/net/4.0/Quartz.dll new file mode 100644 index 00000000..ca83d893 Binary files /dev/null and b/lib/Quartz20/net/4.0/Quartz.dll differ diff --git a/lib/Quartz20/net/4.0/Quartz.xml b/lib/Quartz20/net/4.0/Quartz.xml new file mode 100644 index 00000000..c983e3df --- /dev/null +++ b/lib/Quartz20/net/4.0/Quartz.xml @@ -0,0 +1,19889 @@ + + + + Quartz + + + + + A wrapper for generic HashSet that brings a common interface. + + + + + + Represents a collection ob objects that contains no duplicate elements. + + Marko Lahma (.NET) + + + + A sorted set. + + Marko Lahma (.NET) + + + + Returns a portion of the list whose elements are greater than the limit object parameter. + + The start element of the portion to extract. + The portion of the collection whose elements are greater than the limit object parameter. + + + + Returns the first item in the set. + + First object. + + + + Returns the object in the specified index. + + + + + + + Simple C5 wrapper for common interface. + + + + + + Default constructor. + + + + + Constructor that accepts comparer. + + Comparer to use. + + + + Constructor that prepolutates. + + + + + + Returns the first element. + + + + + + Return items from given range. + + + + + + + Indexer. + + + + + + + Only for backwards compatibility with serialization! + + + + + Responsible for creating the instances of + to be used within the instance. + + James House + Marko Lahma (.NET) + + + + Initialize the factory, providing a handle to the + that should be made available within the and + the s within it. + + + + + Called by the + to obtain instances of . + + + + + JobRunShell instances are responsible for providing the 'safe' environment + for s to run in, and for performing all of the work of + executing the , catching ANY thrown exceptions, updating + the with the 's completion code, + etc. + + A instance is created by a + on behalf of the which then runs the + shell in a thread from the configured when the + scheduler determines that a has been triggered. + + + + + + + James House + Marko Lahma (.NET) + + + + A helpful abstract base class for implementors of + . + + + The methods in this class are empty so you only need to override the + subset for the events you care about. + + Marko Lahma (.NET) + + + + + The interface to be implemented by classes that want to be informed of major + events. + + + + + James House + Marko Lahma (.NET) + + + + Called by the when a + is scheduled. + + + + + Called by the when a + is unscheduled. + + + + + + Called by the when a + has reached the condition in which it will never fire again. + + + + + Called by the a s has been paused. + + + + + Called by the a group of + s has been paused. + + + If a all groups were paused, then the parameter + will be null. + + The trigger group. + + + + Called by the when a + has been un-paused. + + + + + Called by the when a + group of s has been un-paused. + + + If all groups were resumed, then the parameter + will be null. + + The trigger group. + + + + Called by the when a + has been added. + + + + + + Called by the when a + has been deleted. + + + + + Called by the when a + has been paused. + + + + + Called by the when a + group of s has been paused. + + If all groups were paused, then the parameter will be + null. If all jobs were paused, then both parameters will be null. + + + The job group. + + + + Called by the when a + has been un-paused. + + + + + Called by the when a + has been un-paused. + + The job group. + + + + Called by the when a serious error has + occurred within the scheduler - such as repeated failures in the , + or the inability to instantiate a instance when its + has fired. + + + + + Called by the to inform the listener + that it has move to standby mode. + + + + + Called by the to inform the listener + that it has started. + + + + + Called by the to inform the listener + that it has Shutdown. + + + + + Called by the to inform the listener + that it has begun the shutdown sequence. + + + + + Called by the to inform the listener + that all jobs, triggers and calendars were deleted. + + + + + Get the for this + type's category. This should be used by subclasses for logging. + + + + + This interface should be implemented by any class whose instances are intended + to be executed by a thread. + + Marko Lahma (.NET) + + + + This method has to be implemented in order that starting of the thread causes the object's + run method to be called in that separately executing thread. + + + + + Create a JobRunShell instance with the given settings. + + The instance that should be made + available within the . + + + + + Initializes the job execution context with given scheduler and bundle. + + The scheduler. + + + + Requests the Shutdown. + + + + + This method has to be implemented in order that starting of the thread causes the object's + run method to be called in that separately executing thread. + + + + + Runs begin procedures on this instance. + + + + + Completes the execution. + + if set to true [successful execution]. + + + + Passivates this instance. + + + + + 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. + + + + + Default concrete implementation of . + + + + + Client programs may be interested in the 'listener' interfaces that are + available from Quartz. The interface + provides notifications of Job executions. The + interface provides notifications of + firings. The + interface provides notifications of scheduler events and + errors. Listeners can be associated with local schedulers through the + interface. + + + + jhouse + 2.0 - previously listeners were managed directly on the Scheduler interface. + + + + Add the given to the, + and register it to receive events for Jobs that are matched by ANY of the + given Matchers. + + + If no matchers are provided, the will be used. + + + + + + + Add the given to the, + and register it to receive events for Jobs that are matched by ANY of the + given Matchers. + + + If no matchers are provided, the will be used. + + + + + + + Add the given Matcher to the set of matchers for which the listener + will receive events if ANY of the matchers match. + + + + the name of the listener to add the matcher to + the additional matcher to apply for selecting events + true if the identified listener was found and updated + + + + Remove the given Matcher to the set of matchers for which the listener + will receive events if ANY of the matchers match. + + + + the name of the listener to add the matcher to + the additional matcher to apply for selecting events + true if the given matcher was found and removed from the listener's list of matchers + + + + Set the set of Matchers for which the listener + will receive events if ANY of the matchers match. + + + Removes any existing matchers for the identified listener! + + the name of the listener to add the matcher to + the matchers to apply for selecting events + true if the given matcher was found and removed from the listener's list of matchers + + + + Get the set of Matchers for which the listener + will receive events if ANY of the matchers match. + + + + the name of the listener to add the matcher to + the matchers registered for selecting events for the identified listener + + + + Remove the identified from the. + + + + true if the identified listener was found in the list, and removed. + + + + Get a List containing all of the s in + the. + + + + + Get the that has the given name. + + + + + Add the given to the, + and register it to receive events for Triggers that are matched by ANY of the + given Matchers. + + + If no matcher is provided, the will be used. + + + + + + + Add the given to the, + and register it to receive events for Triggers that are matched by ANY of the + given Matchers. + + + If no matcher is provided, the will be used. + + + + + + + Add the given Matcher to the set of matchers for which the listener + will receive events if ANY of the matchers match. + + + + the name of the listener to add the matcher to + the additional matcher to apply for selecting events + true if the identified listener was found and updated + + + + Remove the given Matcher to the set of matchers for which the listener + will receive events if ANY of the matchers match. + + + + the name of the listener to add the matcher to + the additional matcher to apply for selecting events + true if the given matcher was found and removed from the listener's list of matchers + + + + Set the set of Matchers for which the listener + will receive events if ANY of the matchers match. + + + Removes any existing matchers for the identified listener! + + the name of the listener to add the matcher to + the matchers to apply for selecting events + true if the given matcher was found and removed from the listener's list of matchers + + + + Get the set of Matchers for which the listener + will receive events if ANY of the matchers match. + + + + the name of the listener to add the matcher to + the matchers registered for selecting events for the identified listener + + + + Remove the identified from the. + + + + true if the identified listener was found in the list, and + removed. + + + + Get a List containing all of the s + in the. + + + + + Get the that has the given name. + + + + + Register the given with the + . + + + + + Remove the given from the + . + + + + true if the identified listener was found in the list, and removed. + + + + Get a List containing all of the s + registered with the. + + + + + This is the heart of Quartz, an indirect implementation of the + interface, containing methods to schedule s, + register instances, etc. + + + + + + James House + Marko Lahma (.NET) + + + + Remote scheduler service interface. + + Marko Lahma (.NET) + + + + Starts this instance. + + + + + Standbies this instance. + + + + + Shutdowns this instance. + + + + + returns true if the given JobGroup + is paused + + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + Initializes the class. + + + + + Register the given with the + 's list of internal listeners. + + + + + + Remove the given from the + 's list of internal listeners. + + + true if the identified listener was found in the list, andremoved. + + + + Create a with the given configuration + properties. + + + + + + Bind the scheduler to remoting infrastructure. + + + + + Un-bind the scheduler from remoting infrastructure. + + + + + Adds an object that should be kept as reference to prevent + it from being garbage collected. + + The obj. + + + + Removes the object from 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 key of the trigger + The new to be stored. + + if a with the given + name and group was not found and removed from the store, otherwise + the first fire time of the newly scheduled trigger. + + + + + Creates a new positive random number + + The last random obtained + Returns a new positive random number + + + + Trigger the identified (Execute it now) - with a non-volatile trigger. + + + + + Store and schedule the identified + + + + + + Pause the with the given name. + + + + + Pause all of the s in the given group. + + + + + Pause the with the given + name - by pausing all of its current s. + + + + + Pause all of the s in the + given group - by pausing all of their s. + + + + + Resume (un-pause) the with the given + name. + + If the missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Resume (un-pause) all of the s in the + matching groups. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Gets the paused trigger groups. + + + + + + Resume (un-pause) the with + the given name. + + If any of the 's s missed one + or more fire-times, then the 's misfire + instruction will be applied. + + + + + + Resume (un-pause) all of the s + in the matching groups. + + If any of the s had s that + missed one or more fire-times, then the 's + misfire instruction will be applied. + + + + + + Pause all triggers - equivalent of calling + with a matcher matching all known groups. + + When is called (to un-pause), trigger misfire + instructions WILL be applied. + + + + + + + + Resume (un-pause) all triggers - equivalent of calling + on every group. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + + Get the names of all known groups. + + + + + Get the names of all the s in the + given group. + + + + + Get all s that are associated with the + identified . + + + + + Get the names of all known + groups. + + + + + Get the names of all the s in + the matching groups. + + + + + Get the for the + instance with the given name and group. + + + + + Get the instance with the given name and + group. + + + + + Determine whether a with the given identifier already + exists within the scheduler. + + + + the identifier to check for + true if a Job exists with the given identifier + + + + Determine whether a with the given identifier already + exists within the scheduler. + + + + the identifier to check for + true if a Trigger exists with the given identifier + + + + Clears (deletes!) all scheduling data - all s, s + s. + + + + + Get the current state of the identified . + + + + + + Add (register) the given to the Scheduler. + + + + + Delete the identified from the Scheduler. + + true if the Calendar was found and deleted. + + + + Get the instance with the given name. + + + + + Get the names of all registered s. + + + + + Add the given to the + 's internal list. + + + + + + Remove the identified from the 's + list of internal listeners. + + + true if the identified listener was found in the list, and removed. + + + + Get the internal + that has the given name. + + + + + + + Add the given to the + 's internal list. + + + + + + Remove the identified from the 's + list of internal listeners. + + + true if the identified listener was found in the list, and removed. + + + + Get the internal that + has the given name. + + + + + + + Notifies the job store job complete. + + The trigger. + The detail. + The instruction code. + + + + Notifies the scheduler thread. + + + + + Notifies the trigger listeners about fired trigger. + + The job execution context. + + + + + Notifies the trigger listeners about misfired trigger. + + The trigger. + + + + Notifies the trigger listeners of completion. + + The job 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. + + + + + Notifies the scheduler listeners about finalized trigger. + + The trigger. + + + + Notifies the scheduler listeners about paused trigger. + + The group. + + + + Notifies the scheduler listeners about paused trigger. + + + + + Notifies the scheduler listeners resumed trigger. + + The group. + + + + Notifies the scheduler listeners resumed trigger. + + + + + Notifies the scheduler listeners about paused job. + + + + + Notifies the scheduler listeners about paused job. + + The group. + + + + Notifies the scheduler listeners about resumed job. + + + + + Notifies the scheduler listeners about resumed job. + + The group. + + + + Notifies the scheduler listeners about scheduler shutdown. + + + + + Interrupt all instances of the identified InterruptableJob. + + + + + Interrupt all instances of the identified InterruptableJob executing in this Scheduler instance. + + + This method is not cluster aware. That is, it will only interrupt + instances of the identified InterruptableJob currently executing in this + Scheduler instance, not across the entire cluster. + + + + + + + + Obtains a lifetime service object to control the lifetime policy for this instance. + + + + + Gets the version of the Quartz Scheduler. + + The version. + + + + Gets the version major. + + The version major. + + + + Gets the version minor. + + The version minor. + + + + Gets the version iteration. + + The version iteration. + + + + Gets the scheduler signaler. + + The scheduler signaler. + + + + Returns the name of the . + + + + + Returns the instance Id of the . + + + + + Returns the of the . + + + + + Gets or sets a value indicating whether to signal on scheduling change. + + + true if 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 internal s + registered with the . + + + + + Gets or sets the job factory. + + The job factory. + + + + Gets the running since. + + The running since. + + + + Gets the number of jobs executed. + + The number of jobs executed. + + + + Gets a value indicating whether this scheduler supports persistence. + + true if supports persistence; otherwise, false. + + + + Get a List containing all of the s + in the 's internal list. + + + + + + Get a list containing all of the s + in the 's internal list. + + + + + Helper class to start scheduler in a delayed fashion. + + + + + ErrorLogger - Scheduler Listener Class + + + + + The interface to be implemented by classes that want to be informed when a + executes. In general, applications that use a + will not have use for this mechanism. + + + + + + + + James House + Marko Lahma (.NET) + + + + Called by the when a + is about to be executed (an associated + has occurred). + + This method will not be invoked if the execution of the Job was vetoed + by a . + + + + + + + Called by the when a + was about to be executed (an associated + has occurred), but a vetoed it's + execution. + + + + + + Called by the after a + has been executed, and be for the associated 's + method has been called. + + + + + Get the name of the . + + + + + Contains all of the resources (,, + etc.) necessary to create a instance. + + + James House + Marko Lahma (.NET) + + + + Gets the unique identifier. + + Name of the scheduler. + The scheduler instance id. + + + + + Gets the unique identifier. + + + + + + Add the given for the + to use. This method expects the plugin's + "initialize" method to be invoked externally (either before or after + this method is called). + + + + + + Get or set the name for the . + + + if name is null or empty. + + + + + Get or set the instance Id for the . + + + if name is null or empty. + + + + + Get or set the name for the . + + + if name is null or empty. + + + + + Get or set the for the + to use. + + + if threadPool is null. + + + + + Get or set the for the + to use. + + + if jobStore is null. + + + + + Get or set the for the + to use. + + + if jobRunShellFactory is null. + + + + + Get the of all s for the + to use. + + + + + + Gets or sets a value indicating whether to make scheduler thread daemon. + + + true if scheduler should be thread daemon; otherwise, false. + + + + + Gets or sets the scheduler exporter. + + The scheduler exporter. + + + + The ThreadExecutor which runs the QuartzSchedulerThread. + + + + + Gets or sets the batch time window. + + + + + The thread responsible for performing the work of firing + s that are registered with the . + + + + + James House + Marko Lahma (.NET) + + + + Support class used to handle threads + + Marko Lahma (.NET) + + + + The instance of System.Threading.Thread + + + + + Initializes a new instance of the QuartzThread class + + + + + Initializes a new instance of the Thread class. + + The name of the thread + + + + This method has no functionality unless the method is overridden + + + + + Causes the operating system to change the state of the current thread instance to ThreadState.Running + + + + + Interrupts a thread that is in the WaitSleepJoin thread state + + + + + Blocks the calling thread until a thread terminates + + + + + Obtain a string that represents the current object + + A string that represents the current object + + + + Gets or sets the name of the thread + + + + + Gets or sets a value indicating the scheduling priority of a thread + + + + + Gets or sets a value indicating whether or not a thread is a background thread. + + + + + Gets the randomized idle wait time. + + The randomized idle wait time. + + + + Construct a new for the given + as a non-daemon + with normal priority. + + + + + Construct a new for the given + as a with the given + attributes. + + + + + Signals the main processing loop to pause at the next possible point. + + + + + Signals the main processing loop to pause at the next possible point. + + + + + Signals the main processing loop that a change in scheduling has been + made - in order to interrupt any sleeping that may be 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 + Marko Lahma (.NET) + + + + Notifies the scheduler about misfired trigger. + + The trigger that misfired. + + + + Notifies the scheduler about finalized trigger. + + The trigger that has finalized. + + + + Signals the scheduling change. + + + + + 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. + + + + + Metadata information about specific ADO.NET driver library. Metadata is used to + create correct types of object instances to interact with the underlying + database. + + Marko Lahma + + + + Initializes this instance. Parses information and initializes startup + values. + + + + + Gets the name of the parameter which includes the parameter prefix for this + database. + + Name of the parameter. + + + Gets or sets the name of the assembly that holds the connection library. + The name of the assembly. + + + + Gets or sets the name of the product. + + The name of the product. + + + + Gets or sets the type of the connection. + + The type of the connection. + + + + Gets or sets the type of the command. + + The type of the command. + + + + Gets or sets the type of the parameter. + + The type of the parameter. + + + + Gets the type of the command builder. + + The type of the command builder. + + + Gets the command builder's derive parameters method. + The command builder derive parameters method. + + + + Gets or sets the parameter name prefix. + + The parameter name prefix. + + + + Gets or sets the type of the exception that is thrown when using driver + library. + + The type of the exception. + + + + Gets or sets a value indicating whether parameters are bind by name when using + ADO.NET parameters. + + true if parameters are bind by name; otherwise, false. + + + Gets or sets the type of the database parameters. + The type of the parameter db. + + + + Gets the parameter db type property. + + The parameter db type property. + + + + Gets the parameter is nullable property. + + The parameter is nullable property. + + + + Gets or sets the type of the db binary column. This is a string representation of + Enum element because this information is database driver specific. + + The type of the db binary. + + + Gets the type of the db binary. + The type of the db binary. + + + + Sets the name of the parameter db type property. + + The name of the parameter db type property. + + + + Gets or sets a value indicating whether [use parameter name prefix in parameter collection]. + + + true if [use parameter name prefix in parameter collection]; otherwise, false. + + + + + Concrete implementation of . + + Marko Lahma + + + + Data access provider interface. + + Marko Lahma + + + + 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. + + + + This interface can be implemented by any + class that needs to use the constants contained herein. + + Jeffrey Wescott + James House + Marko Lahma(.NET) + + + + Simple Trigger type. + + + + + Cron Trigger type. + + + + + Calendar Interval Trigger type. + + + + + Daily Time Interval Trigger type. + + + + + A general blob Trigger type. + + + + + This class contains utility functions for use in all delegate classes. + + Jeffrey Wescott + Marko Lahma (.NET) + + + + Replace the table prefix in a query by replacing any occurrences of + "{0}" with the table prefix. + + The unsubstitued query + The table prefix + the scheduler name + The query, with proper table prefix substituted + + + + Common helper methods for working with ADO.NET. + + Marko Lahma + + + + Persist a CalendarIntervalTriggerImpl by converting internal fields to and from + SimplePropertiesTriggerProperties. + + + + + + + A base implementation of that persists + trigger fields in the "QRTZ_SIMPROP_TRIGGERS" table. This allows extending + concrete classes to simply implement a couple methods that do the work of + getting/setting the trigger's fields, and creating the + for the particular type of trigger. + + + jhouse + Marko Lahma (.NET) + + + + An interface which provides an implementation for storing a particular + type of 's extended properties. + + jhouse + + + + Initializes the persistence delegate. + + + + + Returns whether the trigger type can be handled by delegate. + + + + + Returns database discriminator value for trigger type. + + + + + Inserts trigger's special properties. + + + + + Updates trigger's special properties. + + + + + Deletes trigger's special properties. + + + + + Loads trigger's special properties. + + + + + Returns whether the trigger type can be handled by delegate. + + + + + Returns database discriminator value for trigger type. + + + + + Utility class to keep track of both active transaction + and connection. + + Marko Lahma + + + + Initializes a new instance of the class. + + The connection. + The transaction. + + + + Gets or sets the connection. + + The connection. + + + + Gets or sets the transaction. + + The transaction. + + + + Persist a CronTriggerImpl. + + + + + + + Persist a DailyTimeIntervalTrigger by converting internal fields to and from + SimplePropertiesTriggerProperties. + + + + Zemian Deng saltnlight5@gmail.com + Nuno Maia (.NET) + + + + + + + + + + Base class for database based lock handlers for providing thread/resource locking + in order to protect resources from being altered by multiple threads at the + same time. + + Marko Lahma (.NET) + + + + This class extends + to include the query string constants in use by the + class. + + Jeffrey Wescott + Marko Lahma (.NET) + + + + An interface for providing thread/resource locking in order to protect + resources from being altered by multiple threads at the same time. + + James House + Marko Lahma (.NET) + + + + Grants a lock on the identified resource to the calling thread (blocking + until it is available). + + true if the lock was obtained. + + + + Release the lock on the identified resource if it is held by the calling + thread. + + + + + 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. + + Marko Lahma (.NET) + + + + Table prefix to use. + + + + + Initializes a new instance of the class. + + The table prefix. + the scheduler name + The SQL. + The default SQL. + The db provider. + + + + Execute the SQL that will lock the proper database row. + + + + + + + + + Grants a lock on the identified resource to the calling thread (blocking + until it is available). + + + + + true if the lock was obtained. + + + + Release the lock on the identified resource if it is held by the calling + thread. + + + + + + + Determine whether the calling thread owns a lock on the identified + resource. + + + + + + + + Gets or sets the lock owners. + + The lock owners. + + + + Gets the log. + + The log. + + + + This Semaphore implementation does use the database. + + + + + Gets or sets the table prefix. + + The table prefix. + + + + Initialization argumens holder for implementations. + + + + + Whether simple should be used (for serialization safety). + + + + + The logger to use during execution. + + + + + The prefix of all table names. + + + + + The instance's name. + + + + + The instance id. + + + + + The db provider. + + + + + The type loading strategy. + + + + + Object serializer and deserializer strategy to use. + + + + + Custom driver delegate initialization. + + + initStrings are of the format: + settingName=settingValue|otherSettingName=otherSettingValue|... + + + + + Conveys the state of a fired-trigger record. + + James House + Marko Lahma (.NET) + + + + Gets or sets the fire instance id. + + The fire instance id. + + + + Gets or sets the fire timestamp. + + The fire timestamp. + + + + Gets or sets a value indicating whether job disallows concurrent execution. + + + + + Gets or sets the job key. + + The job key. + + + + Gets or sets the scheduler instance id. + + The scheduler instance id. + + + + Gets or sets the trigger key. + + The trigger key. + + + + Gets or sets the state of the fire instance. + + The state of the fire instance. + + + + Gets or sets a value indicating whether [job requests recovery]. + + true if [job requests recovery]; otherwise, false. + + + + Gets or sets the priority. + + The priority. + + + + Service interface or modifying parameters + and resultset values. + + + + + Prepares a to be used to access database. + + Connection and tranasction pair + SQL to run + + + + + Adds a parameter to . + + Command to add parameter to + Parameter's name + Parameter's value + + + + Adds a parameter to . + + Command to add parameter to + Parameter's name + Parameter's value + Parameter's data type + + + + Gets the db presentation for boolean value. Subclasses can overwrite this behaviour. + + Value to map to database. + + + + + Gets the boolean value from db presentation. Subclasses can overwrite this behaviour. + + Value to map from database. + + + + + Gets the db presentation for date/time value. Subclasses can overwrite this behaviour. + + Value to map to database. + + + + + Gets the date/time value from db presentation. Subclasses can overwrite this behaviour. + + Value to map from database. + + + + + Gets the db presentation for time span value. Subclasses can overwrite this behaviour. + + Value to map to database. + + + + + Gets the time span value from db presentation. Subclasses can overwrite this behaviour. + + Value to map from database. + + + + + This is the base interface for all driver delegate classes. + + + + This interface is very similar to the + interface except each method has an additional + parameter. + + + Unless a database driver has some extremely-DB-specific + requirements, any IDriverDelegate implementation classes should extend the + class. + + + Jeffrey Wescott + James House + Marko Lahma (.NET) + + + + Initializes the driver delegate with configuration data. + + + + + + Update all triggers having one of the two given states, to the given new + state. + + The DB Connection + The new state for the triggers + The first old state to update + The second old state to update + Number of rows updated + + + + Get the names of all of the triggers that have misfired - according to + the given timestamp. + + The DB Connection + The timestamp. + An array of objects + + + + Get the names of all of the triggers in the given state that have + misfired - according to the given timestamp. + + The DB Connection + The state. + The time stamp. + An array of objects + + + + Get the names of all of the triggers in the given group and state that + have misfired - according to the given timestamp. + + The DB Connection + Name of the group. + The state. + The timestamp. + An array of objects + + + + Select all of the triggers for jobs that are requesting recovery. The + returned trigger objects will have unique "recoverXXX" trigger names and + will be in the trigger group. + + + In order to preserve the ordering of the triggers, the fire time will be + set from the ColumnFiredTime column in the TableFiredTriggers + table. The caller is responsible for calling + on each returned trigger. It is also up to the caller to insert the + returned triggers to ensure that they are fired. + + The DB Connection + An array of objects + + + + Delete all fired triggers. + + The DB Connection + The number of rows deleted + + + + Delete all fired triggers of the given instance. + + The DB Connection + The instance id. + The number of rows deleted + + + + Insert the job detail record. + + The DB Connection + The job to insert. + Number of rows inserted. + + + + Update the job detail record. + + The DB Connection. + The job to update. + Number of rows updated. + + + + Get the names of all of the triggers associated with the given job. + + + + The DB Connection + The key identifying the job. + + + + Delete the job detail record for the given job. + + The DB Connection + The key identifying the job. + the number of rows deleted + + + + Check whether or not the given job is stateful. + + The DB Connection + The key identifying the job. + true if the job exists and is stateful, false otherwise + + + + Check whether or not the given job exists. + + The DB Connection + The key identifying the job. + true if the job exists, false otherwise + + + + Update the job data map for the given job. + + The DB Connection + The job. + the number of rows updated + + + + Select the JobDetail object for a given job name / group name. + + The DB Connection + The key identifying the job. + The class load helper. + The populated JobDetail object + + + + Select the total number of jobs stored. + + The DB Connection + the total number of jobs stored + + + + Select all of the job group names that are stored. + + The DB Connection. + an array of group names + + + + Select all of the jobs contained in a given group. + + The DB Connection + + an array of job names + + + + Insert the base trigger data. + + The DB Connection + The trigger to insert. + The state that the trigger should be stored in. + The job detail. + The number of rows inserted + + + + Insert the blob trigger data. + + The DB Connection + The trigger to insert + The number of rows inserted + + + + Update the base trigger data. + + the DB Connection + The trigger. + The state. + The job detail. + the number of rows updated + + + + Update the blob trigger data. + + the DB Connection + The trigger. + the number of rows updated + + + + Check whether or not a trigger exists. + + the DB Connection + The key identifying the trigger. + the number of rows updated + + + + Update the state for a given trigger. + + The DB Connection + The key identifying the trigger. + The new state for the trigger. + the number of rows updated + + + + Update the given trigger to the given new state, if it is in the given + old state. + + The DB connection + The key identifying the trigger. + The new state for the trigger + The old state the trigger must be in + int the number of rows updated + + + + Update the given trigger to the given new state, if it is one of the + given old states. + + The DB connection + The key identifying the trigger. + The new state for the trigger + One of the old state the trigger must be in + One of the old state the trigger must be in + One of the old state the trigger must be in + + int the number of rows updated + + SQLException + + + + Update all triggers in the given group to the given new state, if they + are in one of the given old states. + + The DB connection + + The new state for the trigger + One of the old state the trigger must be in + One of the old state the trigger must be in + One of the old state the trigger must be in + The number of rows updated + + + + Update all of the triggers of the given group to the given new state, if + they are in the given old state. + + The DB connection + + The new state for the trigger group + The old state the triggers must be in. + int the number of rows updated + + + + Update the states of all triggers associated with the given job. + + The DB Connection + The key identifying the job. + The new state for the triggers. + The number of rows updated + + + + Update the states of any triggers associated with the given job, that + are the given current state. + + The DB Connection + The key identifying the job. + The new state for the triggers + The old state of the triggers + the number of rows updated + + + + Delete the BLOB trigger data for a trigger. + + The DB Connection + The key identifying the trigger. + The number of rows deleted + + + + Delete the base trigger data for a trigger. + + The DB Connection + The key identifying the trigger. + the number of rows deleted + + + + Select the number of triggers associated with a given job. + + The DB Connection + The key identifying the job. + the number of triggers for the given job + + + + Select the job to which the trigger is associated. + + The DB Connection + The key identifying the trigger. + The load helper. + + The object associated with the given trigger + + + + + Select the triggers for a job> + + The DB Connection + The key identifying the job. + an array of objects associated with a given job. + + + + Select the triggers for a calendar + + The DB Connection. + Name of the calendar. + + An array of objects associated with a given job. + + + + + Select a trigger. + + The DB Connection. + The key identifying the trigger. + The object. + + + + + Select a trigger's JobDataMap. + + The DB Connection. + The key identifying the trigger. + The of the Trigger, never null, but possibly empty. + + + + Select a trigger's state value. + + The DB Connection. + The key identifying the trigger. + The object. + + + + Select a triggers status (state and next fire time). + + The DB Connection. + The key identifying the trigger. + A object, or null + + + + Select the total number of triggers stored. + + The DB Connection. + The total number of triggers stored. + + + + Select all of the trigger group names that are stored. + + The DB Connection. + An array of group names. + + + + Select all of the triggers contained in a given group. + + The DB Connection. + + An array of trigger names. + + + + Select all of the triggers in a given state. + + The DB Connection. + The state the triggers must be in. + An array of trigger s. + + + + Inserts the paused trigger group. + + The conn. + Name of the group. + + + + + Deletes the paused trigger group. + + The conn. + Name of the group. + + + + + Deletes all paused trigger groups. + + The conn. + + + + + Determines whether the specified trigger group is paused. + + The conn. + Name of the group. + + true if trigger group is paused; otherwise, false. + + + + + Selects the paused trigger groups. + + The DB Connection. + + + + + Determines whether given trigger group already exists. + + The conn. + Name of the group. + + true if trigger group exists; otherwise, false. + + + + + Insert a new calendar. + + The DB Connection. + The name for the new calendar. + The calendar. + The number of rows inserted. + + + + Update a calendar. + + The DB Connection. + The name for the new calendar. + The calendar. + The number of rows updated. + + + + Check whether or not a calendar exists. + + The DB Connection. + The name of the calendar. + true if the trigger exists, false otherwise. + + + + Select a calendar. + + The DB Connection. + The name of the calendar. + The Calendar. + + + + Check whether or not a calendar is referenced by any triggers. + + The DB Connection. + The name of the calendar. + true if any triggers reference the calendar, false otherwise + + + + Delete a calendar. + + The DB Connection + The name of the trigger. + The number of rows deleted. + + + + Select the total number of calendars stored. + + The DB Connection + The total number of calendars stored. + + + + Select all of the stored calendars. + + The DB Connection + An array of calendar names. + + + + Select the trigger that will be fired at the given fire time. + + The DB Connection + The time that the trigger will be fired. + + A representing the + trigger that will be fired at the given fire time, or null if no + trigger will be fired at that time + + + + + Insert a fired trigger. + + The DB Connection + The trigger. + The state that the trigger should be stored in. + The job detail. + The number of rows inserted. + + + + Select the states of all fired-trigger records for a given trigger, or + trigger group if trigger name is . + + The DB Connection + Name of the trigger. + Name of the group. + A list of FiredTriggerRecord objects. + + + + Select the states of all fired-trigger records for a given job, or job + group if job name is . + + The DB Connection + Name of the job. + Name of the group. + A List of FiredTriggerRecord objects. + + + + Select the states of all fired-trigger records for a given scheduler + instance. + + The DB Connection + Name of the instance. + A list of FiredTriggerRecord objects. + + + + Delete a fired trigger. + + The DB Connection + The fired trigger entry to delete. + The number of rows deleted. + + + + Get the number instances of the identified job currently executing. + + The DB Connection + The key identifying the job. + + The number instances of the identified job currently executing. + + + + + Insert a scheduler-instance state record. + + The DB Connection + The instance id. + The check in time. + The interval. + The number of inserted rows. + + + + Delete a scheduler-instance state record. + + The DB Connection + The instance id. + The number of deleted rows. + + + + Update a scheduler-instance state record. + + The DB Connection + The instance id. + The check in time. + The number of updated rows. + + + + A List of all current s. + + If instanceId is not null, then only the record for the identified + instance will be returned. + + + The DB Connection + The instance id. + + + + + Select the next trigger which will fire to fire between the two given timestamps + in ascending order of fire time, and then descending by priority. + + The conn. + highest value of of the triggers (exclusive) + highest value of of the triggers (inclusive) + maximum number of trigger keys allow to acquired in the returning list. + A (never null, possibly empty) list of the identifiers (Key objects) of the next triggers to be fired. + + + + Select the distinct instance names of all fired-trigger records. + + + This is useful when trying to identify orphaned fired triggers (a + fired trigger without a scheduler state record.) + + The conn. + + + + + Counts the misfired triggers in states. + + The conn. + The state1. + The ts. + + + + + Selects the misfired triggers in states. + + The conn. + The state1. + The ts. + The count. + The result list. + + + + + Clear (delete!) all scheduling data - all s, s + s. + + + + + + Exception class for when a driver delegate cannot be found for a given + configuration, or lack thereof. + + Jeffrey Wescott + Marko Lahma (.NET) + + + + Base class for exceptions thrown by the Quartz . + + + SchedulerExceptions may contain a reference to another + , which was the underlying cause of the SchedulerException. + + James House + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The MSG. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + Initializes a new instance of the class. + + The cause. + + + + Initializes a new instance of the class. + + The MSG. + The cause. + + + + Creates and returns a string representation of the current exception. + + + A string representation of the current exception. + + + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + is meant to be used in an application-server + or other software framework environment that provides + container-managed-transactions. No commit / rollback will be handled by this class. + + + If you need commit / rollback, use + instead. + + Jeffrey Wescott + James House + Srinivas Venkatarangaiah + Marko Lahma (.NET) + + + + Contains base functionality for ADO.NET-based JobStore implementations. + + Jeffrey Wescott + James House + Marko Lahma (.NET) + + + + The interface to be implemented by classes that want to provide a + and storage mechanism for the + 's use. + + + Storage of s and s should be keyed + on the combination of their name and group for uniqueness. + + + + + + + + James House + Marko Lahma (.NET) + + + + Called by the QuartzScheduler before the is + used, in order to give the it a chance to Initialize. + + + + + Called by the QuartzScheduler to inform the that + the scheduler has started. + + + + + Called by the QuartzScheduler to inform the JobStore that + the scheduler has been paused. + + + + + Called by the QuartzScheduler to inform the JobStore that + the scheduler has resumed after being paused. + + + + + Called by the QuartzScheduler to inform the that + it should free up all of it's resources because the scheduler is + shutting down. + + + + + Store the given and . + + The to be stored. + The to be stored. + ObjectAlreadyExistsException + + + + returns true if the given JobGroup is paused + + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + Store the given . + + The to be stored. + + If , any existing in the + with the same name and group should be + over-written. + + + + + Remove (delete) the with the given + key, and any s that reference + it. + + + If removal of the results in an empty group, the + group should be removed from the 's list of + known group names. + + + if a with the given name and + group was found and removed from the store. + + + + + Retrieve the for the given + . + + + The desired , or null if there is no match. + + + + + Store the given . + + The to be stored. + If , any existing in + the with the same name and group should + be over-written. + ObjectAlreadyExistsException + + + + Remove (delete) the with the given key. + + + + If removal of the results in an empty group, the + group should be removed from the 's list of + known group names. + + + If removal of the results in an 'orphaned' + that is not 'durable', then the should be deleted + also. + + + + if a with the given + name and group was found and removed from the store. + + + + + Remove (delete) the with the + given name, and store the new given one - which must be associated + with the same job. + + The to be replaced. + The new to be stored. + + if a with the given + name and group was found and removed from the store. + + + + + Retrieve the given . + + + The desired , or null if there is no + match. + + + + + Determine whether a with the given identifier already + exists within the scheduler. + + + + the identifier to check for + true if a job exists with the given identifier + + + + Determine whether a with the given identifier already + exists within the scheduler. + + + + the identifier to check for + true if a trigger exists with the given identifier + + + + Clear (delete!) all scheduling data - all s, s + s. + + + + + + + Store the given . + + The name. + The to be stored. + If , any existing + in the with the same name and group + should be over-written. + If , any s existing + in the that reference an existing + Calendar with the same name with have their next fire time + re-computed with the new . + ObjectAlreadyExistsException + + + + Remove (delete) the with the + given name. + + + If removal of the would result in + s pointing to non-existent calendars, then a + will be thrown. + + The name of the to be removed. + + if a with the given name + was found and removed from the store. + + + + + Retrieve the given . + + The name of the to be retrieved. + + The desired , or null if there is no + match. + + + + + Get the number of s that are + stored in the . + + + + + + Get the number of s that are + stored in the . + + + + + + Get the number of s that are + stored in the . + + + + + + Get the names of all of the s that + have the given group name. + + If there are no jobs in the given group name, the result should be a + zero-length array (not ). + + + + + + + + Get the names of all of the s + that have the given group name. + + If there are no triggers in the given group name, the result should be a + zero-length array (not ). + + + + + + Get the names of all of the + groups. + + If there are no known group names, the result should be a zero-length + array (not ). + + + + + + Get the names of all of the + groups. + + If there are no known group names, the result should be a zero-length + array (not ). + + + + + + Get the names of all of the s + in the . + + + If there are no Calendars in the given group name, the result should be + a zero-length array (not ). + + + + + + Get all of the Triggers that are associated to the given Job. + + + If there are no matches, a zero-length array should be returned. + + + + + Get the current state of the identified . + + + + + + Pause the with the given key. + + + + + Pause all of the s in the + given group. + + + The JobStore should "remember" that the group is paused, and impose the + pause on any new triggers that are added to the group while the group is + paused. + + + + + Pause the with the given key - by + pausing all of its current s. + + + + + Pause all of the s in the given + group - by pausing all of their s. + + The JobStore should "remember" that the group is paused, and impose the + pause on any new jobs that are added to the group while the group is + paused. + + + + + + + + Resume (un-pause) the with the + given key. + + + If the missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + + + Resume (un-pause) all of the s + in the given group. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Gets the paused trigger groups. + + + + + + Resume (un-pause) the with the + given key. + + If any of the 's s missed one + or more fire-times, then the 's misfire + instruction will be applied. + + + + + + Resume (un-pause) all of the s in + the given group. + + If any of the s had s that + missed one or more fire-times, then the 's + misfire instruction will be applied. + + + + + + Pause all triggers - equivalent of calling + on every group. + + When is called (to un-pause), trigger misfire + instructions WILL be applied. + + + + + + + Resume (un-pause) all triggers - equivalent of calling + on every group. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + + + Get a handle to the next trigger to be fired, and mark it as 'reserved' + by the calling scheduler. + + If > 0, the JobStore should only return a Trigger + that will fire no later than the time represented in this value as + milliseconds. + + + + + + + + + Inform the that the scheduler no longer plans to + fire the given , that it had previously acquired + (reserved). + + + + + Inform the that the scheduler is now firing the + given (executing its associated ), + that it had previously acquired (reserved). + + + May return null if all the triggers or their calendars no longer exist, or + if the trigger was not successfully put into the 'executing' + state. Preference is to return an empty list if none of the triggers + could be fired. + + + + + Inform the that the scheduler has completed the + firing of the given (and the execution its + associated ), and that the + in the given should be updated if the + is stateful. + + + + + Indicates whether job store supports persistence. + + + + + + How long (in milliseconds) the implementation + estimates that it will take to release a trigger and acquire a new one. + + + + + Whether or not the implementation is clustered. + + + + + + Inform the of the Scheduler instance's Id, + prior to initialize being invoked. + + + + + Inform the of the Scheduler instance's name, + prior to initialize being invoked. + + + + + Tells the JobStore the pool size used to execute jobs. + + + + + Initializes a new instance of the class. + + + + + Gets the connection and starts a new transaction. + + + + + + Called by the QuartzScheduler before the is + used, in order to give it a chance to Initialize. + + + + + + + + Called by the QuartzScheduler to inform the JobStore that + the scheduler has been paused. + + + + + Called by the QuartzScheduler to inform the JobStore that + the scheduler has resumed after being paused. + + + + + Called by the QuartzScheduler to inform the that + it should free up all of it's resources because the scheduler is + shutting down. + + + + + Will recover any failed or misfired jobs and clean up the data store as + appropriate. + + + + + Will recover any failed or misfired jobs and clean up the data store as + appropriate. + + + + + Store the given and . + + Job to be stored. + Trigger to be stored. + + + + returns true if the given JobGroup + is paused + + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + Stores the given . + + The to be stored. + + If , any existing in the + with the same name & group should be over-written. + + + + + Insert or update a job. + + + + + + Check existence of a given job. + + + + + Store the given . + + The to be stored. + + If , any existing in + the with the same name & group should + be over-written. + + + if a with the same name/group already + exists, and replaceExisting is set to false. + + + + + Insert or update a trigger. + + + + + Check existence of a given trigger. + + + + + Remove (delete) the with the given + name, and any s that reference + it. + + + + If removal of the results in an empty group, the + group should be removed from the 's list of + known group names. + + + if a with the given name & + group was found and removed from the store. + + + + + Delete a job and its listeners. + + + + + + + Delete a trigger, its listeners, and its Simple/Cron/BLOB sub-table entry. + + + + + + + + Retrieve the for the given + . + + The key identifying the job. + The desired , or null if there is no match. + + + + Remove (delete) the with the + given name. + + + + + If removal of the results in an empty group, the + group should be removed from the 's list of + known group names. + + + + If removal of the results in an 'orphaned' + that is not 'durable', then the should be deleted + also. + + + The key identifying the trigger. + + if a with the given + name & group was found and removed from the store. + + + + + + + + Retrieve the given . + + The key identifying the trigger. + The desired , or null if there is no match. + + + + Get the current state of the identified . + + + + + + + + + + Gets the state of the trigger. + + The conn. + The key identifying the trigger. + + + + + Store the given . + + The name of the calendar. + The to be stored. + + If , any existing + in the with the same name & group + should be over-written. + + + + if a with the same name already + exists, and replaceExisting is set to false. + + + + + Remove (delete) the with the given name. + + + If removal of the would result in + s pointing to non-existent calendars, then a + will be thrown. + + The name of the to be removed. + + if a with the given name + was found and removed from the store. + + + + + Retrieve the given . + + The name of the to be retrieved. + The desired , or null if there is no match. + + + + Get the number of s that are + stored in the . + + + + + Get the number of s that are + stored in the . + + + + + Get the number of s that are + stored in the . + + + + + Get the names of all of the s that + have the given group name. + + + If there are no jobs in the given group name, the result should be a + zero-length array (not ). + + + + + Determine whether a with the given identifier already + exists within the scheduler. + + + + the identifier to check for + true if a Job exists with the given identifier + + + + Determine whether a with the given identifier already + exists within the scheduler. + + + + the identifier to check for + true if a Trigger exists with the given identifier + + + + Clear (delete!) all scheduling data - all s, s + s. + + + + + + + Get the names of all of the s + that have the given group name. + + + If there are no triggers in the given group name, the result should be a + zero-length array (not ). + + + + + Get the names of all of the + groups. + + + + If there are no known group names, the result should be a zero-length + array (not ). + + + + + Get the names of all of the + groups. + + + + If there are no known group names, the result should be a zero-length + array (not ). + + + + + Get the names of all of the s + in the . + + + If there are no Calendars in the given group name, the result should be + a zero-length array (not ). + + + + + Get all of the Triggers that are associated to the given Job. + + + If there are no matches, a zero-length array should be returned. + + + + + Pause the with the given name. + + + + + Pause the with the given name. + + + + + Pause the with the given name - by + pausing all of its current s. + + + + + + Pause all of the s in the given + group - by pausing all of their s. + + + + + + Determines if a Trigger for the given job should be blocked. + State can only transition to StatePausedBlocked/StateBlocked from + StatePaused/StateWaiting respectively. + + StatePausedBlocked, StateBlocked, or the currentState. + + + + Resume (un-pause) the with the + given name. + + + If the missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + Resume (un-pause) the with the + given name. + + + If any of the 's s missed one + or more fire-times, then the 's misfire + instruction will be applied. + + + + + + Resume (un-pause) all of the s in + the given group. + + + If any of the s had s that + missed one or more fire-times, then the 's + misfire instruction will be applied. + + + + + + Pause all of the s in the given group. + + + + + + Pause all of the s in the given group. + + + + + Pause all of the s in the + given group. + + + + + Resume (un-pause) all of the s + in the given group. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Pause all triggers - equivalent of calling + on every group. + + When is called (to un-pause), trigger misfire + instructions WILL be applied. + + + + + + + + Resume (un-pause) all triggers - equivalent of calling + on every group. + + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Resume (un-pause) all triggers - equivalent of calling + on every group. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + + Get a handle to the next N triggers to be fired, and mark them as 'reserved' + by the calling scheduler. + + + + + + Inform the that the scheduler no longer plans to + fire the given , that it had previously acquired + (reserved). + + + + + Inform the that the scheduler has completed the + firing of the given (and the execution its + associated ), and that the + in the given should be updated if the + is stateful. + + + + + Get a list of all scheduler instances in the cluster that may have failed. + This includes this scheduler if it is checking in for the first time. + + + + + Create dummy objects for fired triggers + that have no scheduler state record. Checkin timestamp and interval are + left as zero on these dummy objects. + + + List of all current s + + + + Cleanup the given database connection. This means restoring + any modified auto commit or transaction isolation connection + attributes, and then closing the underlying connection. + + + + This is separate from closeConnection() because the Spring + integration relies on being able to overload closeConnection() and + expects the same connection back that it originally returned + from the datasource. + + + + + + Closes the supplied connection. + + (Optional) + + + + Rollback the supplied connection. + + (Optional) + + JobPersistenceException thrown if a SQLException occurs when the + connection is rolled back + + + + + Commit the supplied connection. + + The CTH. + if set to true opens a new transaction. + JobPersistenceException thrown if a SQLException occurs when the + + + + Execute the given callback in a transaction. Depending on the JobStore, + the surrounding transaction may be assumed to be already present + (managed). + + + This method just forwards to ExecuteInLock() with a null lockName. + + + + + + Execute the given callback having acquired the given lock. + Depending on the JobStore, the surrounding transaction may be + assumed to be already present (managed). This version is just a + handy wrapper around executeInLock that doesn't require a return + value. + + + The name of the lock to acquire, for example + "TRIGGER_ACCESS". If null, then no lock is acquired, but the + lockCallback is still executed in a transaction. + + + The callback to excute after having acquired the given lock. + + + + + + Execute the given callback having acquired the given lock. + Depending on the JobStore, the surrounding transaction may be + assumed to be already present (managed). + + + The name of the lock to acquire, for example + "TRIGGER_ACCESS". If null, then no lock is acquired, but the + lockCallback is still executed in a transaction. + + + The callback to excute after having acquired the given lock. + + + + + Execute the given callback having optionally acquired 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 acquire, for example + "TRIGGER_ACCESS". If null, then no lock is acquired, but the + lockCallback is still executed in a non-managed transaction. + + + + The callback to excute after having acquired the given lock. + + + + + Execute the given callback having optionally acquired the given lock. + This uses the non-managed transaction connection. + + + The name of the lock to acquire, for example + "TRIGGER_ACCESS". If null, then no lock is acquired, but the + lockCallback is still executed in a non-managed transaction. + + + The callback to excute after having acquired the given lock. + + + + + 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. + + + However, if batch acquisition is used, it is important for this behavior + to be used for all dbs. + + + + + Get or set the ADO.NET driver delegate class name. + + + + + The driver delegate's initialization string. + + + + + set the SQL statement to use to select and lock a row in the "locks" + table. + + + + + + Get whether the threads spawned by this JobStore should be + marked as daemon. Possible threads include the + and the . + + + + + + Get whether to check to see if there are Triggers that have misfired + before actually acquiring the lock to recover them. This should be + set to false if the majority of the time, there are are misfired + Triggers. + + + + + + Get the driver delegate for DB operations. + + + + + Get whether String-only properties will be handled in JobDataMaps. + + + + + Indicates whether this job store supports persistence. + + + + + + + An interface for classes wishing to provide the service of loading classes + and resources within the scheduler... + + James House + Marko Lahma (.NET) + + + + Called to give the ClassLoadHelper a chance to Initialize itself, + including the 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 acquired the given lock. + Because CMT assumes that the connection is already part of a managed + transaction, it does not attempt to commit or rollback the + enclosing transaction. + + + + + + + The name of the lock to acquire, for example + "TRIGGER_ACCESS". If null, then no lock is acquired, but the + txCallback is still executed in a transaction. + + Callback to execute. + + + + is meant to be used in a standalone environment. + Both commit and rollback will be handled by this class. + + Jeffrey Wescott + James House + Marko Lahma (.NET) + + + + Called by the QuartzScheduler before the is + used, in order to give the it a chance to Initialize. + + + + + + + For , the non-managed TX connection is just + the normal connection because it is not CMT. + + + + + + Execute the given callback having optionally 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 + Marko Lahma (.NET) + + + + An exception that is thrown to indicate that there has been a failure in the + scheduler's underlying persistence mechanism. + + James House + Marko Lahma (.NET) + + + + Create a with the given message. + + + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + Create a with the given message + and cause. + + + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + This is a driver delegate for the MySQL ADO.NET driver. + + Marko Lahma + + + + 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) + + + + Initializes the driver delegate. + + + + + Insert the job detail record. + + the DB Connection + the new state for the triggers + the first old state to update + the second old state to update + number of rows updated + + + + Get the names of all of the triggers that have misfired. + + the DB Connection + The ts. + an array of objects + + + + Select all of the triggers in a given state. + + The DB Connection + The state the triggers must be in + an array of trigger s + + + + Get the names of all of the triggers in the given state that have + misfired - according to the given timestamp. + + The DB Connection + The state. + The time stamp. + An array of objects + + + + Get the names of all of the triggers in the given state that have + misfired - according to the given timestamp. No more than count will + be returned. + + The conn. + The state1. + The ts. + The most misfired triggers to return, negative for all + + Output parameter. A List of objects. Must not be null + + Whether there are more misfired triggers left to find beyond the given count. + + + + Get the number of triggers in the given state that have + misfired - according to the given timestamp. + + + + + + + + + Get the names of all of the triggers in the given group and state that + have misfired. + + The DB Connection + Name of the group. + The state. + The timestamp. + an array of objects + + + + Select all of the triggers for jobs that are requesting recovery. The + returned trigger objects will have unique "recoverXXX" trigger names and + will be in the + trigger group. + + + In order to preserve the ordering of the triggers, the fire time will be + set from the ColumnFiredTime column in the TableFiredTriggers + table. The caller is responsible for calling + on each returned trigger. It is also up to the caller to insert the + returned triggers to ensure that they are fired. + + The DB Connection + an array of objects + + + + Delete all fired triggers. + + The DB Connection. + The number of rows deleted. + + + + Delete all fired triggers of the given instance. + + The DB Connection + The instance id. + The number of rows deleted + + + + Clear (delete!) all scheduling data - all s, s + s. + + + + + + + Insert the job detail record. + + The DB Connection. + The job to insert. + Number of rows inserted. + + + + Gets the db presentation for boolean value. Subclasses can overwrite this behaviour. + + Value to map to database. + + + + + Gets the boolean value from db presentation. Subclasses can overwrite this behaviour. + + Value to map from database. + + + + + Gets the db presentation for date/time value. Subclasses can overwrite this behaviour. + + Value to map to database. + + + + + Gets the date/time value from db presentation. Subclasses can overwrite this behaviour. + + Value to map from database. + + + + + Gets the db presentation for time span value. Subclasses can overwrite this behaviour. + + Value to map to database. + + + + + Gets the time span value from db presentation. Subclasses can overwrite this behaviour. + + Value to map from database. + + + + + Update the job detail record. + + The DB Connection. + The job to update. + Number of rows updated. + + + + Get the names of all of the triggers associated with the given job. + + The DB Connection. + The key identifying the job. + An array of objects + + + + Delete the job detail record for the given job. + + the DB Connection + The key identifying the job. + the number of rows deleted + + + + Check whether or not the given job is stateful. + + the DB Connection + The key identifying the job. + + true if the job exists and is stateful, false otherwise + + + + + Check whether or not the given job exists. + + the DB Connection + The key identifying the job. + true if the job exists, false otherwise + + + + Update the job data map for the given job. + + The conn. + the job to update + the number of rows updated + + + + Select the JobDetail object for a given job name / group name. + + The DB Connection. + The key identifying the job. + The load helper. + The populated JobDetail object. + + + build Map from java.util.Properties encoding. + + + + Select the total number of jobs stored. + + The DB Connection. + The total number of jobs stored. + + + + Select all of the job group names that are stored. + + The DB Connection. + An array of group names. + + + + Select all of the jobs contained in a given group. + + The DB Connection. + + An array of job names. + + + + Insert the base trigger data. + + the DB Connection + the trigger to insert + the state that the trigger should be stored in + The job detail. + the number of rows inserted + + + + Insert the blob trigger data. + + The DB Connection. + The trigger to insert. + The number of rows inserted. + + + + Update the base trigger data. + + The DB Connection. + The trigger to insert. + The state that the trigger should be stored in. + The job detail. + The number of rows updated. + + + + Update the blob trigger data. + + The DB Connection. + The trigger to insert. + The number of rows updated. + + + + Check whether or not a trigger exists. + + The DB Connection. + the key of the trigger + true if the trigger exists, false otherwise + + + + Update the state for a given trigger. + + The DB Connection. + the key of the trigger + The new state for the trigger. + The number of rows updated. + + + + Update the given trigger to the given new state, if it is one of the + given old states. + + The DB connection. + the key of the trigger + The new state for the trigger. + One of the old state the trigger must be in. + One of the old state the trigger must be in. + One of the old state the trigger must be in. + The number of rows updated. + + + + Update all triggers in the given group to the given new state, if they + are in one of the given old states. + + The DB connection. + + The new state for the trigger. + One of the old state the trigger must be in. + One of the old state the trigger must be in. + One of the old state the trigger must be in. + The number of rows updated. + + + + Update the given trigger to the given new state, if it is in the given + old state. + + the DB connection + the key of the trigger + the new state for the trigger + the old state the trigger must be in + int the number of rows updated + + + + Update all of the triggers of the given group to the given new state, if + they are in the given old state. + + the DB connection + + the new state for the trigger group + the old state the triggers must be in + int the number of rows updated + + + + Update the states of all triggers associated with the given job. + + the DB Connection + the key of the job + the new state for the triggers + the number of rows updated + + + + Updates the state of the trigger states for job from other. + + The conn. + Key of the job. + The state. + The old state. + + + + + Delete the cron trigger data for a trigger. + + the DB Connection + the key of the trigger + the number of rows deleted + + + + Delete the base trigger data for a trigger. + + the DB Connection + the key of the trigger + the number of rows deleted + + + + Select the number of triggers associated with a given job. + + the DB Connection + the key of the job + the number of triggers for the given job + + + + Select the job to which the trigger is associated. + + the DB Connection + the key of the trigger + The load helper. + The object associated with the given trigger + + + + Select the triggers for a job + + the DB Connection + the key of the job + + an array of objects + associated with a given job. + + + + + Select the triggers for a calendar + + The DB Connection. + Name of the calendar. + + An array of objects associated with a given job. + + + + + Select a trigger. + + the DB Connection + the key of the trigger + The object + + + + Select a trigger's JobDataMap. + + the DB Connection + the key of the trigger + The of the Trigger, never null, but possibly empty. + + + + Select a trigger's state value. + + the DB Connection + the key of the trigger + The object + + + + Select a trigger status (state and next fire time). + + the DB Connection + the key of the trigger + + a object, or null + + + + + Select the total number of triggers stored. + + the DB Connection + the total number of triggers stored + + + + Select all of the trigger group names that are stored. + + the DB Connection + + an array of group names + + + + + Select all of the triggers contained in a given group. + + the DB Connection + + + an array of trigger names + + + + + Inserts the paused trigger group. + + The conn. + Name of the group. + + + + + Deletes the paused trigger group. + + The conn. + Name of the group. + + + + + Deletes all paused trigger groups. + + The conn. + + + + + Determines whether the specified trigger group is paused. + + The conn. + Name of the group. + + true if trigger group is paused; otherwise, false. + + + + + Determines whether given trigger group already exists. + + The conn. + Name of the group. + + true if trigger group exists; otherwise, false. + + + + + Insert a new calendar. + + the DB Connection + The name for the new calendar. + The calendar. + the number of rows inserted + IOException + + + + Update a calendar. + + the DB Connection + The name for the new calendar. + The calendar. + the number of rows updated + IOException + + + + Check whether or not a calendar exists. + + the DB Connection + The name of the calendar. + + true if the trigger exists, false otherwise + + + + + Select a calendar. + + the DB Connection + The name of the calendar. + the Calendar + ClassNotFoundException + IOException + + + + Check whether or not a calendar is referenced by any triggers. + + the DB Connection + The name of the calendar. + + true if any triggers reference the calendar, false otherwise + + + + + Delete a calendar. + + the DB Connection + The name of the trigger. + the number of rows deleted + + + + Select the total number of calendars stored. + + the DB Connection + the total number of calendars stored + + + + Select all of the stored calendars. + + the DB Connection + + an array of calendar names + + + + + Select the trigger that will be fired at the given fire time. + + the DB Connection + the time that the trigger will be fired + + a representing the + trigger that will be fired at the given fire time, or null if no + trigger will be fired at that time + + + + + Select the next trigger which will fire to fire between the two given timestamps + in ascending order of fire time, and then descending by priority. + + The conn. + highest value of of the triggers (exclusive) + highest value of of the triggers (inclusive) + maximum number of trigger keys allow to acquired in the returning list. + A (never null, possibly empty) list of the identifiers (Key objects) of the next triggers to be fired. + + + + Insert a fired trigger. + + the DB Connection + the trigger + the state that the trigger should be stored in + The job. + the number of rows inserted + + + + + Update a fired trigger. + + + + + + the DB Connection + + the trigger + + + the state that the trigger should be stored in + the number of rows inserted + + + + Select the states of all fired-trigger records for a given trigger, or + trigger group if trigger name is . + + The DB connection. + Name of the trigger. + Name of the group. + a List of objects. + + + + Select the states of all fired-trigger records for a given job, or job + group if job name is . + + The DB connection. + Name of the job. + Name of the group. + a List of objects. + + + + Select the states of all fired-trigger records for a given scheduler + instance. + + The DB Connection + Name of the instance. + A list of FiredTriggerRecord objects. + + + + Select the distinct instance names of all fired-trigger records. + + The conn. + + + This is useful when trying to identify orphaned fired triggers (a + fired trigger without a scheduler state record.) + + + + + Delete a fired trigger. + + the DB Connection + the fired trigger entry to delete + the number of rows deleted + + + + Selects the job execution count. + + The DB connection. + The key of the job. + + + + + Inserts the state of the scheduler. + + The conn. + The instance id. + The check in time. + The interval. + + + + + Deletes the state of the scheduler. + + The database connection. + The instance id. + + + + + Updates the state of the scheduler. + + The database connection. + The instance id. + The check in time. + + + + + A List of all current s. + + If instanceId is not null, then only the record for the identified + instance will be returned. + + + The DB Connection + The instance id. + + + + + Replace the table prefix in a query by replacing any occurrences of + "{0}" with the table prefix. + + The 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. + + + + This method should be overridden by any delegate subclasses that need + special handling for BLOBs for job details. + + The result set, already queued to the correct row. + The column index for the BLOB. + The deserialized Object from the ResultSet BLOB. + + + + Selects the paused trigger groups. + + The DB Connection. + + + + + Gets the select next trigger to acquire SQL clause. + MySQL version with LIMIT support. + + + + + + Exception class for when a driver delegate cannot be found for a given + configuration, or lack thereof. + + Jeffrey Wescott + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + This is a driver delegate for the Oracle database. + + Marko Lahma + + + + Creates the SQL for select next trigger to acquire. + + + + + Gets the db presentation for boolean value. For Oracle we use true/false of "1"/"0". + + Value to map to database. + + + + + Conveys a scheduler-instance state record. + + James House + Marko Lahma (.NET) + + + + Gets or sets the checkin interval. + + The checkin interval. + + + + Gets or sets the checkin timestamp. + + The checkin timestamp. + + + + Gets or sets the scheduler instance id. + + The scheduler instance id. + + + + Internal in-memory lock handler for providing thread/resource locking in + order to protect resources from being altered by multiple threads at the + same time. + + James House + Marko Lahma (.NET) + + + + Grants a lock on the identified resource to the calling thread (blocking + until it is available). + + True if the lock was obtained. + + + Release the lock on the identified resource if it is held by the calling + thread. + + + + + Determine whether the calling thread owns a lock on the identified + resource. + + + + + Gets the thread locks. + + The thread locks. + + + + Whether this Semaphore implementation requires a database connection for + its lock management operations. + + + + + + + + + This is a driver delegate for the SQLiteDelegate ADO.NET driver. + + Marko Lahma + + + + Gets the select next trigger to acquire SQL clause. + SQLite version with LIMIT support. + + + + + + A SQL Server specific driver delegate. + + Marko Lahma + + + + Gets the select next trigger to acquire SQL clause. + SQL Server specific version with TOP functionality + + + + + + Internal database based lock handler for providing thread/resource locking + in order to protect resources from being altered by multiple threads at the + same time. + + James House + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + The table prefix. + the scheduler name + The select with lock SQL. + + + + + Execute the SQL select for update that will lock the proper database row. + + + + + Property name and value holder for trigger state data. + + + + + Object representing a job or trigger key. + + James House + Marko Lahma (.NET) + + + + Construct a new TriggerStatus with the status name and nextFireTime. + + The trigger's status + The next time trigger will fire + + + + Return the string representation of the TriggerStatus. + + + + + + Provide thread/resource locking in order to protect + resources from being altered by multiple threads at the same time using + a db row update. + + + + Note: This Semaphore implementation is useful for databases that do + not support row locking via "SELECT FOR UPDATE" or SQL Server's type syntax. + + + As of Quartz.NET 2.0 version there is no need to use this implementation for + SQL Server databases. + + + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Execute the SQL that will lock the proper database row. + + + + + + + + + This implementation of the Calendar excludes a set of days of the year. You + may use it to exclude bank holidays which are on the same date every year. + + + + Juergen Donnerstag + Marko Lahma (.NET) + + + + This implementation of the Calendar may be used (you don't have to) as a + base class for more sophisticated one's. It merely implements the base + functionality required by each Calendar. + + + Regarded as base functionality is the treatment of base calendars. Base + calendar allow you to chain (stack) as much calendars as you may need. For + example to exclude weekends you may use WeeklyCalendar. In order to exclude + holidays as well you may define a WeeklyCalendar instance to be the base + calendar for HolidayCalendar instance. + + + Juergen Donnerstag + James House + Marko Lahma (.NET) + + + + An interface to be implemented by objects that define spaces of time during + which an associated may (not) fire. Calendars + do not define actual fire times, but rather are used to limit a + from firing on its normal schedule if necessary. Most + Calendars include all times by default and allow the user to specify times + to exclude. + + + As such, it is often useful to think of Calendars as being used to exclude a block + of time - as opposed to include a block of time. (i.e. the + schedule "fire every five minutes except on Sundays" could be + implemented with a and a + which excludes Sundays) + + Implementations MUST take care of being properly cloneable and Serializable. + + + James House + Juergen Donnerstag + Marko Lahma (.NET) + + + + Determine whether the given UTC time is 'included' by the + Calendar. + + + + + Determine the next UTC time that is 'included' by the + Calendar after the given UTC time. + + + + + Gets or sets a description for the instance - may be + useful for remembering/displaying the purpose of the calendar, though + the description has no meaning to Quartz. + + + + + Set a new base calendar or remove the existing one. + Get the base calendar. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The base calendar. + + + + Initializes a new instance of the class. + + The time zone. + + + + Initializes a new instance of the class. + + The base calendar. + The time zone. + + + + Serialization constructor. + + + + + + + checks whether two arrays have + the same length and + for any given place there are equal elements + in both arrays + + + + + + Get the base calendar. Will be null, if not set. + + + + + Check if date/time represented by timeStamp is included. If included + return true. The implementation of BaseCalendar simply calls the base + calendars IsTimeIncluded() method if base calendar is set. + + + + + + Determine the next UTC time (in milliseconds) that is 'included' by the + Calendar after the given time. Return the original value if timeStamp is + included. Return 0 if all days are excluded. + + + + + + Creates a new object that is a copy of the current instance. + + A new object that is a copy of this instance. + + + + Gets or sets the time zone. + + The time zone. + + + + Gets or sets the description given to the instance by + its creator (if any). + + + + + Set a new base calendar or remove the existing one + + + + + + Constructor + + + + + Constructor + + The base calendar. + + + + Serialization constructor. + + + + + + + Return true, if day is defined to be 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 + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + a string representation of the desired cron expression + + + + Create a with the given cron expression and + . + + + the base calendar for this calendar instance + see BaseCalendar for more information on base + calendar functionality + + a string representation of the desired cron expression + + + + Create a with the given cron expression and + . + + + the base calendar for this calendar instance + see BaseCalendar for more information on base + calendar functionality + + a string representation of the desired cron expression + + + + + Serialization constructor. + + + + + + + Determine whether the given time is 'included' by the + Calendar. + + the time to test + a boolean indicating whether the specified time is 'included' by the CronCalendar + + + + Determine the next time that is 'included' by the + Calendar after the given time. Return the original value if timeStamp is + included. Return 0 if all days are excluded. + + + + + + + Creates a new object that is a copy of the current instance. + + A new object that is a copy of this instance. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Sets the cron expression for the calendar to a new value. + + The expression. + + + + Returns the object representation of the cron expression that defines the + dates and times this calendar excludes. + + + + + This implementation of the Calendar excludes (or includes - see below) a + specified time range each day. + + + For example, you could use this calendar to + exclude business hours (8AM - 5PM) every day. Each + only allows a single time range to be specified, and that time range may not + * cross daily boundaries (i.e. you cannot specify a time range from 8PM - 5AM). + If the property is (default), + the time range defines a range of times in which triggers are not allowed to + * fire. If is , the time range + is inverted: that is, all times outside the defined time range + are excluded. + + Note when using , it behaves on the same principals + as, for example, WeeklyCalendar defines a set of days that are + excluded every week. Likewise, defines a + set of times that are excluded every day. + + + Mike Funk + Aaron Craven + Marko Lahma (.NET) + + + + Create a with a time range defined by the + specified strings and no baseCalendar. + and + must be in the format "HH:MM[:SS[:mmm]]" where: +
    +
  • + HH is the hour of the specified time. The hour should be + specified using military (24-hour) time and must be in the range + 0 to 23. +
  • +
  • + MM is the minute of the specified time and must be in the range + 0 to 59. +
  • +
  • + SS is the second of the specified time and must be in the range + 0 to 59. +
  • +
  • + mmm is the millisecond of the specified time and must be in the + range 0 to 999. +
  • +
  • items enclosed in brackets ('[', ']') are optional.
  • +
  • + The time range starting time must be before the time range ending + time. Note this means that a time range may not cross daily + boundaries (10PM - 2AM) +
  • +
+
+
+ + + 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. +
+ + + Serialization constructor. + + + + + + + Determine whether the given time is 'included' by the + Calendar. + + + + + + + Determine the next time (in milliseconds) that is 'included' by the + Calendar after the given time. Return the original value if timeStamp is + included. Return 0 if all days are excluded. + + + + + + + + Returns the start time of the time range of the day + specified in . + + + a DateTime representing the start time of the + time range for the specified date. + + + + + Returns the end time of the time range of the day + specified in + + + A DateTime representing the end time of the + time range for the specified date. + + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Sets the time range for the to the times + represented in the specified Strings. + + The range starting time string. + The range ending time string. + + + + Sets the time range for the to the times + represented in the specified values. + + The range starting hour of day. + The range starting minute. + The range starting second. + The range starting millis. + The range ending hour of day. + The range ending minute. + The range ending second. + The range ending millis. + + + + Sets the time range for the to the times + represented in the specified s. + + The range starting calendar. + The range ending calendar. + + + + Sets the time range for the to the times + represented in the specified values. + + The range starting time. + The range ending time. + + + + Gets the start of day, practically zeroes time part. + + The time. + + + + + Gets the end of day, 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 + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The base calendar. + + + + Serialization constructor. + + + + + + + Determine whether the given time (in milliseconds) is 'included' by the + Calendar. + + Note that this Calendar is only has full-day precision. + + + + + + Determine the next time (in milliseconds) that is 'included' by the + Calendar after the given time. + + Note that this Calendar is only has full-day precision. + + + + + + Creates a new object that is a copy of the current instance. + + A new object that is a copy of this instance. + + + + Add the given Date to the list of excluded days. Only the month, day and + year of the returned dates are significant. + + + + + Removes the excluded date. + + The date to remove. + + + + Returns a of Dates representing the excluded + days. Only the month, day and year of the returned dates are + significant. + + + + + This implementation of the Calendar excludes a set of days of the month. You + may use it to exclude every 1. of each month for example. But you may define + any day of a month. + + + + Juergen Donnerstag + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Constructor + + The base calendar. + + + + Serialization constructor. + + + + + + + Initialize internal variables + + + + + Return true, if 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. + + + + + + Creates a new object that is a copy of the current instance. + + A new object that is a copy of this instance. + + + + Get or set the array which defines the exclude-value of each day of month + Setting will redefine the array of days excluded. The array must of size greater or + equal 31. + + + + + This implementation of the Calendar excludes a set of days of the week. You + may use it to exclude weekends for example. But you may define any day of + the week. + + + + Juergen Donnerstag + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The base calendar. + + + + Serialization constructor. + + + + + + + Initialize internal variables + + + + + Return true, if wday is defined to be 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. + + + + + Matches using an AND operator on two Matcher operands. + + James House + Marko Lahma (.NET) + + + + Matchers can be used in various API methods to + select the entities that should be operated upon. + + James House + + + + + Create an AndMatcher that depends upon the result of both of the given matchers. + + + + + + + + + Matches on the complete key being equal (both name and group). + + + + jhouse + + + + Create an EverythingMatcher that matches all jobs. + + + + + + Create an EverythingMatcher that matches all triggers. + + + + + + Matches on group (ignores name) property of Keys. + + James House + Marko Lahma (.NET) + + + + An abstract base class for some types of matchers. + + James House + Marko Lahma (.NET) + + + + Create a GroupMatcher that matches groups equaling the given string. + + + + + + + Create a GroupMatcher that matches groups starting with the given string. + + + + + + + Create a GroupMatcher that matches groups ending with the given string. + + + + + + + Create a GroupMatcher that matches groups containing the given string. + + + + + + + Matches on the complete key being equal (both name and group). + + James House + Marko Lahma (.NET) + + + + Create a KeyMatcher that matches Keys that equal the given key. + + + + + + + + Matches on name (ignores group) property of Keys. + + James House + Marko Lahma (.NET) + + + + Create a NameMatcher that matches names equaling the given string. + + + + + + + Create a NameMatcher that matches names starting with the given string. + + + + + + + Create a NameMatcher that matches names ending with the given string. + + + + + + + Create a NameMatcher that matches names containing the given string. + + + + + + + Matches using an NOT operator on another Matcher. + + James House + Marko Lahma (.NET) + + + + Create a NotMatcher that reverses the result of the given matcher. + + + + + + + + Matches using an OR operator on two Matcher operands. + + James House + Marko Lahma (.NET) + + + + Create an OrMatcher that depends upon the result of at least one of the given matchers. + + + + + + + + + Operators available for comparing string values. + + + + + The base abstract class to be extended by all triggers. + + + + s have a name and group associated with them, which + should uniquely identify them within a single . + + + + s are the 'mechanism' by which s + are scheduled. Many s can point to the same , + but a single can only point to one . + + + + Triggers can 'send' parameters/data to s by placing contents + into the on the . + + + + + + + + James House + Sharada Jambula + Marko Lahma (.NET) + + + + Internal interface for managing triggers. This interface should not be used by the Quartz client. + + + + + Should not be used by end users. + + + + + The base interface with properties common to all s - + use to instantiate an actual Trigger. + + + + s have a associated with them, which + should uniquely identify them within a single . + + + + s are the 'mechanism' by which s + are scheduled. Many s can point to the same , + but a single can only point to one . + + + + Triggers can 'send' parameters/data to s by placing contents + into the on the . + + + + + + + + + + James House + Sharada Jambula + Marko Lahma (.NET) + + + + Get a that is configured to produce a + schedule identical to this trigger's schedule. + + + + + + Used by the to determine whether or not + it is possible for this to fire again. + + If the returned value is then the + may remove the from the . + + + + + + Returns the next time at which the is scheduled to fire. If + the trigger will not fire again, will be returned. Note that + the time returned can possibly be in the past, if the time that was computed + for the trigger to next fire has already arrived, but the scheduler has not yet + been able to fire the trigger (which would likely be due to lack of resources + e.g. threads). + + + The value returned is not guaranteed to be valid until after the + has been added to the scheduler. + + + + + + Returns the previous time at which the fired. + If the trigger has not yet fired, will be returned. + + + + + Returns the next time at which the will fire, + after the given time. If the trigger will not fire after the given time, + will be returned. + + + + + Get or set the description given to the instance by + its creator (if any). + + + + + Get or set the with the given name with + this Trigger. Use when setting to dis-associate a Calendar. + + + + + Get or set the that is associated with the + . + + Changes made to this map during job execution are not re-persisted, and + in fact typically result in an illegal state. + + + + + + Returns the last UTC time at which the will fire, if + the Trigger will repeat indefinitely, null will be returned. + + Note that the return time *may* be in the past. + + + + + + Get or set the instruction the should be given for + handling misfire situations for this - the + concrete type that you are using will have + defined a set of additional MISFIRE_INSTRUCTION_XXX + constants that may be set to this property. + + If not explicitly set, the default value is . + + + + + + + + + Gets and sets the date/time on which the trigger must stop firing. This + defines the final boundary for trigger firings 舒 the trigger will + not fire after to this date and time. If this value is null, no end time + boundary is assumed, and the trigger can continue indefinitely. + + + + + The time at which the trigger's scheduling should start. May or may not + be the first actual fire time of the trigger, depending upon the type of + trigger and the settings of the other properties of the trigger. However + the first actual first time will not be before this date. + + + Setting a value in the past may cause a new trigger to compute a first + fire time that is in the past, which may cause an immediate misfire + of the trigger. + + + + + The priority of a acts as a tie breaker such that if + two s have the same scheduled fire time, then Quartz + will do its best to give the one with the higher priority first access + to a worker thread. + + + If not explicitly set, the default value is 5. + + + + + + + Set a description for the instance - may be + useful for remembering/displaying the purpose of the trigger, though the + description has no meaning to Quartz. + + + + + Associate the with the given name with this Trigger. + + + + + Set the to be associated with the + . + + + + + The priority of a acts as a tie breaker such that if + two s have the same scheduled fire time, then Quartz + will do its best to give the one with the higher priority first access + to a worker thread. + + + If not explicitly set, the default value is 5. + + + + + + + The time at which the trigger's scheduling should start. May or may not + be the first actual fire time of the trigger, depending upon the type of + trigger and the settings of the other properties of the trigger. However + the first actual first time will not be before this date. + + + Setting a value in the past may cause a new trigger to compute a first + fire time that is in the past, which may cause an immediate misfire + of the trigger. + + ew DateTimeOffset StartTimeUtc { get; set; } + + + + + + Set the time at which the should quit repeating - + regardless of any remaining repeats (based on the trigger's particular + repeat settings). + + + + + + + + Set the instruction the should be given for + handling misfire situations for this - the + concrete type that you are using will have + defined a set of additional MisfireInstruction.XXX + constants that may be passed to this method. + + + If not explicitly set, the default value is . + + + + + + + + This method should not be used by the Quartz client. + + + Called when the has decided to 'fire' + the trigger (Execute the associated ), in order to + give the a chance to update itself for its next + triggering (if any). + + + + + + This method should not be used by the Quartz client. + + + + Called by the scheduler at the time a is first + added to the scheduler, in order to have the + compute its first fire time, based on any associated calendar. + + + + After this method has been called, + should return a valid answer. + + + + The first time at which the will be fired + by the scheduler, which is also the same value + will return (until after the first firing of the ). + + + + + This method should not be used by the Quartz client. + + + Called after the has executed the + associated with the + in order to get the final instruction code from the trigger. + + + is the that was used by the + 's method. + is the thrown by the + , if any (may be null). + + + One of the members. + + + + + + + + + + This method should not be used by the Quartz client. + + To be implemented by the concrete classes that extend this class. + + + The implementation should update the 's state + based on the MISFIRE_INSTRUCTION_XXX that was selected when the + was created. + + + + + + This method should not be used by the Quartz client. + + The implementation should update the 's state + based on the given new version of the associated + (the state should be updated so that it's next fire time is appropriate + given the Calendar's new settings). + + + + + + + + Validates whether the properties of the are + valid for submission into a . + + + + + This method should not be used by the Quartz client. + + + Usable by + implementations, in order to facilitate 'recognizing' instances of fired + s as their jobs complete execution. + + + + + Returns the previous time at which the fired. + If the trigger has not yet fired, will be returned. + + + + + Create a with no specified name, group, or . + + + Note that the , and + the and properties + must be set before the can be placed into a + . + + + + + Create a with the given name, and default group. + + + Note that the and + properties must be set before the + can be placed into a . + + The name. + + + + Create a with the given name, and group. + + + Note that the and + properties must be set before the + can be placed into a . + + The name. + if , Scheduler.DefaultGroup will be used. + + + + Create a with the given name, and group. + + The name. + if , Scheduler.DefaultGroup will be used. + Name of the job. + The job group. + ArgumentException + if name is null or empty, or the group is an empty string. + + + + + This method should not be used by the Quartz client. + + + Called when the has decided to 'fire' + the trigger (Execute the associated ), in order to + give the a chance to update itself for its next + triggering (if any). + + + + + + This method should not be used by the Quartz client. + + + + Called by the scheduler at the time a is first + added to the scheduler, in order to have the + compute its first fire time, based on any associated calendar. + + + + After this method has been called, + should return a valid answer. + + + + The first time at which the will be fired + by the scheduler, which is also the same value + will return (until after the first firing of the ). + + + + + This method should not be used by the Quartz client. + + + Called after the has executed the + associated with the + in order to get the final instruction code from the trigger. + + + is the that was used by the + 's method. + is the thrown by the + , if any (may be null). + + + One of the members. + + + + + + + Used by the to determine whether or not + it is possible for this to fire again. + + If the returned value is then the + may remove the from the . + + + + + + Returns the next time at which the is scheduled to fire. If + the trigger will not fire again, will be returned. Note that + the time returned can possibly be in the past, if the time that was computed + for the trigger to next fire has already arrived, but the scheduler has not yet + been able to fire the trigger (which would likely be due to lack of resources + e.g. threads). + + + The value returned is not guaranteed to be valid until after the + has been added to the scheduler. + + + + + + Returns the next time at which the will fire, + after the given time. If the trigger will not fire after the given time, + will be returned. + + + + + Validates the misfire instruction. + + The misfire instruction. + + + + + This method should not be used by the Quartz client. + + To be implemented by the concrete classes that extend this class. + + + The implementation should update the 's state + based on the MISFIRE_INSTRUCTION_XXX that was selected when the + was created. + + + + + + This method should not be used by the Quartz client. + + The implementation should update the 's state + based on the given new version of the associated + (the state should be updated so that it's next fire time is appropriate + given the Calendar's new settings). + + + + + + + + Validates whether the properties of the are + valid for submission into a . + + + + + Return a simple string representation of this object. + + + + + Compare the next fire time of this to that of + another by comparing their keys, or in other words, sorts them + according to the natural (i.e. alphabetical) order of their keys. + + + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Trigger equality is based upon the equality of the TriggerKey. + + + true if the key of this Trigger equals that of the given Trigger + + + + Serves as a hash function for a particular type. is suitable for use in hashing algorithms and data structures like a hash table. + + + A hash code for the current . + + + + + Creates a new object that is a copy of the current instance. + + + A new object that is a copy of this instance. + + + + + Get or sets the name of this . + + If name is null or empty. + + + + Get the group of this . If , Scheduler.DefaultGroup will be used. + + + if group is an empty string. + + + + + Get or set the name of the associated . + + + if jobName is null or empty. + + + + + Gets or sets the name of the associated 's + group. If set with , Scheduler.DefaultGroup will be used. + + ArgumentException + if group is an empty string. + + + + + Returns the 'full name' of the in the format + "group.name". + + + + + Gets the key. + + The key. + + + + Returns the 'full name' of the that the + points to, in the format "group.name". + + + + + Get or set the description given to the instance by + its creator (if any). + + + + + Get or set the with the given name with + this Trigger. Use when setting to dis-associate a Calendar. + + + + + Get or set the that is associated with the + . + + Changes made to this map during job execution are not re-persisted, and + in fact typically result in an illegal state. + + + + + + Returns the last UTC time at which the will fire, if + the Trigger will repeat indefinitely, null will be returned. + + Note that the return time *may* be in the past. + + + + + + Get or set the instruction the should be given for + handling misfire situations for this - the + concrete type that you are using will have + defined a set of additional MISFIRE_INSTRUCTION_XXX + constants that may be passed to this method. + + If not explicitly set, the default value is . + + + + + + + + + + This method should not be used by the Quartz client. + + + Usable by + implementations, in order to facilitate 'recognizing' instances of fired + s as their jobs complete execution. + + + + + Gets and sets the date/time on which the trigger must stop firing. This + defines the final boundary for trigger firings 舒 the trigger will + not fire after to this date and time. If this value is null, no end time + boundary is assumed, and the trigger can continue indefinitely. + + + + + The time at which the trigger's scheduling should start. May or may not + be the first actual fire time of the trigger, depending upon the type of + trigger and the settings of the other properties of the trigger. However + the first actual first time will not be before this date. + + + Setting a value in the past may cause a new trigger to compute a first + fire time that is in the past, which may cause an immediate misfire + of the trigger. + + + + + Tells whether this Trigger instance can handle events + in millisecond precision. + + + + + The priority of a acts as a tie breaker such that if + two s have the same scheduled fire time, then Quartz + will do its best to give the one with the higher priority first access + to a worker thread. + + + If not explicitly set, the default value is 5. + + + + + + + Gets a value indicating whether this instance has additional properties + that should be considered when for example saving to database. + + + If trigger implementation has additional properties that need to be saved + with base properties you need to make your class override this property with value true. + Returning true will effectively mean that ADOJobStore needs to serialize + this trigger instance to make sure additional properties are also saved. + + + true if this instance has additional properties; otherwise, false. + + + + + A concrete that is used to fire a + based upon repeating calendar time intervals. + + + The trigger will fire every N (see ) units of calendar time + (see ) as specified in the trigger's definition. + This trigger can achieve schedules that are not possible with (e.g + because months are not a fixed number of seconds) or (e.g. because + "every 5 months" is not an even divisor of 12). + + If you use an interval unit of then care should be taken when setting + a value that is on a day near the end of the month. For example, + if you choose a start time that occurs on January 31st, and have a trigger with unit + and interval 1, then the next fire time will be February 28th, + and the next time after that will be March 28th - and essentially each subsequent firing will + occur on the 28th of the month, even if a 31st day exists. If you want a trigger that always + fires on the last day of the month - regardless of the number of days in the month, + you should use . + + + + + + + 2.0 + James House + Marko Lahma (.NET) + + + + A that is used to fire a + based upon repeating calendar time intervals. + + + + + Get or set the interval unit - the time unit on with the interval applies. + + + + + Get the the time interval that will be added to the 's + fire time (in the set repeat interval unit) in order to calculate the time of the + next trigger repeat. + + + + + Get the number of times the has already fired. + + + + + Create a with no settings. + + + + + Create a that will occur immediately, and + repeat at the the given interval. + + Name for the trigger instance. + The repeat interval unit (minutes, days, months, etc). + The number of milliseconds to pause between the repeat firing. + + + + Create a that will occur immediately, and + repeat at the the given interval + + Name for the trigger instance. + Group for the trigger instance. + The repeat interval unit (minutes, days, months, etc). + The number of milliseconds to pause between the repeat firing. + + + + Create a that will occur at the given time, + and repeat at the the given interval until the given end time. + + Name for the trigger instance. + A set to the time for the to fire. + A set to the time for the to quit repeat firing. + The repeat interval unit (minutes, days, months, etc). + The number of milliseconds to pause between the repeat firing. + + + + Create a that will occur at the given time, + and repeat at the the given interval until the given end time. + + Name for the trigger instance. + Group for the trigger instance. + A set to the time for the to fire. + A set to the time for the to quit repeat firing. + The repeat interval unit (minutes, days, months, etc). + The number of milliseconds to pause between the repeat firing. + + + + Create a that will occur at the given time, + and repeat at the the given interval until the given end time. + + Name for the trigger instance. + Group for the trigger instance. + Name of the associated job. + Group of the associated job. + A set to the time for the to fire. + A set to the time for the to quit repeat firing. + The repeat interval unit (minutes, days, months, etc). + The number of milliseconds to pause between the repeat firing. + + + + Validates the misfire instruction. + + The misfire instruction. + + + + + Updates the 's state based on the + MisfireInstruction.XXX that was selected when the + was created. + + + If the misfire instruction is set to , + then the following scheme will be used: +
    +
  • The instruction will be interpreted as
  • +
+
+
+ + + This method should not be used by the Quartz client. + + Called when the has decided to 'fire' + the trigger (Execute the associated ), in order to + give the a chance to update itself for its next + triggering (if any). + + + + + + + This method should not be used by the Quartz client. + + The implementation should update the 's state + based on the given new version of the associated + (the state should be updated so that it's next fire time is appropriate + given the Calendar's new settings). + + + + + + + + This method should not be used by the Quartz client. + + + + Called by the scheduler at the time a is first + added to the scheduler, in order to have the + compute its first fire time, based on any associated calendar. + + + + After this method has been called, + should return a valid answer. + + + + The first time at which the will be fired + by the scheduler, which is also the same value + will return (until after the first firing of the ). + + + + + Returns the next time at which the is scheduled to fire. If + the trigger will not fire again, will be returned. Note that + the time returned can possibly be in the past, if the time that was computed + for the trigger to next fire has already arrived, but the scheduler has not yet + been able to fire the trigger (which would likely be due to lack of resources + e.g. threads). + + + The value returned is not guaranteed to be valid until after the + has been added to the scheduler. + + + + + + Returns the previous time at which the fired. + If the trigger has not yet fired, will be returned. + + + + + Returns the next time at which the will fire, + after the given time. If the trigger will not fire after the given time, + will be returned. + + + + + Determines whether or not the will occur + again. + + + + + + Validates whether the properties of the are + valid for submission into a . + + + + + Get a that is configured to produce a + schedule identical to this trigger's schedule. + + + + + + + + Get the time at which the should occur. + + + + + Tells whether this Trigger instance can handle events + in millisecond precision. + + + + + Get the time at which the should quit + repeating. + + + + + Get or set the interval unit - the time unit on with the interval applies. + + + + + Get the the time interval that will be added to the 's + fire time (in the set repeat interval unit) in order to calculate the time of the + next trigger repeat. + + + + + Get the number of times the has already fired. + + + + + Returns the final time at which the will + fire, if there is no end time set, null will be returned. + + + Note that the return time may be in the past. + + + + A concrete that is used to fire a + at given moments in time, defined with Unix 'cron-like' definitions. + + + + For those unfamiliar with "cron", this means being able to create a firing + schedule such as: "At 8:00am every Monday through Friday" or "At 1:30am + every last Friday of the month". + + + + The format of a "Cron-Expression" string is documented on the + class. + + + + Here are some full examples:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Expression Meaning
"0 0 12 * * ?"" /> Fire at 12pm (noon) every day" />
"0 15 10 ? * *"" /> Fire at 10:15am every day" />
"0 15 10 * * ?"" /> Fire at 10:15am every day" />
"0 15 10 * * ? *"" /> Fire at 10:15am every day" />
"0 15 10 * * ? 2005"" /> Fire at 10:15am every day during the year 2005" /> +
"0 * 14 * * ?"" /> Fire every minute starting at 2pm and ending at 2:59pm, every day" /> +
"0 0/5 14 * * ?"" /> Fire every 5 minutes starting at 2pm and ending at 2:55pm, every day" /> +
"0 0/5 14,18 * * ?"" /> Fire every 5 minutes starting at 2pm and ending at 2:55pm, AND fire every 5 minutes starting at 6pm and ending at 6:55pm, every day" /> +
"0 0-5 14 * * ?"" /> Fire every minute starting at 2pm and ending at 2:05pm, every day" /> +
"0 10,44 14 ? 3 WED"" /> Fire at 2:10pm and at 2:44pm every Wednesday in the month of March." /> +
"0 15 10 ? * MON-FRI"" /> Fire at 10:15am every Monday, Tuesday, Wednesday, Thursday and Friday" /> +
"0 15 10 15 * ?"" /> Fire at 10:15am on the 15th day of every month" /> +
"0 15 10 L * ?"" /> Fire at 10:15am on the last day of every month" /> +
"0 15 10 ? * 6L"" /> Fire at 10:15am on the last Friday of every month" /> +
"0 15 10 ? * 6L"" /> Fire at 10:15am on the last Friday of every month" /> +
"0 15 10 ? * 6L 2002-2005"" /> Fire at 10:15am on every last Friday of every month during the years 2002, 2003, 2004 and 2005" /> +
"0 15 10 ? * 6#3"" /> Fire at 10:15am on the third Friday of every month" /> +
+
+ + + Pay attention to the effects of '?' and '*' in the day-of-week and + day-of-month fields! + + + + NOTES: +
    +
  • Support for specifying both a day-of-week and a day-of-month value is + not complete (you'll need to use the '?' character in on of these fields). +
  • +
  • Be careful when setting fire times between mid-night and 1:00 AM - + "daylight savings" can cause a skip or a repeat depending on whether the + time moves back or jumps forward.
  • +
+
+
+ + + Sharada Jambula + James House + Contributions from Mads Henderson + Marko Lahma (.NET) +
+ + + The public interface for inspecting settings specific to a CronTrigger, + which is used to fire a + at given moments in time, defined with Unix 'cron-like' schedule definitions. + + + + For those unfamiliar with "cron", this means being able to create a firing + schedule such as: "At 8:00am every Monday through Friday" or "At 1:30am + every last Friday of the month". + + + + The format of a "Cron-Expression" string is documented on the + class. + + + + Here are some full examples:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Expression Meaning
"0 0 12 * * ?"" /> Fire at 12pm (noon) every day" />
"0 15 10 ? * *"" /> Fire at 10:15am every day" />
"0 15 10 * * ?"" /> Fire at 10:15am every day" />
"0 15 10 * * ? *"" /> Fire at 10:15am every day" />
"0 15 10 * * ? 2005"" /> Fire at 10:15am every day during the year 2005" /> +
"0 * 14 * * ?"" /> Fire every minute starting at 2pm and ending at 2:59pm, every day" /> +
"0 0/5 14 * * ?"" /> Fire every 5 minutes starting at 2pm and ending at 2:55pm, every day" /> +
"0 0/5 14,18 * * ?"" /> Fire every 5 minutes starting at 2pm and ending at 2:55pm, AND fire every 5 minutes starting at 6pm and ending at 6:55pm, every day" /> +
"0 0-5 14 * * ?"" /> Fire every minute starting at 2pm and ending at 2:05pm, every day" /> +
"0 10,44 14 ? 3 WED"" /> Fire at 2:10pm and at 2:44pm every Wednesday in the month of March." /> +
"0 15 10 ? * MON-FRI"" /> Fire at 10:15am every Monday, Tuesday, Wednesday, Thursday and Friday" /> +
"0 15 10 15 * ?"" /> Fire at 10:15am on the 15th day of every month" /> +
"0 15 10 L * ?"" /> Fire at 10:15am on the last day of every month" /> +
"0 15 10 ? * 6L"" /> Fire at 10:15am on the last Friday of every month" /> +
"0 15 10 ? * 6L"" /> Fire at 10:15am on the last Friday of every month" /> +
"0 15 10 ? * 6L 2002-2005"" /> Fire at 10:15am on every last Friday of every month during the years 2002, 2003, 2004 and 2005" /> +
"0 15 10 ? * 6#3"" /> Fire at 10:15am on the third Friday of every month" /> +
+
+ + + Pay attention to the effects of '?' and '*' in the day-of-week and + day-of-month fields! + + + + NOTES: +
    +
  • Support for specifying both a day-of-week and a day-of-month value is + not complete (you'll need to use the '?' character in on of these fields). +
  • +
  • Be careful when setting fire times between mid-night and 1:00 AM - + "daylight savings" can cause a skip or a repeat depending on whether the + time moves back or jumps forward.
  • +
+
+
+ + + Sharada Jambula + James House + Contributions from Mads Henderson + Marko Lahma (.NET) +
+ + + Gets the expression summary. + + + + + + Gets or sets the cron expression string. + + The cron expression string. + + + + Sets the time zone for which the of this + will be resolved. + + + If is set after this + property, the TimeZone setting on the CronExpression will "win". However + if is set after this property, the + time zone applied by this method will remain in effect, since the + string cron expression does not carry a time zone! + + The time zone. + + + + Create a with no settings. + + + The start-time will also be set to the current time, and the time zone + will be set the the system's default time zone. + + + + + Create a with the given name and default group. + + + The start-time will also be set to the current time, and the time zone + will be set the the system's default time zone. + + The name of the + + + + Create a with the given name and group. + + + The start-time will also be set to the current time, and the time zone + will be set the the system's default time zone. + + The name of the + The group of the + + + + Create a with the given name, group and + expression. + + + The start-time will also be set to the current time, and the time zone + will be set the the system's default time zone. + + The name of the + The group of the + A cron expression dictating the firing sequence of the + + + + Create a with the given name and group, and + associated with the identified . + + + The start-time will also be set to the current time, and the time zone + will be set the the system's default time zone. + + The name of the . + The group of the + name of the executed on firetime + Group of the executed on firetime + + + + Create a with the given name and group, + associated with the identified , + and with the given "cron" expression. + + + The start-time will also be set to the current time, and the time zone + will be set the the system's default time zone. + + The name of the + The group of the + name of the executed on firetime + Group of the executed on firetime + A cron expression dictating the firing sequence of the + + + + Create a with the given name and group, + associated with the identified , + and with the given "cron" expression resolved with respect to the . + + The name of the + The group of the + name of the executed on firetime + Group of the executed on firetime + A cron expression dictating the firing sequence of the + + Specifies for which time zone the cronExpression should be interpreted, + i.e. the expression 0 0 10 * * ?, is resolved to 10:00 am in this time zone. + + + + + Create a that will occur at the given time, + until the given end time. + + If null, the start-time will also be set to the current time, the time + zone will be set the the system's default. + + + The name of the + The group of the + name of the executed on firetime + Group of the executed on firetime + A set to the earliest time for the to start firing. + A set to the time for the to quit repeat firing. + A cron expression dictating the firing sequence of the + + + + Create a with fire time dictated by the + resolved with respect to the specified + occurring from the until + the given . + + The name of the + The group of the + name of the executed on firetime + Group of the executed on firetime + A set to the earliest time for the to start firing. + A set to the time for the to quit repeat firing. + + + + 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. + + + + + + A concrete implementation of DailyTimeIntervalTrigger that is used to fire a + based upon daily repeating time intervals. + + + + The trigger will fire every N ( ) seconds, minutes or hours + (see ) during a given time window on specified days of the week. + + + For example#1, a trigger can be set to fire every 72 minutes between 8:00 and 11:00 everyday. It's fire times would + be 8:00, 9:12, 10:24, then next day would repeat: 8:00, 9:12, 10:24 again. + + + For example#2, a trigger can be set to fire every 23 minutes between 9:20 and 16:47 Monday through Friday. + + + On each day, the starting fire time is reset to startTimeOfDay value, and then it will add repeatInterval value to it until + the endTimeOfDay is reached. If you set daysOfWeek values, then fire time will only occur during those week days period. Again, + remember this trigger will reset fire time each day with startTimeOfDay, regardless of your interval or endTimeOfDay! + + + The default values for fields if not set are: startTimeOfDay defaults to 00:00:00, the endTimeOfDay default to 23:59:59, + and daysOfWeek is default to every day. The startTime default to current time-stamp now, while endTime has not value. + + + If startTime is before startTimeOfDay, then startTimeOfDay will be used and startTime has no affect. Else if startTime is + after startTimeOfDay, then the first fire time for that day will be the next interval after the startTime. For example, if + you set startingTimeOfDay=9am, endingTimeOfDay=11am, interval=15 mins, and startTime=9:33am, then the next fire time will + be 9:45pm. Note also that if you do not set startTime value, the trigger builder will default to current time, and current time + maybe before or after the startTimeOfDay! So be aware how you set your startTime. + + + This trigger also supports "repeatCount" feature to end the trigger fire time after + a certain number of count is reached. Just as the SimpleTrigger, setting repeatCount=0 + means trigger will fire once only! Setting any positive count then the trigger will repeat + count + 1 times. Unlike SimpleTrigger, the default value of repeatCount of this trigger + is set to REPEAT_INDEFINITELY instead of 0 though. + + + + + 2.0 + James House + Zemian Deng saltnlight5@gmail.com + Nuno Maia (.NET) + + + + A that is used to fire a + based upon daily repeating time intervals. + + + The trigger will fire every N (see ) seconds, minutes or hours + (see during a given time window on specified days of the week. + + For example#1, a trigger can be set to fire every 72 minutes between 8:00 and 11:00 everyday. It's fire times + be 8:00, 9:12, 10:24, then next day would repeat: 8:00, 9:12, 10:24 again. + + For example#2, a trigger can be set to fire every 23 minutes between 9:20 and 16:47 Monday through Friday. + + On each day, the starting fire time is reset to startTimeOfDay value, and then it will add repeatInterval value to it until + the endTimeOfDay is reached. If you set daysOfWeek values, then fire time will only occur during those week days period. + + The default values for fields if not set are: startTimeOfDay defaults to 00:00:00, the endTimeOfDay default to 23:59:59, + and daysOfWeek is default to every day. The startTime default to current time-stamp now, while endTime has not value. + + If startTime is before startTimeOfDay, then it has no affect. Else if startTime after startTimeOfDay, then the first fire time + for that day will be normal startTimeOfDay incremental values after startTime value. Same reversal logic is applied to endTime + with endTimeOfDay. + + + + James House + Zemian Deng saltnlight5@gmail.com + Nuno Maia (.NET) + + + + + + + + + Get the the number of times for interval this trigger should repeat, + after which it will be automatically deleted. + + + + + Get the interval unit - the time unit on with the interval applies. + The only intervals that are valid for this type of trigger are , + , and + + + + + Get the the time interval that will be added to the 's + fire time (in the set repeat interval unit) in order to calculate the time of the + next trigger repeat. + + + + + The time of day to start firing at the given interval. + + + + + The time of day to complete firing at the given interval. + + + + + The days of the week upon which to fire. + + + A Set containing the integers representing the days of the week, per the values 0-6 as defined by + DayOfWees.Sunday - DayOfWeek.Saturday. + + + + + Get the number of times the has already fired. + + + + + Used to indicate the 'repeat count' of the trigger is indefinite. Or in + other words, the trigger should repeat continually until the trigger's + ending timestamp. + + + + + Create a with no settings. + + + + + Create a that will occur immediately, and + repeat at the the given interval. + + + The that the repeating should begin occurring. + The that the repeating should stop occurring. + The repeat interval unit. The only intervals that are valid for this type of trigger are + , , and . + + + + + Create a that will occur immediately, and + repeat at the the given interval. + + + + The that the repeating should begin occurring. + The that the repeating should stop occurring. + The repeat interval unit. The only intervals that are valid for this type of trigger are + , , and . + + + + + Create a that will occur at the given time, + and repeat at the the given interval until the given end time. + + + A set to the time for the to fire. + A set to the time for the to quit repeat firing. + The that the repeating should begin occurring. + The that the repeating should stop occurring. + The repeat interval unit. The only intervals that are valid for this type of trigger are + , , and . + The number of milliseconds to pause between the repeat firing. + + + + Create a that will occur at the given time, + and repeat at the the given interval until the given end time. + + + + A set to the time for the to fire. + A set to the time for the to quit repeat firing. + The that the repeating should begin occurring. + The that the repeating should stop occurring. + The repeat interval unit. The only intervals that are valid for this type of trigger are + , , and . + The number of milliseconds to pause between the repeat firing. + + + + Create a that will occur at the given time, + fire the identified job and repeat at the the given + interval until the given end time. + + + + + + A set to the time for the to fire. + A set to the time for the to quit repeat firing. + The that the repeating should begin occurring. + The that the repeating should stop occurring. + The repeat interval unit. The only intervals that are valid for this type of trigger are + , , and . + The number of milliseconds to pause between the repeat firing. + + + + Updates the 's state based on the + MisfireInstruction.XXX that was selected when the + was created. + + + If the misfire instruction is set to , + then the following scheme will be used: +
    +
  • The instruction will be interpreted as
  • +
+
+
+ + + Called when the scheduler has decided to 'fire' + the trigger (execute the associated job), in order to + give the trigger a chance to update itself for its next + triggering (if any). + + + + + + + + + + + + + + + This method should not be used by the Quartz client. + + + + Called by the scheduler at the time a is first + added to the scheduler, in order to have the + compute its first fire time, based on any associated calendar. + + + + After this method has been called, + should return a valid answer. + + + + The first time at which the will be fired + by the scheduler, which is also the same value + will return (until after the first firing of the ). + + + + + Returns the next time at which the is scheduled to fire. If + the trigger will not fire again, will be returned. Note that + the time returned can possibly be in the past, if the time that was computed + for the trigger to next fire has already arrived, but the scheduler has not yet + been able to fire the trigger (which would likely be due to lack of resources + e.g. threads). + + + The value returned is not guaranteed to be valid until after the + has been added to the scheduler. + + + + + + Returns the previous time at which the fired. + If the trigger has not yet fired, will be returned. + + + + + Set the next time at which the should fire. + + + This method should not be invoked by client code. + + + + + + Set the previous time at which the fired. + + + This method should not be invoked by client code. + + + + + + Returns the next time at which the will + fire, after the given time. If the trigger will not fire after the given + time, will be returned. + + + + + + + Given fireTime time, we need to advance/calculate and return a time of next available week day. + + given next fireTime. + flag to whether to advance day without check existing week day. This scenario + can happen when a caller determine fireTime has passed the endTimeOfDay that fireTime should move to next day anyway. + + a next day fireTime. + + + + Determines whether or not the will occur + again. + + + + + + Validates whether the properties of the are + valid for submission into a . + + + + + Get a that is configured to produce a + schedule identical to this trigger's schedule. + + + + + + + The time at which the should occur. + + + + + the time at which the should quit repeating. + + + + + + Get the the number of times for interval this trigger should repeat, + after which it will be automatically deleted. + + + + + the interval unit - the time unit on with the interval applies. + + + The repeat interval unit. The only intervals that are valid for this type of trigger are + , , and . + + + + + the the time interval that will be added to the 's + fire time (in the set repeat interval unit) in order to calculate the time of the + next trigger repeat. + + + + + the number of times the has already + fired. + + + + + Returns the final time at which the will + fire, if there is no end time set, null will be returned. + + Note that the return time may be in the past. + + + + + The days of the week upon which to fire. + + + A Set containing the integers representing the days of the week, per the values 0-6 as defined by + DayOfWees.Sunday - DayOfWeek.Saturday. + + + + + The time of day to start firing at the given interval. + + + + + The time of day to complete firing at the given interval. + + + + + This trigger has no additional properties besides what's defined in this class. + + + + + + Tells whether this Trigger instance can handle events + in millisecond precision. + + + + + A concrete that is used to fire a + at a given moment in time, and optionally repeated at a specified interval. + + + + James House + Contributions by Lieven Govaerts of Ebitec Nv, Belgium. + Marko Lahma (.NET) + + + + A that is used to fire a + at a given moment in time, and optionally repeated at a specified interval. + + + + James House + Contributions by Lieven Govaerts of Ebitec Nv, Belgium. + Marko Lahma (.NET) + + + + Get or set 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. + + + + + Used to indicate the 'repeat count' of the trigger is indefinite. Or in + other words, the trigger should repeat continually until the trigger's + ending timestamp. + + + + + Create a with no settings. + + + + + Create a that will occur immediately, and + not repeat. + + + + + Create a that will occur immediately, and + not repeat. + + + + + Create a that will occur immediately, and + repeat at the the given interval the given number of times. + + + + + Create a that will occur immediately, and + repeat at the the given interval the given number of times. + + + + + Create a that will occur at the given time, + and not repeat. + + + + + Create a that will occur at the given time, + and not repeat. + + + + + Create a that will occur at the given time, + and repeat at the the given interval the given number of times, or until + the given end time. + + The name. + A UTC set to the time for the to fire. + A UTC set to the time for the + to quit repeat firing. + The number of times for the to repeat + firing, use for unlimited times. + The time span to pause between the repeat firing. + + + + Create a that will occur at the given time, + and repeat at the the given interval the given number of times, or until + the given end time. + + The name. + The group. + A UTC set to the time for the to fire. + A UTC set to the time for the + to quit repeat firing. + The number of times for the to repeat + firing, use for unlimited times. + The time span to pause between the repeat firing. + + + + Create a that will occur at the given time, + fire the identified and repeat at the the given + interval the given number of times, or until the given end time. + + The name. + The group. + Name of the job. + The job group. + A set to the time for the + to fire. + A set to the time for the + to quit repeat firing. + The number of times for the to repeat + firing, use RepeatIndefinitely for unlimited times. + The time span to pause between the repeat firing. + + + + Validates the misfire instruction. + + The misfire instruction. + + + + + Updates the 's state based on the + MisfireInstruction value that was selected when the + was created. + + + If MisfireSmartPolicyEnabled is set to true, + then the following scheme will be used:
+
    +
  • If the Repeat Count is 0, then the instruction will + be interpreted as .
  • +
  • If the Repeat Count is , then + the instruction will be interpreted as . + WARNING: using MisfirePolicy.SimpleTrigger.RescheduleNowWithRemainingRepeatCount + with a trigger that has a non-null end-time may cause the trigger to + never fire again if the end-time arrived during the misfire time span. +
  • +
  • If the Repeat Count is > 0, then the instruction + will be interpreted as . +
  • +
+
+
+ + + Called when the has decided to 'fire' + the trigger (Execute the associated ), in order to + give the a chance to update itself for its next + triggering (if any). + + + + + + Updates the instance with new calendar. + + The calendar. + The misfire threshold. + + + + Called by the scheduler at the time a is first + added to the scheduler, in order to have the + compute its first fire time, based on any associated calendar. + + After this method has been called, + should return a valid answer. + + + + The first time at which the will be fired + by the scheduler, which is also the same value + will return (until after the first firing of the ). + + + + + Returns the next time at which the will + fire. If the trigger will not fire again, will be + returned. The value returned is not guaranteed to be valid until after + the has been added to the scheduler. + + + + + Returns the previous time at which the fired. + If the trigger has not yet fired, will be + returned. + + + + + Returns the next UTC time at which the will + fire, after the given UTC time. If the trigger will not fire after the given + time, will be returned. + + + + + Returns the last UTC time at which the will + fire, before the given time. If the trigger will not fire before the + given time, will be returned. + + + + + Computes the number of times fired between the two UTC date times. + + The UTC start date and time. + The UTC end date and time. + + + + + Determines whether or not the will occur + again. + + + + + Validates whether the properties of the are + valid for submission into a . + + + + + Get or set 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. + + + + + + Schedules work on a newly spawned thread. This is the default Quartz behavior. + + matt.accola + + + + Allows different strategies for scheduling threads. The + method is required to be called before the first call to + . The Thread containing the work to be performed is + passed to execute and the work is scheduled by the underlying implementation. + + matt.accola + + + + Submit a task for execution. + + Thread to execute. + + + + Initialize any state prior to calling . + + + + + A singleton implementation of . + + + Here are some examples of using this class: + + To create a scheduler that does not write anything to the database (is not + persistent), you can call : + + + DirectSchedulerFactory.Instance.CreateVolatileScheduler(10); // 10 threads + // don't forget to start the scheduler: + DirectSchedulerFactory.Instance.GetScheduler().Start(); + + + Several create methods are provided for convenience. All create methods + eventually end up calling the create method with all the parameters: + + + public void CreateScheduler(string schedulerName, string schedulerInstanceId, IThreadPool threadPool, IJobStore jobStore) + + + Here is an example of using this method: + + + // create the thread pool + SimpleThreadPool threadPool = new SimpleThreadPool(maxThreads, ThreadPriority.Normal); + threadPool.Initialize(); + // create the job store + JobStore jobStore = new RAMJobStore(); + + DirectSchedulerFactory.Instance.CreateScheduler("My Quartz Scheduler", "My Instance", threadPool, jobStore); + // don't forget to start the scheduler: + DirectSchedulerFactory.Instance.GetScheduler("My Quartz Scheduler", "My Instance").Start(); + + > + Mohammad Rezaei + James House + Marko Lahma (.NET) + + + + + + Provides a mechanism for obtaining client-usable handles to + instances. + + + + James House + Marko Lahma (.NET) + + + + Returns a client-usable handle to a . + + + + + Returns a handle to the Scheduler with the given name, if it exists. + + + + + Returns handles to all known Schedulers (made by any SchedulerFactory + within this app domain.). + + + + + Initializes a new instance of the class. + + + + + Creates an in memory job store () + The thread priority is set to Thread.NORM_PRIORITY + + The number of threads in the thread pool + + + + Creates a proxy to a remote scheduler. This scheduler can be retrieved + via . + + SchedulerException + + + + Same as , + with the addition of specifying the scheduler name and instance ID. This + scheduler can only be retrieved via . + + The name for the scheduler. + The instance ID for the scheduler. + + SchedulerException + + + + Creates a scheduler using the specified thread pool and job store. This + scheduler can be retrieved via DirectSchedulerFactory#GetScheduler() + + + The thread pool for executing jobs + + + The type of job store + + SchedulerException + if initialization failed + + + + + Same as DirectSchedulerFactory#createScheduler(ThreadPool threadPool, JobStore jobStore), + with the addition of specifying the scheduler name and instance ID. This + scheduler can only be retrieved via DirectSchedulerFactory#getScheduler(String) + + The name for the scheduler. + The instance ID for the scheduler. + The thread pool for executing jobs + The type of job store + + + + Creates a scheduler using the specified thread pool and job store and + binds it for remote access. + + The name for the scheduler. + The instance ID for the scheduler. + The thread pool for executing jobs + The type of job store + The idle wait time. You can specify "-1" for + the default value, which is currently 30000 ms. + The db failure retry interval. + + + + Creates a scheduler using the specified thread pool and job store and + binds it for remote access. + + The name for the scheduler. + The instance ID for the scheduler. + The thread pool for executing jobs + The type of job store + + The idle wait time. You can specify TimeSpan.Zero for + the default value, which is currently 30000 ms. + The db failure retry interval. + + + + Creates a scheduler using the specified thread pool and job store and + binds it for remote access. + + The name for the scheduler. + The instance ID for the scheduler. + The thread pool for executing jobs + Thread executor. + The type of job store + + The idle wait time. You can specify TimeSpan.Zero for + the default value, which is currently 30000 ms. + The db failure retry interval. + + + + Creates a scheduler using the specified thread pool and job store and + binds it for remote access. + + The name for the scheduler. + The instance ID for the scheduler. + The thread pool for executing jobs + Thread executor. + The type of job store + + The idle wait time. You can specify TimeSpan.Zero for + the default value, which is currently 30000 ms. + The db failure retry interval. + The maximum batch size of triggers, when acquiring them + The time window for which it is allowed to "pre-acquire" triggers to fire + + + + Returns a handle to the Scheduler produced by this factory. + + you must call createRemoteScheduler or createScheduler methods before + calling getScheduler() + + + + SchedulerException + + + + Returns a handle to the Scheduler with the given name, if it exists. + + + + + Gets the log. + + The log. + + + + Gets the instance. + + The instance. + + + + Returns a handle to all known Schedulers (made by any + StdSchedulerFactory instance.). + + + + + + Conveys the detail properties of a given job instance. + + + Quartz does not store an actual instance of a type, but + instead allows you to define an instance of one, through the use of a . + + s have a name and group associated with them, which + should uniquely identify them within a single . + + + s are the 'mechanism' by which s + are scheduled. Many s can point to the same , + but a single can only point to one . + + + + + + + + James House + Marko Lahma (.NET) + + + + Conveys the detail properties of a given job instance. + JobDetails are to be created/defined with . + + + Quartz does not store an actual instance of a type, but + instead allows you to define an instance of one, through the use of a . + + s have a name and group associated with them, which + should uniquely identify them within a single . + + + s are the 'mechanism' by which s + are scheduled. Many s can point to the same , + but a single can only point to one . + + + + + + + + James House + Marko Lahma (.NET) + + + + Get a that is configured to produce a + identical to this one. + + + + + The key that identifies this jobs uniquely. + + + + + Get or set the description given to the instance by its + creator (if any). + + + + + Get or sets the instance of that will be executed. + + + + + Get or set the that is associated with the . + + + + + Whether or not the should remain stored after it is + orphaned (no s point to it). + + + If not explicitly set, the default value is . + + + if the Job should remain persisted after being orphaned. + + + + + Whether the associated Job class carries the . + + + + + + Whether the associated Job class carries the . + + + + + + Set whether or not the the should re-Execute + the if a 'recovery' or 'fail-over' situation is + encountered. + + + If not explicitly set, the default value is . + + + + + + Create a with no specified name or group, and + the default settings of all the other properties. + + Note that the , and + properties must be set before the job can be + placed into a . + + + + + + Create a with the given name, default group, and + the default settings of all the other properties. + If , 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 durable. + if set to true, job will request recovery. + + ArgumentException if name is null or empty, or the group is an empty string. + + + + + Validates whether the properties of the are + valid for submission into a . + + + + + Return a simple string representation of this object. + + + + + Creates a new object that is a copy of the current instance. + + + A new object that is a copy of this instance. + + + + + Determines whether the specified detail is equal to this instance. + + The detail to examine. + + true if the specified detail is equal; otherwise, false. + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + if the specified is equal to the + current ; otherwise, . + + + + + Checks equality between given job detail and this instance. + + The detail to compare this instance with. + + + + + Serves as a hash function for a particular type, suitable + for use in hashing algorithms and data structures like a hash table. + + + A hash code for the current . + + + + + Get or sets the name of this . + + + if name is null or empty. + + + + + Get or sets the group of this . + If , will be used. + + + If the group is an empty string. + + + + + Returns the 'full name' of the in the format + "group.name". + + + + + Gets the key. + + The key. + + + + Get or set the description given to the instance by its + creator (if any). + + + May be useful for remembering/displaying the purpose of the job, though the + description has no meaning to Quartz. + + + + + Get or sets the instance of that will be executed. + + + if jobType is null or the class is not a . + + + + + Get or set the that is associated with the . + + + + + Set whether or not the the should re-Execute + the if a 'recovery' or 'fail-over' situation is + encountered. + + If not explicitly set, the default value is . + + + + + + + Whether or not the should remain stored after it is + orphaned (no s point to it). + + If not explicitly set, the default value is . + + + + if the Job should remain persisted after + being orphaned. + + + + + Whether the associated Job class carries the attribute. + + + + + Whether the associated Job class carries the attribute. + + + + + A context bundle containing handles to various environment information, that + is given to a instance as it is + executed, and to a instance after the + execution completes. + + + + The found on this object (via the + method) serves as a convenience - + it is a merge of the found on the + and the one found on the , with + the value in the latter overriding any same-named values in the former. + It is thus considered a 'best practice' that the Execute code of a Job + retrieve data from the JobDataMap found on this object + + + NOTE: Do not + expect value 'set' into this JobDataMap to somehow be set back onto a + job's own JobDataMap. + + + + s are also returned from the + + method. These are the same instances as those past into the jobs that are + currently executing within the scheduler. The exception to this is when your + application is using Quartz remotely (i.e. via remoting or WCF) - in which case you get + a clone of the s, and their references to + the and instances have been lost (a + clone of the is still available - just not a handle + to the job instance that is running). + + + + + + + + James House + Marko Lahma (.NET) + + + + A context bundle containing handles to various environment information, that + is given to a instance as it is + executed, and to a instance after the + execution completes. + + + + + Put the specified value into the context's data map with the given key. + Possibly useful for sharing data between listeners and jobs. + + NOTE: this data is volatile - it is lost after the job execution + completes, and all TriggerListeners and JobListeners have been + notified. + + + + + + + + + + Get the value with the given key from the context's data map. + + + + + + + Get a handle to the instance that fired the + . + + + + + Get a handle to the instance that fired the + . + + + + + Get a handle to the referenced by the + instance that fired the . + + + + + If the is being re-executed because of a 'recovery' + situation, this method will return . + + + + + Gets the refire count. + + The refire count. + + + + Get the convenience of this execution context. + + + + The found on this object serves as a convenience - + it is a merge of the found on the + and the one found on the , with + the value in the latter overriding any same-named values in the former. + It is thus considered a 'best practice' that the Execute code of a Job + retrieve data from the JobDataMap found on this object. + + + NOTE: Do not expect value 'set' into this JobDataMap to somehow be + set back onto a job's own JobDataMap. + + + Attempts to change the contents of this map typically result in an + illegal state. + + + + + + Get the associated with the . + + + + + Get the instance of the that was created for this + execution. + + Note: The Job instance is not available through remote scheduler + interfaces. + + + + + + The actual time the trigger fired. For instance the scheduled time may + have been 10:00:00 but the actual fire time may have been 10:00:03 if + the scheduler was too busy. + + Returns the fireTimeUtc. + + + + + The scheduled time the trigger fired for. For instance the scheduled + time may have been 10:00:00 but the actual fire time may have been + 10:00:03 if the scheduler was too busy. + + Returns the scheduledFireTimeUtc. + + + + + Gets the previous fire time. + + The previous fire time. + + + + Gets the next fire time. + + The next fire time. + + + + Get the unique Id that identifies this particular firing instance of the + trigger that triggered this job execution. It is unique to this + JobExecutionContext instance as well. + + the unique fire instance id + + + + + Returns the result (if any) that the set before its + execution completed (the type of object set as the result is entirely up + to the particular job). + + + + The result itself is meaningless to Quartz, but may be informative + to s or + s that are watching the job's + execution. + + + Set the result (if any) of the 's execution (the type of + object set as the result is entirely up to the particular job). + + + The result itself is meaningless to Quartz, but may be informative + to s or + s that are watching the job's + execution. + + + + + + The amount of time the job ran for. The returned + value will be until the job has actually completed (or thrown an + exception), and is therefore generally only useful to + s and s. + + + + + Create a 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 job's own JobDataMap. + + + Attempts to change the contents of this map typically result in an + illegal state. + + + + + + Get the associated with the . + + + + + Get the instance of the that was created for this + execution. + + Note: The Job instance is not available through remote scheduler + interfaces. + + + + + + The actual time the trigger fired. For instance the scheduled time may + have been 10:00:00 but the actual fire time may have been 10:00:03 if + the scheduler was too busy. + + Returns the fireTimeUtc. + + + + + The scheduled time the trigger fired for. For instance the scheduled + time may have been 10:00:00 but the actual fire time may have been + 10:00:03 if the scheduler was too busy. + + Returns the scheduledFireTimeUtc. + + + + + Gets the previous fire time. + + The previous fire time. + + + + Gets the next fire time. + + The next fire time. + + + + Returns the result (if any) that the set before its + execution completed (the type of object set as the result is entirely up + to the particular job). + + + + The result itself is meaningless to Quartz, but may be informative + to s or + s that are watching the job's + execution. + + + Set the result (if any) of the 's execution (the type of + object set as the result is entirely up to the particular job). + + + The result itself is meaningless to Quartz, but may be informative + to s or + s that are watching the job's + execution. + + + + + + The amount of time the job ran for. The returned + value will be until the job has actually completed (or thrown an + exception), and is therefore generally only useful to + s and s. + + + + + Returns the fire instace id. + + + + + An implementation of the interface that remotely + proxies all method calls to the equivalent call on a given + instance, via remoting or similar technology. + + + + James House + Marko Lahma (.NET) + + + + This is the main interface of a Quartz Scheduler. + + + + A maintains a registry of + s and s. Once + registered, the is responsible for executing + s when their associated s + fire (when their scheduled time arrives). + + + instances are produced by a + . A scheduler that has already been + created/initialized can be found and used through the same factory that + produced it. After a has been created, it is in + "stand-by" mode, and must have its method + called before it will fire any s. + + + s are to be created by the 'client program', by + defining a class that implements the interface. + objects are then created (also by the client) to + define a individual instances of the . + instances can then be registered with the + via the %IScheduler.ScheduleJob(JobDetail, + Trigger)% or %IScheduler.AddJob(JobDetail, bool)% method. + + + s can then be defined to fire individual + instances based on given schedules. + s are most useful for one-time firings, or + firing at an exact moment in time, with N repeats with a given delay between + them. s allow scheduling based on time of day, + day of week, day of month, and month of year. + + + s and s have a name and + group associated with them, which should uniquely identify them within a single + . The 'group' feature may be useful for creating + logical groupings or categorizations of s and + s. If you don't have need for assigning a group to a + given s of s, then you can use + the constant defined on + this interface. + + + Stored s can also be 'manually' triggered through the + use of the %IScheduler.TriggerJob(string, string)% function. + + + Client programs may also be interested in the 'listener' interfaces that are + available from Quartz. The interface provides + notifications of executions. The + interface provides notifications of + firings. The + interface provides notifications of events and + errors. Listeners can be associated with local schedulers through the + interface. + + + The setup/configuration of a instance is very + customizable. Please consult the documentation distributed with Quartz. + + + + + + + + + Marko Lahma (.NET) + + + + returns true if the given JobGroup + is paused + + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + Get a object describing the settings + and capabilities of the scheduler instance. + + + Note that the data returned is an 'instantaneous' snap-shot, and that as + soon as it's returned, the meta data values may be different. + + + + + Return a list of objects that + represent all currently executing Jobs in this Scheduler instance. + + + + This method is not cluster aware. That is, it will only return Jobs + currently executing in this Scheduler instance, not across the entire + cluster. + + + Note that the list returned is an 'instantaneous' snap-shot, and that as + soon as it's returned, the true list of executing jobs may be different. + Also please read the doc associated with - + especially if you're using remoting. + + + + + + + Get the names of all known groups. + + + + + Get the names of all known groups. + + + + + Get the names of all groups that are paused. + + + + + Starts the 's threads that fire s. + When a scheduler is first created it is in "stand-by" mode, and will not + fire triggers. The scheduler can also be put into stand-by mode by + calling the method. + + + The misfire/recovery process will be started, if it is the initial call + to this method on this scheduler instance. + + + + + + + + Calls after the indicated delay. + (This call does not block). This can be useful within applications that + have initializers that create the scheduler immediately, before the + resources needed by the executing jobs have been fully initialized. + + + + + + + + Temporarily halts the 's firing of s. + + + + When is called (to bring the scheduler out of + stand-by mode), trigger misfire instructions will NOT be applied + during the execution of the method - any misfires + will be detected immediately afterward (by the 's + normal process). + + + The scheduler is not destroyed, and can be re-started at any time. + + + + + + + + Halts the 's firing of s, + and cleans up all resources associated with the Scheduler. Equivalent to + . + + + The scheduler cannot be re-started. + + + + + + Halts the 's firing of s, + and cleans up all resources associated with the Scheduler. + + + The scheduler cannot be re-started. + + + if the scheduler will not allow this method + to return until all currently executing jobs have completed. + + + + + + Add the given to the + Scheduler, and associate the given with + it. + + + If the given Trigger does not reference any , then it + will be set to reference the Job passed with it into this method. + + + + + Schedule the given with the + identified by the 's settings. + + + + + Schedule all of the given jobs with the related set of triggers. + + + If any of the given jobs or triggers already exist (or more + specifically, if the keys are not unique) and the replace + parameter is not set to true then an exception will be thrown. + + + + + Remove the indicated from the scheduler. + If the related job does not have any other triggers, and the job is + not durable, then the job will also be deleted. + + + + + Remove all of the indicated s from the scheduler. + + + If the related job does not have any other triggers, and the job is + not durable, then the job will also be deleted. + Note that while this bulk operation is likely more efficient than + invoking several + times, it may have the adverse affect of holding data locks for a + single long duration of time (rather than lots of small durations + of time). + + + + + Remove (delete) the with the + given key, and store the new given one - which must be associated + with the same job (the new trigger must have the job name & group specified) + - however, the new trigger need not have the same name as the old trigger. + + The to be replaced. + + The new to be stored. + + + if a with the given + name and group was not found and removed from the store (and the + new trigger is therefore not stored), otherwise + the first fire time of the newly scheduled trigger. + + + + + Add the given to the Scheduler - with no associated + . The will be 'dormant' until + it is scheduled with a , or + is called for it. + + + The must by definition be 'durable', if it is not, + SchedulerException will be thrown. + + + + + Delete the identified from the Scheduler - and any + associated s. + + true if the Job was found and deleted. + + + + Delete the identified jobs from the Scheduler - and any + associated s. + + + Note that while this bulk operation is likely more efficient than + invoking several + times, it may have the adverse affect of holding data locks for a + single long duration of time (rather than lots of small durations + of time). + + + true if all of the Jobs were found and deleted, false if + one or more were not deleted. + + + + + Trigger the identified + (Execute it now). + + + + + Trigger the identified (Execute it now). + + + the (possibly ) JobDataMap to be + associated with the trigger that fires the job immediately. + + + The of the to be executed. + + + + + Pause the with the given + key - by pausing all of its current s. + + + + + Pause all of the s in the + matching groups - by pausing all of their s. + + + + The Scheduler will "remember" that the groups are paused, and impose the + pause on any new jobs that are added to any of those groups until it is resumed. + + NOTE: There is a limitation that only exactly matched groups + can be remembered as paused. For example, if there are pre-existing + job in groups "aaa" and "bbb" and a matcher is given to pause + groups that start with "a" then the group "aaa" will be remembered + as paused and any subsequently added jobs in group "aaa" will be paused, + however if a job is added to group "axx" it will not be paused, + as "axx" wasn't known at the time the "group starts with a" matcher + was applied. HOWEVER, if there are pre-existing groups "aaa" and + "bbb" and a matcher is given to pause the group "axx" (with a + group equals matcher) then no jobs will be paused, but it will be + remembered that group "axx" is paused and later when a job is added + in that group, it will become paused. + + + + + + Pause the with the given key. + + + + + Pause all of the s in the groups matching. + + + + The Scheduler will "remember" all the groups paused, and impose the + pause on any new triggers that are added to any of those groups until it is resumed. + + NOTE: There is a limitation that only exactly matched groups + can be remembered as paused. For example, if there are pre-existing + triggers in groups "aaa" and "bbb" and a matcher is given to pause + groups that start with "a" then the group "aaa" will be remembered as + paused and any subsequently added triggers in that group be paused, + however if a trigger is added to group "axx" it will not be paused, + as "axx" wasn't known at the time the "group starts with a" matcher + was applied. HOWEVER, if there are pre-existing groups "aaa" and + "bbb" and a matcher is given to pause the group "axx" (with a + group equals matcher) then no triggers will be paused, but it will be + remembered that group "axx" is paused and later when a trigger is added + in that group, it will become paused. + + + + + + Resume (un-pause) the with + the given key. + + + If any of the 's s missed one + or more fire-times, then the 's misfire + instruction will be applied. + + + + + Resume (un-pause) all of the s + in matching groups. + + + If any of the s had s that + missed one or more fire-times, then the 's + misfire instruction will be applied. + + + + + + Resume (un-pause) the with the given + key. + + + If the missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + Resume (un-pause) all of the s in matching groups. + + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Pause all triggers - similar to calling + on every group, however, after using this method + must be called to clear the scheduler's state of 'remembering' that all + new triggers will be paused as they are added. + + + When is called (to un-pause), trigger misfire + instructions WILL be applied. + + + + + + + + Resume (un-pause) all triggers - similar to calling + on every group. + + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Get the keys of all the s in the matching groups. + + + + + Get all s that are associated with the + identified . + + + The returned Trigger objects will be snap-shots of the actual stored + triggers. If you wish to modify a trigger, you must re-store the + trigger afterward (e.g. see ). + + + + + Get the names of all the s in the given + groups. + + + + + Get the for the + instance with the given key . + + + The returned JobDetail object will be a snap-shot of the actual stored + JobDetail. If you wish to modify the JobDetail, you must re-store the + JobDetail afterward (e.g. see ). + + + + + Get the instance with the given key. + + + The returned Trigger object will be a snap-shot of the actual stored + trigger. If you wish to modify the trigger, you must re-store the + trigger afterward (e.g. see ). + + + + + Get the current state of the identified . + + + + + + + + + + + Add (register) the given to the Scheduler. + + Name of the calendar. + The calendar. + if set to true [replace]. + whether or not to update existing triggers that + referenced the already existing calendar so that they are 'correct' + based on the new trigger. + + + + Delete the identified from the Scheduler. + + Name of the calendar. + + true if the Calendar was found and deleted. + + + + + Get the instance with the given name. + + + + + Get the names of all registered . + + + + + Request the interruption, within this Scheduler instance, of all + currently executing instances of the identified , which + must be an implementor of the interface. + + + + If more than one instance of the identified job is currently executing, + the method will be called on + each instance. However, there is a limitation that in the case that + on one instances throws an exception, all + remaining instances (that have not yet been interrupted) will not have + their method called. + + + + If you wish to interrupt a specific instance of a job (when more than + one is executing) you can do so by calling + to obtain a handle + to the job instance, and then invoke on it + yourself. + + + This method is not cluster aware. That is, it will only interrupt + instances of the identified InterruptableJob currently executing in this + Scheduler instance, not across the entire cluster. + + + + true is at least one instance of the identified job was found and interrupted. + + + + + + + Request the interruption, within this Scheduler instance, of the + identified executing job instance, which + must be an implementor of the interface. + + + This method is not cluster aware. That is, it will only interrupt + instances of the identified InterruptableJob currently executing in this + Scheduler instance, not across the entire cluster. + + + + + + + the unique identifier of the job instance to be interrupted (see + + true if the identified job instance was found and interrupted. + + + + Determine whether a with the given identifier already + exists within the scheduler. + + the identifier to check for + true if a Job exists with the given identifier + + + + Determine whether a with the given identifier already + exists within the scheduler. + + the identifier to check for + true if a Trigger exists with the given identifier + + + + Clears (deletes!) all scheduling data - all s, s + s. + + + + + Returns the name of the . + + + + + Returns the instance Id of the . + + + + + Returns the of the . + + + + + Reports whether the is in stand-by mode. + + + + + + + Reports whether the has been Shutdown. + + + + + Set the that will be responsible for producing + instances of classes. + + + JobFactories may be of use to those wishing to have their application + produce instances via some special mechanism, such as to + give the opportunity for dependency injection. + + + + + + Get a reference to the scheduler's , + through which listeners may be registered. + + the scheduler's + + + + + + + + Whether the scheduler has been started. + + + Note: This only reflects whether has ever + been called on this Scheduler, so it will return even + if the is currently in standby mode or has been + since shutdown. + + + + + + + + Construct a instance to proxy the given + RemoteableQuartzScheduler instance. + + + + + returns true if the given JobGroup + is paused + + + + + + + returns true if the given TriggerGroup + is paused + + + + + + + Get a object 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' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Get the names of all groups that are paused. + + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Get the names of all registered . + + + + + + Calls the equivalent method on the 'proxied' . + + + + + Returns the name of the . + + + + + Returns the instance Id of the . + + + + + Returns the of the . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Set the that will be responsible for producing + instances of classes. + + JobFactories may be of use to those wishing to have their application + produce instances via some special mechanism, such as to + give the 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. + + + + + + + + This utility calls methods reflectively on the given objects even though the + methods are likely on a proper interface (ThreadPool, JobStore, etc). The + motivation is to be tolerant of older implementations that have not been + updated for the changes in the interfaces (eg. LocalTaskExecutorThreadPool in + spring quartz helpers) + + teck + Marko Lahma (.NET) + + + + Holds references to Scheduler instances - ensuring uniqueness, and + preventing garbage collection, and allowing 'global' lookups. + + James House + Marko Lahma (.NET) + + + + Binds the specified sched. + + The sched. + + + + Removes the specified sched name. + + Name of the sched. + + + + + Lookups the specified sched name. + + Name of the sched. + + + + + Lookups all. + + + + + + Gets the singleton instance. + + The instance. + + + + Responsible for creating the instances of + to be used within the instance. + + James House + Marko Lahma (.NET) + + + + Initialize the factory, providing a handle to the + that should be made available within the and + the s within it. + + + + + Called by the to obtain instances of + . + + + + + An implementation of the interface that directly + proxies all method calls to the equivalent call on a given + instance. + + + + James House + Marko Lahma (.NET) + + + + 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' . + + + + + 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' . + + + + + Construct a instance to proxy the given + 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' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Get the names of all registered . + + + + + + Request the interruption, within this Scheduler instance, of all + currently executing instances of the identified , which + must be an implementor of the interface. + + + + If more than one instance of the identified job is currently executing, + the method will be called on + each instance. However, there is a limitation that in the case that + on one instances throws an exception, all + remaining instances (that have not yet been interrupted) will not have + their method called. + + + If you wish to interrupt a specific instance of a job (when more than + one is executing) you can do so by calling + to obtain a handle + to the job instance, and then invoke on it + yourself. + + + This method is not cluster aware. That is, it will only interrupt + instances of the identified InterruptableJob currently executing in this + Scheduler instance, not across the entire cluster. + + + true is at least one instance of the identified job was found and interrupted. + UnableToInterruptJobException if the job does not implement + + + + + + Returns the name of the . + + + + + Returns the instance Id of the . + + + + + Returns the of the . + + + + + Whether the scheduler has been started. + + + + Note: This only reflects whether has ever + been called on this Scheduler, so it will return even + if the is currently in standby mode or has been + since shutdown. + + + + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + Calls the equivalent method on the 'proxied' . + + + + + + + + + An implementation of that + does all of it's work of creating a instance + based on the contents of a properties file. + + + + By default a properties are loaded from App.config's quartz section. + If that fails, then the file is loaded "quartz.properties". If file does not exist, + default configration 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) + + + + Returns a handle to the default Scheduler, creating it if it does not + yet exist. + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The props. + + + + Initialize the . + + + By default a properties file named "quartz.properties" is loaded from + the 'current working directory'. If that fails, then the + "quartz.properties" file located (as an embedded resource) in the Quartz.NET + assembly is loaded. If you wish to use a file other than these defaults, + you must define the system property 'quartz.properties' to point to + the file you want. + + + + + Creates a new name value collection and overrides its values + with system values (environment variables). + + The base properties to override. + A new NameValueCollection instance. + + + + Initialize the with + the contents of the given key value collection object. + + + + + + + + Needed while loadhelper is not constructed. + + + + + + + Returns a handle to the Scheduler produced by this factory. + + + If one of the methods has not be previously + called, then the default (no-arg) method + will be called by this method. + + + + + Returns a handle to the Scheduler with the given name, if it exists (if + it has already been instantiated). + + + + + + Returns a handle to all known Schedulers (made by any + StdSchedulerFactory instance.). + + + + + + Inspects a directory and compares whether any files' "last modified dates" + have changed since the last time it was inspected. If one or more files + have been updated (or created), the job invokes a "call-back" method on an + identified that can be found in the + . + + pl47ypus + James House + Marko Lahma (.NET) + + + + + The interface to be implemented by classes which represent a 'job' to be + performed. + + + Instances of this interface must have a + no-argument constructor. provides a mechanism for 'instance member data' + that may be required by some implementations of this interface. + + + + + + + + James House + Marko Lahma (.NET) + + + + Called by the when a + fires that is associated with the . + + + The implementation may wish to set a result object on the + JobExecutionContext before this method exits. The result itself + is meaningless to Quartz, but may be informative to + s or + s that are watching the job's + execution. + + The execution context. + + + key with which to specify the directory to be + monitored - an absolute path is recommended. + + + key with which to specify the + to be + notified when the directory contents change. + + + key with which to specify a + value that represents the minimum number of milliseconds that must have + passed since the file's last modified time in order to consider the file + new/altered. This is necessary because another process may still be + in the middle of writing to the file when the scan occurs, and the + file may therefore not yet be ready for processing. + If this parameter is not specified, a default value of 5000 (five seconds) will be used. + + + + This is the main entry point for job execution. The scheduler will call this method on the + job once it is triggered. + + The that + the job will use during execution. + + + + Inspects a file and compares whether it's "last modified date" has changed + since the last time it was inspected. If the file has been updated, the + job invokes a "call-back" method on an identified + that can be found in the + . + + James House + Marko Lahma (.NET) + + + + + JobDataMap key with which to specify the name of the file to monitor. + + + + + JobDataMap key with which to specify the + to be notified when the file contents change. + + + + + key with which to specify a long + value that represents the minimum number of milliseconds that must have + past since the file's last modified time in order to consider the file + new/altered. This is necessary because another process may still be + in the middle of writing to the file when the scan occurs, and the + file may therefore not yet be ready for processing. + + If this parameter is not specified, a default value of + 5000 (five seconds) will be used. + + + + + Initializes a new instance of the class. + + + + + Called by the when a + fires that is associated with the . + + The implementation may wish to set a result object on the + JobExecutionContext before this method exits. The result itself + is meaningless to Quartz, but may be informative to + s or + s that are watching the job's + execution. + + + The execution context. + + + + + + Gets the last modified date. + + Name of the file. + + + + + Gets the log. + + The log. + + + Interface for objects wishing to receive a 'call-back' from a + Instances should be stored in the such that the + can find it. + James House + Marko Lahma (.NET) + + + An array of objects that were updated/added + since the last scan of the directory + + + + Interface for objects wishing to receive a 'call-back' from a + . + + James House + Marko Lahma (.NET) + + + + + Ãnforms that certain file has been updated. + + Name of the file. + + + + Built in job for executing native executables in a separate process. + + + + JobDetail job = new JobDetail("dumbJob", null, typeof(Quartz.Jobs.NativeJob)); + job.JobDataMap.Put(Quartz.Jobs.NativeJob.PropertyCommand, "echo \"hi\" >> foobar.txt"); + Trigger trigger = TriggerUtils.MakeSecondlyTrigger(5); + trigger.Name = "dumbTrigger"; + sched.ScheduleJob(job, trigger); + + If PropertyWaitForProcess is true, then the integer exit value of the process + will be saved as the job execution result in the JobExecutionContext. + + Matthew Payne + James House + Steinar Overbeck Cook + Marko Lahma (.NET) + + + + Required parameter that specifies the name of the command (executable) + to be ran. + + + + + Optional parameter that specifies the parameters to be passed to the + executed command. + + + + + Optional parameter (value should be 'true' or 'false') that specifies + whether the job should wait for the execution of the native process to + complete before it completes. + + Defaults to . + + + + + Optional parameter (value should be 'true' or 'false') that specifies + whether the spawned process's stdout and stderr streams should be + consumed. If the process creates output, it is possible that it might + 'hang' if the streams are not consumed. + + Defaults to . + + + + + Optional parameter that specifies the 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 + Marko Lahma (.NET) + + + + Do nothing. + + + + + A Job which sends an e-mail with the configured content to the configured + recipient. + + James House + Marko Lahma (.NET) + + + The host name of the smtp server. REQUIRED. + + + The 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 JobListener instances and broadcasts all + events to them (in order). + + + The broadcasting behavior of this listener to delegate listeners may be + more convenient than registering all of the listeners directly with the + Scheduler, and provides the flexibility of easily changing which listeners + get notified. + + + + + James House (jhouse AT revolition DOT net) + + + + Construct an instance with the given name. + + + (Remember to add some delegate listeners!) + + the name of this instance + + + + Construct an instance with the given name, and List of listeners. + + + + the name of this instance + the initial List of JobListeners to broadcast to. + + + + Holds a List of references to SchedulerListener instances and broadcasts all + events to them (in order). + + + This may be more convenient than registering all of the listeners + directly with the Scheduler, and provides the flexibility of easily changing + which listeners get notified. + + + + James House + Marko Lahma (.NET) + + + + Construct an instance with the given List of listeners. + + The initial List of SchedulerListeners to broadcast to. + + + + Holds a List of references to TriggerListener instances and broadcasts all + events to them (in order). + + + The broadcasting behavior of this listener to delegate listeners may be + more convenient than registering all of the listeners directly with the + Scheduler, and provides the flexibility of easily changing which listeners + get notified. + + + + + James House (jhouse AT revolition DOT net) + + + + The interface to be implemented by classes that want to be informed when a + fires. In general, applications that use a + will not have use for this mechanism. + + + + + + + James House + Marko Lahma (.NET) + + + + Called by the when a + has fired, and it's associated + is about to be executed. + + It is called before the method of this + interface. + + + The that has fired. + + The that will be passed to the 's method. + + + + + Called by the when a + has fired, and it's associated + is about to be executed. + + It is called after the method of this + interface. If the implementation vetos the execution (via + returning ), the job's execute method will not be called. + + + The that has fired. + The that will be passed to + the 's method. + Returns true if job execution should be vetoed, false otherwise. + + + + Called by the when a + has misfired. + + Consideration should be given to how much time is spent in this method, + as it will affect all triggers that are misfiring. If you have lots + of triggers misfiring at once, it could be an issue it this method + does a lot. + + + The that has misfired. + + + + Called by the when a + has fired, it's associated + has been executed, and it's method has been + called. + + The that was fired. + + The that was passed to the + 's method. + + + The result of the call on the 's method. + + + + + Get the name of the . + + + + + Construct an instance with the given name. + + + (Remember to add some delegate listeners!) + + the name of this instance + + + + Construct an instance with the given name, and List of listeners. + + + + the name of this instance + the initial List of TriggerListeners to broadcast to. + + + + Keeps a collection of mappings of which Job to trigger after the completion + of a given job. If this listener is notified of a job completing that has a + mapping, then it will then attempt to trigger the follow-up job. This + achieves "job chaining", or a "poor man's workflow". + + + + Generally an instance of this listener would be registered as a global + job listener, rather than being registered directly to a given job. + + + If for some reason there is a failure creating the trigger for the + follow-up job (which would generally only be caused by a rare serious + failure in the system, or the non-existence of the follow-up job), an error + 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 + Marko Lahma (.NET) + + + + A helpful abstract base class for implementors of . + + + + The methods in this class are empty so you only need to override the + subset for the events you care about. + + + + You are required to implement + to return the unique name of your . + + + Marko Lahma (.NET) + + + + + Initializes a new instance of the class. + + + + + Called by the when a + is about to be executed (an associated + has 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 JobKey with the name and group of the first job + a JobKey with the name and group of the follow-up job + + + + A helpful abstract base class for implementors of + . + + + + The methods in this class are empty so you only need to override the + subset for the events + you care about. + + + + You are required to implement + to return the unique name of your . + + + Marko Lahma (.NET) + + + + + Get the for this + class's category. This should be used by subclasses for logging. + + + + + Get the name of the . + + + + + + Logs a history of all job executions (and execution 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" +
+
+ Marko Lahma (.NET) +
+ + + Provides an interface for a class to become a "plugin" to Quartz. + + + Plugins can do virtually anything you wish, though the most interesting ones + will obviously interact with the scheduler in some way - either actively: by + invoking actions on the scheduler, or passively: by being a , + , and/or . + + If you use to + Initialize your Scheduler, it can also create and Initialize your plugins - + look at the configuration docs for details. + + + If you need direct access your plugin, you can have it explicitly put a + reference to itself in the 's + as part of its + method. + + + James House + Marko Lahma (.NET) + + + + Called during creation of the in order to give + the a chance to Initialize. + + + At this point, the Scheduler's is not yet + + If you need direct access your plugin, you can have it explicitly put a + reference to itself in the 's + as part of its + method. + + + + The name by which the plugin is identified. + + + The scheduler to which the plugin is registered. + + + + + Called when the associated is started, in order + to let the plug-in know it can now make calls into the scheduler if it + needs to. + + + + + Called in order to inform the that it + should free up all of it's resources because the scheduler is shutting + down. + + + + + Called during creation of the in order to give + the a chance to Initialize. + + + + + Called when the associated is started, in order + to let the plug-in know it can now make calls into the scheduler if it + needs to. + + + + + Called in order to inform the that it + should free up all of it's resources because the scheduler is shutting + down. + + + + + Called by the when a is + about to be executed (an associated has occurred). + + This method will not be invoked if the execution of the Job was vetoed by a + . + + + + + + + Called by the after a + has been executed, and be for the associated 's + method has been called. + + + + + + + Called by the when a + was about to be executed (an associated + has 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 + Marko Lahma (.NET) +
+ + + Called during creation of the in order to give + the a chance to Initialize. + + + + + Called when the associated is started, in order + to let the plug-in know it can now make calls into the scheduler if it + needs to. + + + + + Called in order to inform the that it + should free up all of it's resources because the scheduler is shutting + down. + + + + + Called by the when a + has fired, and it's associated + is about to be executed. + + It is called before the method of this + interface. + + + The that has fired. + The that will be passed to the 's method. + + + + Called by the when a + has misfired. + + Consideration should be given to how much time is spent in this method, + as it will affect all triggers that are misfiring. If you have lots + of triggers misfiring at once, it could be an issue it this method + does a lot. + + + The that has misfired. + + + + Called by the when a + has fired, it's associated + has been executed, and it's method has been + called. + + The that was fired. + The that was passed to the + 's method. + The result of the call on the 's method. + + + + Called by the when a + has fired, and it's associated + is about to be executed. + + It is called after the method of this + interface. + + + The that has fired. + The that will be passed to + the 's method. + + + + + Logger instance to use. Defaults to common logging. + + + + + Get or set the message that is printed upon the completion of a trigger's + firing. + + + + + Get or set the message that is printed upon a trigger's firing. + + + + + Get or set the message that is printed upon a trigger's mis-firing. + + + + + Get the name of the . + + + + + + This plugin catches the event of the VM terminating (such as upon a CRTL-C) + and tells the scheuler to Shutdown. + + + James House + Marko Lahma (.NET) + + + + Called during creation of the in order to give + the a chance to Initialize. + + + + + Called when the associated is started, in order + to let the plug-in know it can now make calls into the scheduler if it + needs to. + + + + + Called in order to inform the that it + should free up all of it's resources because the scheduler is shutting + down. + + + + + Determine whether or not the plug-in is configured to cause a clean + Shutdown of the scheduler. + + The default value is . + + + + + + + This plugin loads XML file(s) to add jobs and schedule them with triggers + as the scheduler is initialized, and can optionally periodically scan the + file for changes. + + + The periodically scanning of files for changes is not currently supported in a + clustered environment. + + James House + Pierre Awaragi + + + + Initializes a new instance of the class. + + + + + + + + + + + Called during creation of the in order to give + the a chance to initialize. + + The name. + The scheduler. + SchedulerConfigException + + + + Called when the associated is started, in order + to let the plug-in know it can now make calls into the scheduler if it + needs to. + + + + + Helper method for generating unique job/trigger name for the + file scanning jobs (one per FileJob). The unique names are saved + in jobTriggerNameSet. + + + + + + + Called in order to inform the that it + should free up all of it's resources because the scheduler is shutting + down. + + + + + Gets the log. + + The log. + + + + Comma separated list of file names (with paths) to the XML files that should be read. + + + + + The interval at which to scan for changes to the file. + If the file has been changed, it is re-loaded and parsed. The default + value for the interval is 0, which disables scanning. + + + + + Whether or not initialization of the plugin should fail (throw an + exception) if the file cannot be found. Default is . + + + + + Information about a file that should be processed by . + + + + + Default object serialization strategy that uses + under the hood. + + Marko Lahma + + + + Interface for object serializers. + + Marko Lahma + + + + + Serializes given object as bytes + that can be stored to permanent stores. + + Object to serialize, always non-null. + + + + Deserializes object from byte array presentation. + + Data to deserialize object from, always non-null and non-empty. + + + + Serializes given object as bytes + that can be stored to permanent stores. + + Object to serialize. + + + + Deserializes object from byte array presentation. + + Data to deserialize object from. + + + + that names the scheduler instance using + just the machine hostname. + + + This class is useful when you know that your scheduler instance will be the + only one running on a particular machine. Each time the scheduler is + restarted, it will get the same instance id as long as the machine is not + renamed. + + Marko Lahma (.NET) + + + + + + An IInstanceIdGenerator is responsible for generating the clusterwide unique + instance id for a node. + + + This interface may be of use to those wishing to have specific control over + the mechanism by which the instances in their + application are named. + + + Marko Lahma (.NET) + + + + Generate the instance id for a + + The clusterwide unique instance id. + + + + + Generate the instance id for a + + The clusterwide unique instance id. + + + + A JobFactory that instantiates the Job instance (using the default no-arg + constructor, or more specifically: ), and + then attempts to set all values from the and + the 's merged onto + properties of the job. + + + Set the WarnIfPropertyNotFound property to true if you'd like noisy logging in + the case of values in the not mapping to properties on your job + class. This may be useful for troubleshooting typos of property names, etc. + but very noisy if you regularly (and purposely) have extra things in your + . + Also of possible interest is the ThrowIfPropertyNotFound property which + will throw exceptions on unmatched JobDataMap keys. + + + + + + + + James Houser + Marko Lahma (.NET) + + + + The default JobFactory used by Quartz - simply calls + on the job class. + + + + James House + Marko Lahma (.NET) + + + + A JobFactory is responsible for producing instances of + classes. + + + This interface may be of use to those wishing to have their application + produce instances via some special mechanism, such as to + give the opertunity for dependency injection. + + + + + James House + Marko Lahma (.NET) + + + + Called by the scheduler at the time of the trigger firing, in order to + produce a instance on which to call Execute. + + + It should be extremely rare for this method to throw an exception - + basically only the the case where there is no way at all to instantiate + and prepare the Job for execution. When the exception is thrown, the + Scheduler will move all triggers associated with the Job into the + state, which will require human + intervention (e.g. an application restart after fixing whatever + configuration problem led to the issue wih instantiating the Job. + + + The TriggerFiredBundle from which the + and other info relating to the trigger firing can be obtained. + + a handle to the scheduler that is about to execute the job + SchedulerException if there is a problem instantiating the Job. + the newly instantiated Job + + + + + 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. + + + + + Gets the fired trigger record id. + + The fired trigger record id. + + + + Called by the QuartzScheduler before the is + used, in order to give the it a chance to Initialize. + + + + + Called by the QuartzScheduler to inform the that + the scheduler has started. + + + + + Called by the QuartzScheduler to inform the JobStore that + the scheduler has been paused. + + + + + Called by the QuartzScheduler to inform the JobStore that + the scheduler has resumed after being paused. + + + + + Called by the QuartzScheduler to inform the that + it should free up all of it's resources because the scheduler is + shutting down. + + + + + Clears (deletes!) all scheduling data - all s, s + s. + + + + + Store the given and . + + The to be stored. + The to be stored. + + + + Returns true if the given job group is paused. + + Job group name + + + + + returns true if the given TriggerGroup is paused. + + + + + + + Store the given . + + The to be stored. + If , any existing in the + with the same name and group should be + over-written. + + + + Remove (delete) the with the given + name, and any s that reference + it. + + + if a with the given name and + group was found and removed from the store. + + + + + Remove (delete) the with the + given name. + + + if a with the given + name and group was found and removed from the store. + + + + + Store the given . + + The to be stored. + If , any existing in + the with the same name and group should + be over-written. + + + + Remove (delete) the with the + given name. + + + + if a with the given + name and group was found and removed from the store. + + The to be removed. + Whether to delete orpahaned job details from scheduler if job becomes orphaned from removing the trigger. + + + + Replaces the trigger. + + The of the to be replaced. + The new trigger. + + + + + Retrieve the for the given + . + + + The desired , or null if there is no match. + + + + + Retrieve the given . + + + The desired , or null if there is no match. + + + + + Determine whether a with the given identifier already + exists within the scheduler. + + the identifier to check for + true if a Job exists with the given identifier + + + + Determine whether a with the given identifier already + exists within the scheduler. + + triggerKey the identifier to check for + true if a Trigger exists with the given identifier + + + + Get the current state of the identified . + + + + + + + + + + + Store the given . + + The name. + The to be stored. + If , any existing + in the with the same name and group + should be over-written. + If , any s existing + in the that reference an existing + Calendar with the same name with have their next fire time + re-computed with the new . + + + + Remove (delete) the with the + given name. + + If removal of the would result in + s pointing to non-existent calendars, then a + will be thrown. + + The name of the to be removed. + + if a with the given name + was found and removed from the store. + + + + + Retrieve the given . + + The name of the to be retrieved. + + The desired , or null if there is no match. + + + + + Get the number of s that are + stored in the . + + + + + Get the number of s that are + stored in the . + + + + + Get the number of s that are + stored in the . + + + + + Get the names of all of the s that + match the given group matcher. + + + + + Get the names of all of the s + in the . + + If there are no ICalendars in the given group name, the result should be + a zero-length array (not ). + + + + + + Get the names of all of the s + that have the given group name. + + + + + Get the names of all of the + groups. + + + + + Get the names of all of the groups. + + + + + Get all of the Triggers that are associated to the given Job. + + If there are no matches, a zero-length array should be returned. + + + + + + Gets the trigger wrappers for job. + + + + + + Gets the trigger wrappers for calendar. + + Name of the cal. + + + + + Pause the with the given name. + + + + + Pause all of the s in the given group. + + The JobStore should "remember" that the group is paused, and impose the + pause on any new triggers that are added to the group while the group is + paused. + + + + + + Pause the with the given + name - by pausing all of its current s. + + + + + Pause all of the s in the + given group - by pausing all of their s. + + The JobStore should "remember" that the group is paused, and impose the + pause on any new jobs that are added to the group while the group is + paused. + + + + + + Resume (un-pause) the with the given key. + + + If the missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + Resume (un-pause) all of the s in the + given group. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + Resume (un-pause) the with + the given name. + + If any of the 's s missed one + or more fire-times, then the 's misfire + instruction will be applied. + + + + + + Resume (un-pause) all of the s + in the given group. + + If any of the s had s that + missed one or more fire-times, then the 's + misfire instruction will be applied. + + + + + + Pause all triggers - equivalent of calling + on every group. + + When is called (to un-pause), trigger misfire + instructions WILL be applied. + + + + + + + Resume (un-pause) all triggers - equivalent of calling + on every trigger group and setting all job groups unpaused />. + + If any missed one or more fire-times, then the + 's misfire instruction will be applied. + + + + + + + Applies the misfire. + + The trigger wrapper. + + + + + Get a handle to the next trigger to be fired, and mark it as 'reserved' + by the calling scheduler. + + + + + + Inform the that the scheduler no longer plans to + fire the given , that it had previously acquired + (reserved). + + + + + Inform the that the scheduler is now firing the + given (executing its associated ), + that it had previously acquired (reserved). + + + + + Inform the that the scheduler has completed the + firing of the given (and the execution its + associated ), and that the + in the given should be updated if the + is stateful. + + + + + Sets the state of all triggers of job to specified state. + + + + + Peeks the triggers. + + + + + + + + + The time span by which a trigger must have missed its + next-fire-time, in order for it to be considered "misfired" and thus + have its misfire instruction applied. + + + + + Returns whether this instance supports persistence. + + + + + + + Inform the of the Scheduler instance's Id, + prior to initialize being invoked. + + + + + Inform the of the Scheduler instance's name, + prior to initialize being invoked. + + + + + Comparer for trigger wrappers. + + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + 2 + + + + Possible internal trigger states + in RAMJobStore + + + + + Waiting + + + + + Acquired + + + + + Executing + + + + + Complete + + + + + Paused + + + + + Blocked + + + + + Paused and Blocked + + + + + Error + + + + + Helper wrapper class + + + + + The key used + + + + + Job's key + + + + + The trigger + + + + + Current state + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Serves as a hash function for a particular type. is suitable for use in hashing algorithms and data structures like a hash table. + + + A hash code for the current . + + + + + Scheduler exporter that exports scheduler to remoting context. + + Marko Lahma + + + + Service interface for scheduler exporters. + + Marko Lahma + + + + Binds (exports) scheduler to external context. + + + + + + Unbinds scheduler from external context. + + + + + + Registers remoting channel if needed. This is determined + by checking whether there is a positive value for port. + + + + + Gets or sets the port used for remoting. + + + + + Gets or sets the name to use when exporting + scheduler to remoting context. + + + + + Gets or sets the name to use when binding to + tcp channel. + + + + + Sets the channel type when registering remoting. + + + + + + Sets the used when + exporting to remoting context. Defaults to + . + + + + + A implementation that creates + connection to remote scheduler using remoting. + + + + + Client Proxy to a IRemotableQuartzScheduler + + + + + Returns a client proxy to a remote . + + + + + Returns a client proxy to a remote . + + + + + Gets or sets the remote scheduler address. + + The remote scheduler address. + + + + The default InstanceIdGenerator used by Quartz when instance id is to be + automatically generated. Instance id is of the form HOSTNAME + CURRENT_TIME. + + Marko Lahma (.NET) + + + + + + Generate the instance id for a + + The clusterwide unique instance id. + + + + This is class is a simple implementation of a thread pool, based on the + interface. + + + objects are sent to the pool with the + method, which blocks until a becomes available. + + The pool has a fixed number of s, and does not grow or + shrink based on demand. + + James House + Juergen Donnerstag + Marko Lahma (.NET) + + + + The interface to be implemented by classes that want to provide a thread + pool for the 's use. + + + implementation instances should ideally be made + for the sole use of Quartz. Most importantly, when the method + returns a value of 1 or greater, + there must still be at least one available thread in the pool when the + method is called a few moments (or + many moments) later. If this assumption does not hold true, it may + result in extra JobStore queries and updates, and if clustering features + are being used, it may result in greater imballance of load. + + + James House + Marko Lahma (.NET) + + + + Execute the given in the next + available . + + + The implementation of this interface should not throw exceptions unless + there is a serious problem (i.e. a serious misconfiguration). If there + are no available threads, rather it should either queue the Runnable, or + block until a thread is available, depending on the desired strategy. + + + + + Determines the number of threads that are currently available in in + the pool. Useful for determining the number of times + can be called before returning + false. + + + The implementation of this method should block until there is at + least one available thread. + + the number of currently available threads + + + + Must be called before the is + used, in order to give the it a chance to Initialize. + + + Typically called by the . + + + + + Called by the QuartzScheduler to inform the + that it should free up all of it's resources because the scheduler is + shutting down. + + + + + Get the current number of threads in the . + + + + + Inform the of the Scheduler instance's Id, + prior to initialize being invoked. + + + + + Inform the of the Scheduler instance's name, + prior to initialize being invoked. + + + + + Create a new (unconfigured) . + + + + + Create a new with the specified number + of s that have the given priority. + + + the number of worker s in the pool, must + be > 0. + + + the thread priority for the worker threads. + + + + + + Called by the QuartzScheduler before the is + used, in order to give the it a chance to Initialize. + + + + + Terminate any worker threads in this thread group. + Jobs currently in progress will complete. + + + + + Run the given object in the next available + . If while waiting the thread pool is asked to + shut down, the Runnable is executed immediately within a new additional + thread. + + The to be added. + + + + Creates the worker threads. + + The thread count. + + + + + Terminate any worker threads in this thread group. + Jobs currently in progress will complete. + + + + + Gets or sets the number of worker threads in the pool. + Set has no effect after has been called. + + + + + Get or set the thread priority of worker threads in the pool. + Set operation has no effect after has been called. + + + + + Gets or sets the thread name prefix. + + The thread name prefix. + + + + Gets or sets the value of makeThreadsDaemons. + + + + + Gets the size of the pool. + + The size of the pool. + + + + Inform the of the Scheduler instance's Id, + prior to initialize being invoked. + + + + + Inform the of the Scheduler instance's name, + prior to initialize being invoked. + + + + + A Worker loops, waiting to Execute tasks. + + + + + Create a worker thread and start it. Waiting for the next Runnable, + executing it, and waiting for the next Runnable, until the Shutdown + flag is set. + + + + + Create a worker thread, start it, Execute the runnable and terminate + the thread (one time execution). + + + + + Signal the thread that it should terminate. + + + + + Loop, executing targets as they are received. + + + + + A that simply calls . + + + James House + Marko Lahma (.NET) + + + + Called to give the ClassLoadHelper a chance to Initialize itself, + including the 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 + + + + + InstanceIdGenerator that will use a to configure the scheduler. + If no value set for the property, a is thrown. + Alex Snaps + + + + + System property to read the instanceId from. + + + + + Returns the cluster wide value for this scheduler instance's id, based on a system property. + + + + + This is class is a simple implementation of a zero size thread pool, based on the + interface. + + + The pool has zero s and does not grow or shrink based on demand. + Which means it is obviously not useful for most scenarios. When it may be useful + is to prevent creating any worker threads at all - which may be desirable for + the sole purpose of preserving system resources in the case where the scheduler + instance only exists in order to schedule jobs, but which will never execute + jobs (e.g. will never have Start() called on it). + + Wayne Fay + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Called by the QuartzScheduler before the is + used, in order to give the it a chance to Initialize. + + + + + Shutdowns this instance. + + + + + Called by the QuartzScheduler to inform the + that it should free up all of it's resources because the scheduler is + shutting down. + + + + + + Execute the given in the next + available . + + + + + The implementation of this interface should not throw exceptions unless + there is a serious problem (i.e. a serious misconfiguration). If there + are no available threads, rather it should either queue the Runnable, or + block until a thread is available, depending on the desired strategy. + + + + + Determines the number of threads that are currently available in in + the pool. Useful for determining the number of times + can be called before returning + false. + + + the number of currently available threads + + + The implementation of this method should block until there is at + least one available thread. + + + + + Gets the log. + + The log. + + + + Gets the size of the pool. + + The size of the pool. + + + + Inform the of the Scheduler instance's Id, + prior to initialize being invoked. + + + + + Inform the of the Scheduler instance's name, + prior to initialize being invoked. + + + + + A simple class (structure) used for returning execution-time data from the + JobStore to the . + + + James House + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + The job. + The trigger. + The calendar. + if set to true [job is recovering]. + The fire time. + The scheduled fire time. + The previous fire time. + The next fire time. + + + + Gets the job detail. + + The job detail. + + + + Gets the trigger. + + The trigger. + + + + Gets the calendar. + + The calendar. + + + + Gets a value indicating whether this is recovering. + + true if recovering; otherwise, false. + + + + Returns the UTC fire time. + + + + + Gets the next UTC fire time. + + The next fire time. + Returns the nextFireTimeUtc. + + + + Gets the previous UTC fire time. + + The previous fire time. + Returns the previous fire time. + + + + Returns the scheduled UTC fire time. + + + + + Result holder for trigger firing event. + + + + + Constructor. + + + + + + Constructor. + + + + + Bundle. + + + + + Possible exception. + + + + + Extension methods for . + + + + + Tries to read value and returns the value if successfully read. Otherwise return default value + for value's type. + + + + + + + + + + Extension methods for simplified access. + + + + + Returns string from given column name, or null if DbNull. + + + + + Returns int from given column name. + + + + + Returns long from given column name. + + + + + Returns long from given column name, or null if DbNull. + + + + + Returns decimal from given column name. + + + + + Manages a collection of IDbProviders, and provides transparent access + to their database. + + + James House + Sharada Jambula + Mohammad Rezaei + Marko Lahma (.NET) + + + + 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 + Marko Lahma (.NET) + + + + Create a DirtyFlagMap that 'wraps' a . + + + + + Create a DirtyFlagMap that 'wraps' a that has the + given initial capacity. + + + + + Serialization constructor. + + + + + + + Creates a new object that is a copy of the current instance. + + + A new object that is a copy of this instance. + + + + + When implemented by a class, removes all elements from the . + + + The is read-only. + + + + + When implemented by a class, determines whether the contains an element with the specified key. + + The key to locate in the . + + if the contains an element with the key; otherwise, . + + + is . + + + + When implemented by a class, removes the element with the + specified key from the . + + The key of the element to remove. + + is . + + The is read-only. + -or- + The has a fixed size. + + + + + When implemented by a class, returns an + for the . + + + An for the . + + + + + When implemented by a class, adds an element with the provided key and value to the . + + The to use as the key of the element to add. + The to use as the value of the element to add. + is . + + An element with the same key already exists in the . + + + The is read-only. + -or- + The has a fixed size. + + + + + When implemented by a class, copies the elements of + the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + is . + + is less than zero. + + + is multidimensional. + -or- + + is equal to or greater than the length of . + -or- + The number of elements in the source is greater than the available space from to the end of the destination . + + The type of the source cannot be cast automatically to the type of the destination . + + + + Clear the 'dirty' flag (set dirty flag to ). + + + + + Determines whether the specified obj contains value. + + The obj. + + true if the specified obj contains value; otherwise, false. + + + + + Gets the entries as a set. + + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + if the specified is equal to the + current ; otherwise, . + + + + + Serves as a hash function for a particular type, suitable + for use in hashing algorithms and data structures like a hash table. + + + A hash code for the current . + + + + + Gets keyset for this map. + + + + + + Puts the value behind a specified key. + + The key. + The val. + + + + + Puts all. + + The t. + + + + Determine whether the is flagged dirty. + + + + + Get a direct handle to the underlying Map. + + + + + Gets a value indicating whether this instance is empty. + + true if this instance is empty; otherwise, false. + + + + Gets or sets the with the specified key. + + + + + + When implemented by a class, gets the number of + elements contained in the . + + + + + + When implemented by a class, gets an containing the values in the . + + + + + + When implemented by a class, gets an containing the keys of the . + + + + + + When implemented by a class, gets a value indicating whether the + is read-only. + + + + + + When implemented by a class, gets a value indicating whether the + has a fixed size. + + + + + + When implemented by a class, gets an object that + can be used to synchronize access to the . + + + + + + When implemented by a class, gets a value + indicating whether access to the is synchronized + (thread-safe). + + + + + + Utility class for file handling related things. + + Marko Lahma + + + + Resolves file to actual file if for example relative '~' used. + + File name to check + Expanded file name or actual no resolving was done. + + + + Object representing a job or trigger key. + + Jeffrey Wescott + Marko Lahma (.NET) + + + + The default group for scheduling entities, with the value "DEFAULT". + + + + + Construct a new key with the given name and group. + + the name + the group + + + + Return the string representation of the key. The format will be: + <group>.<name>. + + + + the string representation of the key + + + + + Get the name portion of the key. + + the name + + + + + Get the group portion of the key. + + + + the group + + + + + Wrapper class to access thread local data. + Data is either accessed from thread or HTTP Context's + data if HTTP Context is 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. + + + + Generic extension methods for objects. + + + + + Creates a deep copy of object by serializing to memory stream. + + + + + + Utility methods that are used to convert objects from one type into another. + + Aleksandar Seovic + Marko Lahma + + + + Convert the value to the required (if necessary from a string). + + The proposed change value. + + The we must convert to. + + The new value, possibly the result of type conversion. + + + + Determines whether value is assignable to required type. + + The value to check. + Type of the required. + + true if value can be assigned as given type; otherwise, false. + + + + + Instantiates an instance of the type specified. + + + + + + Sets the object properties using reflection. + + + + + Sets the object properties using reflection. + + The object to set values to. + The properties to set to object. + + + + This is an utility class used to parse the properties. + + James House + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + The props. + + + + Gets the string property. + + The name. + + + + + Gets the string property. + + The name. + The default value. + + + + + Gets the string array property. + + The name. + + + + + Gets the string array property. + + The name. + The default value. + + + + + Gets the boolean property. + + The name. + + + + + Gets the boolean property. + + The name. + if set to true [defaultValue]. + + + + + Gets the byte property. + + The name. + + + + + Gets the byte property. + + The name. + The default value. + + + + + Gets the char property. + + The name. + + + + + Gets the char property. + + The name. + The default value. + + + + + Gets the double property. + + The name. + + + + + Gets the double property. + + The name. + The default value. + + + + + Gets the float property. + + The name. + + + + + Gets the float property. + + The name. + The default value. + + + + + Gets the int property. + + The name. + + + + + Gets the int property. + + The name. + The default value. + + + + + Gets the int array property. + + The name. + + + + + Gets the int array property. + + The name. + The default value. + + + + + Gets the long property. + + The name. + + + + + Gets the long property. + + The name. + The def. + + + + + Gets the TimeSpan property. + + The name. + The def. + + + + + Gets the short property. + + The name. + + + + + Gets the short property. + + The name. + The default value. + + + + + Gets the property groups. + + The prefix. + + + + + Gets the property group. + + The prefix. + + + + + Gets the property group. + + The prefix. + if set to true [strip prefix]. + + + + + Get all properties that start with the given prefix. + + The prefix for which to search. If it does not end in a "." then one will be added to it for search purposes. + Whether to strip off the given in the result's keys. + Optional array of fully qualified prefixes to exclude. For example if is "a.b.c", then might be "a.b.c.ignore". + Group of that start with the given prefix, optionally have that prefix removed, and do not include properties that start with one of the given excluded prefixes. + + + + Reads the properties from assembly (embedded resource). + + The file name to read resources from. + + + + + Reads the properties from file system. + + The file name to read resources from. + + + + + Gets the underlying properties. + + The underlying properties. + + + + Extension methods for . + + + + + Allows null-safe trimming of string. + + + + + + + Trims string and if resulting string is empty, null is returned. + + + + + + + An implementation of that wraps another + and flags itself 'dirty' when it is modified, enforces that all keys are + strings. + + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The initial capacity. + + + + Serialization constructor. + + + + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + if the specified is equal to the + current ; otherwise, . + + + + + Serves as a hash function for a particular type, suitable + for use in hashing algorithms and data structures like a hash table. + + + A hash code for the current . + + + + + Gets the keys. + + + + + + Adds the name-value pairs in the given to the . + + All keys must be s, and all values must be serializable. + + + + + + Adds the given value to the 's + data map. + + + + + Adds the given value to the 's + data map. + + + + + Adds the given value to the 's + data map. + + + + + Adds the given value to the 's + data map. + + + + + Adds the given value to the 's + data map. + + + + + Adds the given value to the 's + data map. + + + + + Adds the given value to the 's + data map. + + + + + Retrieve the identified value from the . + + + + + Retrieve the identified value from the . + + + + + Retrieve the identified value from the . + + + + + Retrieve the identified value from the . + + + + + Retrieve the identified value from the . + + + + + Retrieve the identified value from the . + + + + + Retrieve the identified value from the . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reports JobSchedulingDataProcessor validation exceptions. + + Chris Bonham + Marko Lahma (.NET) + + + + Constructor for ValidationException. + + + + + Constructor for ValidationException. + + exception message. + + + + Constructor for ValidationException. + + collection of validation exceptions. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + Gets the validation exceptions. + + The validation exceptions. + + + + Returns the detail message string. + + + + + Parses an XML file that declares Jobs and their schedules (Triggers). + + + + The xml document must conform to the format defined in "job_scheduling_data_2_0.xsd" + + + + After creating an instance of this class, you should call one of the + functions, after which you may call the ScheduledJobs() + function to get a handle to the defined Jobs and Triggers, which can then be + scheduled with the . Alternatively, you could call + the function to do all of this + in one step. + + + + The same instance can be used again and again, with the list of defined Jobs + being cleared each time you call a method, + however a single instance is not thread-safe. + + + Chris Bonham + James House + Marko Lahma (.NET) + + + + Constructor for XMLSchedulingDataProcessor. + + + + + Process the xml file in the default location (a file named + "quartz_jobs.xml" in the current working directory). + + + + + Process the xml file named . + + meta data file name. + + + + Process the xmlfile named with the given system + ID. + + Name of the file. + The system id. + + + + Process the xmlfile named with the given system + ID. + + The stream. + The system id. + + + + Process the xml file in the default location, and schedule all of the jobs defined within it. + + Note that we will set overWriteExistingJobs after the default xml is parsed. + + + + + + Process the xml file in the default location, and schedule all of the + jobs defined within it. + + + + + Process the xml file in the given location, and schedule all of the + jobs defined within it. + + meta data file name. + The scheduler. + + + + Process the xml file in the given location, and schedule all of the + jobs defined within it. + + Name of the file. + The system id. + The sched. + + + + Schedules the given sets of jobs and triggers. + + The sched. + + + + Adds a detected validation exception. + + The exception. + + + + Resets the the number of detected validation exceptions. + + + + + Throws a ValidationException if the number of validationExceptions + detected is greater than zero. + + + DTD validation exception. + + + + + Whether the existing scheduling data (with same identifiers) will be + overwritten. + + + If false, and is not false, and jobs or + triggers with the same names already exist as those in the file, an + error will occur. + + + + + + If true (and is false) then any + job/triggers encountered in this file that have names that already exist + in the scheduler will be ignored, and no error will be produced. + + + + + + Gets the log. + + The log. + + + + Helper class to map constant names to their values. + + + + + CalendarIntervalScheduleBuilder is a + that defines calendar time (day, week, month, year) interval-based + schedules for Triggers. + + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + Client code can then use the DSL to write code such as this: + + JobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + Trigger trigger = TriggerBuilder.Create() + .WithIdentity("myTrigger", "myTriggerGroup") + .WithSimpleSchedule(x => x + .WithIntervalInHours(1) + .RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + + + + Base class for implementors. + + + + + + Schedule builders offer fluent interface and are responsible for creating schedules. + + + + + + + + + Build the actual Trigger -- NOT intended to be invoked by end users, + but will rather be invoked by a TriggerBuilder which this + ScheduleBuilder is given to. + + + + + + Build the actual Trigger -- NOT intended to be invoked by end users, + but will rather be invoked by a TriggerBuilder which this + ScheduleBuilder is given to. + + + + + + Create a CalendarIntervalScheduleBuilder. + + + + + + Build the actual Trigger -- NOT intended to be invoked by end users, + but will rather be invoked by a TriggerBuilder which this + ScheduleBuilder is given to. + + + + + + Specify the time unit and interval for the Trigger to be produced. + + + + the interval at which the trigger should repeat. + the time unit (IntervalUnit) of the interval. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.SECOND that the produced + Trigger will repeat at. + + + + the number of seconds at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.MINUTE that the produced + Trigger will repeat at. + + + + the number of minutes at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.HOUR that the produced + Trigger will repeat at. + + + + the number of hours at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.DAY that the produced + Trigger will repeat at. + + + + the number of days at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.WEEK that the produced + Trigger will repeat at. + + + + the number of weeks at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.MONTH that the produced + Trigger will repeat at. + + + + the number of months at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.YEAR that the produced + Trigger will repeat at. + + + + the number of years at which the trigger should repeat. + the updated CalendarIntervalScheduleBuilder + + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CronScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CalendarIntervalScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CalendarIntervalScheduleBuilder + + + + + Extension methods that attach to . + + + + + Provides a parser and evaluator for unix-like cron expressions. Cron + expressions provide the ability to specify complex time combinations such as + "At 8:00am every Monday through Friday" or "At 1:30am every + last Friday of the month". + + + + Cron expressions are comprised of 6 required fields and one optional field + separated by white space. The fields respectively are described as follows: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field Name Allowed Values Allowed Special Characters
Seconds 0-59 , - /// /
Minutes 0-59 , - /// /
Hours 0-23 , - /// /
Day-of-month 1-31 , - /// ? / L W C
Month 1-12 or JAN-DEC , - /// /
Day-of-Week 1-7 or SUN-SAT , - /// ? / L #
Year (Optional) empty, 1970-2199 , - /// /
+ + The '*' character is used to specify all values. For example, "*" + in the minute field means "every minute". + + + The '?' character is allowed for the day-of-month and day-of-week fields. It + is used to specify 'no specific value'. This is useful when you need to + specify something in one of the two fields, but not the other. + + + The '-' character is used to specify ranges For example "10-12" in + the hour field means "the hours 10, 11 and 12". + + + The ',' character is used to specify additional values. For example + "MON,WED,FRI" in the day-of-week field means "the days Monday, + Wednesday, and Friday". + + + The '/' character is used to specify increments. For example "0/15" + in the seconds field means "the seconds 0, 15, 30, and 45". And + "5/15" in the seconds field means "the seconds 5, 20, 35, and + 50". Specifying '*' before the '/' is equivalent to specifying 0 is + the value to start with. Essentially, for each field in the expression, there + is a set of numbers that can be turned on or off. For seconds and minutes, + the numbers range from 0 to 59. For hours 0 to 23, for days of the month 0 to + 31, and for months 1 to 12. The "/" character simply helps you turn + on every "nth" value in the given set. Thus "7/6" in the + month field only turns on month "7", it does NOT mean every 6th + month, please note that subtlety. + + + The 'L' character is allowed for the day-of-month and day-of-week fields. + This character is short-hand for "last", but it has different + meaning in each of the two fields. For example, the value "L" in + the day-of-month field means "the last day of the month" - day 31 + for January, day 28 for February on non-leap years. If used in the + day-of-week field by itself, it simply means "7" or + "SAT". But if used in the day-of-week field after another value, it + means "the last xxx day of the month" - for example "6L" + means "the last friday of the month". You can also specify an offset + from the last day of the month, such as "L-3" which would mean the third-to-last + day of the calendar month. When using the 'L' option, it is important not to + specify lists, or ranges of values, as you'll get confusing/unexpected results. + + + The 'W' character is allowed for the day-of-month field. This character + is used to specify the weekday (Monday-Friday) nearest the given day. As an + example, if you were to specify "15W" as the value for the + day-of-month field, the meaning is: "the nearest weekday to the 15th of + the month". So if the 15th is a Saturday, the trigger will fire on + Friday the 14th. If the 15th is a Sunday, the trigger will fire on Monday the + 16th. If the 15th is a Tuesday, then it will fire on Tuesday the 15th. + However if you specify "1W" as the value for day-of-month, and the + 1st is a Saturday, the trigger will fire on Monday the 3rd, as it will not + 'jump' over the boundary of a month's days. The 'W' character can only be + specified when the day-of-month is a single day, not a range or list of days. + + + The 'L' and 'W' characters can also be combined for the day-of-month + expression to yield 'LW', which translates to "last weekday of the + month". + + + The '#' character is allowed for the day-of-week field. This character is + used to specify "the nth" XXX day of the month. For example, the + value of "6#3" in the day-of-week field means the third Friday of + the month (day 6 = Friday and "#3" = the 3rd one in the month). + Other examples: "2#1" = the first Monday of the month and + "4#5" = the fifth Wednesday of the month. Note that if you specify + "#5" and there is not 5 of the given day-of-week in the month, then + no firing will occur that month. If the '#' character is used, there can + only be one expression in the day-of-week field ("3#1,6#3" is + not valid, since there are two expressions). + + + + + + The legal characters and the names of months and days of the week are not + case sensitive. + + + NOTES: +
    +
  • Support for specifying both a day-of-week and a day-of-month value is + not complete (you'll need to use the '?' character in one of these fields). +
  • +
  • Overflowing ranges is supported - that is, having a larger number on + the left hand side than the right. You might do 22-2 to catch 10 o'clock + at night until 2 o'clock in the morning, or you might have NOV-FEB. It is + very important to note that overuse of overflowing ranges creates ranges + that don't make sense and no effort has been made to determine which + interpretation CronExpression chooses. An example would be + "0 0 14-6 ? * FRI-MON".
  • +
+
+
+ Sharada Jambula + James House + Contributions from Mads Henderson + Refactoring from CronTrigger to CronExpression by Aaron Craven + Marko Lahma (.NET) +
+ + + Field specification for second. + + + + + Field specification for minute. + + + + + Field specification for hour. + + + + + Field specification for day of month. + + + + + Field specification for month. + + + + + Field specification for day of week. + + + + + Field specification for year. + + + + + Field specification for all wildcard value '*'. + + + + + Field specification for not specified value '?'. + + + + + Field specification for wildcard '*'. + + + + + Field specification for no specification at all '?'. + + + + + Seconds. + + + + + minutes. + + + + + Hours. + + + + + Days of month. + + + + + Months. + + + + + Days of week. + + + + + Years. + + + + + Last day of week. + + + + + Nth day of week. + + + + + Last day of month. + + + + + Nearest weekday. + + + + + Calendar day of week. + + + + + Calendar day of month. + + + + + Expression parsed. + + + + + Constructs a new based on the specified + parameter. + + + String representation of the cron expression the new object should represent + + + + + + Indicates whether the given date satisfies the cron expression. + + + Note that milliseconds are ignored, so two Dates falling on different milliseconds + of the same second will always have the same result here. + + The date to evaluate. + a boolean indicating whether the given date satisfies the cron expression + + + + Returns the next date/time after the given date/time which + satisfies the cron expression. + + the date/time at which to begin the search for the next valid date/time + the next valid date/time + + + + Returns the next date/time after the given date/time which does + not satisfy the expression. + + the date/time at which to begin the search for the next invalid date/time + the next valid date/time + + + + Returns the string representation of the + + The string representation of the + + + + Indicates whether the specified cron expression can be parsed into a + valid cron expression + + the expression to evaluate + a boolean indicating whether the given expression is a valid cron + expression + + + + Builds the expression. + + The expression. + + + + Stores the expression values. + + The position. + The string to traverse. + The type of value. + + + + + Checks the next value. + + The position. + The string to check. + The value. + The type to search. + + + + + Gets the expression summary. + + + + + + Gets the expression set summary. + + The data. + + + + + Skips the white space. + + The i. + The s. + + + + + Finds the next white space. + + The i. + The s. + + + + + Adds to set. + + The val. + The end. + The incr. + The type. + + + + Gets the set of given type. + + The type of set to get. + + + + + Gets the value. + + The v. + The s. + The i. + + + + + Gets the numeric value from string. + + The string to parse from. + The i. + + + + + Gets the month number. + + The string to map with. + + + + + Gets the day of week number. + + The s. + + + + + Gets the time from given time parts. + + The seconds. + The minutes. + The hours. + The day of month. + The month. + + + + + Gets the next fire time after the given time. + + The UTC time to start searching from. + + + + + Creates the date time without milliseconds. + + The time. + + + + + Advance the calendar to the particular hour paying particular attention + to daylight saving problems. + + The date. + The hour. + + + + + Gets the time before. + + The end time. + + + + + NOT YET IMPLEMENTED: Returns the final time that the + will match. + + + + + + Determines whether given year is a leap year. + + The year. + + true if the specified year is a leap year; otherwise, false. + + + + + Gets the last day of month. + + The month num. + The year. + + + + + Creates a new object that is a copy of the current instance. + + + A new object that is a copy of this instance. + + + + + Determines whether the specified is equal to the current . + + + true if the specified is equal to the current ; otherwise, false. + + The to compare with the current . + + + + Determines whether the specified is equal to the current . + + + true if the specified is equal to the current ; otherwise, false. + + The to compare with the current . + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + 2 + + + + Sets or gets the time zone for which the of this + will be resolved. + + + + + Gets the cron expression string. + + The cron expression string. + + + + Helper class for cron expression handling. + + + + + The value. + + + + + The position. + + + + + CronScheduleBuilder is a that defines + -based schedules for s. + + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + + Client code can then use the DSL to write code such as this: + + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + ITrigger trigger = newTrigger() + .WithIdentity(triggerKey("myTrigger", "myTriggerGroup")) + .WithSimpleSchedule(x => x.WithIntervalInHours(1).RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + + + + + Build the actual Trigger -- NOT intended to be invoked by end users, + but will rather be invoked by a TriggerBuilder which this + ScheduleBuilder is given to. + + + + + + Create a CronScheduleBuilder with the given cron-expression - which + is presumed to b e valid cron expression (and hence only a RuntimeException + will be thrown if it is not). + + + + the cron expression to base the schedule on. + the new CronScheduleBuilder + + + + + Create a CronScheduleBuilder with the given cron-expression string - which + may not be a valid cron expression (and hence a ParseException will be thrown + f it is not). + + the cron expression string to base the schedule on + the new CronScheduleBuilder + + + + + Create a CronScheduleBuilder with the given cron-expression. + + the cron expression to base the schedule on. + the new CronScheduleBuilder + + + + + Create a CronScheduleBuilder with a cron-expression that sets the + schedule to fire every day at the given time (hour and minute). + + + + the hour of day to fire + the minute of the given hour to fire + the new CronScheduleBuilder + + + + + Create a CronScheduleBuilder with a cron-expression that sets the + schedule to fire at the given day at the given time (hour and minute) on the given days of the week. + + the hour of day to fire + the minute of the given hour to fire + the days of the week to fire + the new CronScheduleBuilder + + + + + Create a CronScheduleBuilder with a cron-expression that sets the + schedule to fire one per week on the given day at the given time + (hour and minute). + + + + the day of the week to fire + the hour of day to fire + the minute of the given hour to fire + the new CronScheduleBuilder + + + + + Create a CronScheduleBuilder with a cron-expression that sets the + schedule to fire one per month on the given day of month at the given + time (hour and minute). + + + + the day of the month to fire + the hour of day to fire + the minute of the given hour to fire + the new CronScheduleBuilder + + + + + The in which to base the schedule. + + + + the time-zone for the schedule. + the updated CronScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CronScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CronScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CronScheduleBuilder + + + + + Extension methods that attach to . + + + + + A implementation that build schedule for DailyTimeIntervalTrigger. + + + + This builder provide an extra convenient method for you to set the trigger's EndTimeOfDay. You may + use either endingDailyAt() or EndingDailyAfterCount() to set the value. The later will auto calculate + your EndTimeOfDay by using the interval, IntervalUnit and StartTimeOfDay to perform the calculation. + + + When using EndingDailyAfterCount(), you should note that it is used to calculating EndTimeOfDay. So + if your startTime on the first day is already pass by a time that would not add up to the count you + expected, until the next day comes. Remember that DailyTimeIntervalTrigger will use StartTimeOfDay + and endTimeOfDay as fresh per each day! + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + Client code can then use the DSL to write code such as this: + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + + ITrigger trigger = TriggerBuilder.Create() + .WithIdentity(triggerKey("myTrigger", "myTriggerGroup")) + .WithDailyTimeIntervalSchedule(x => + x.WithIntervalInMinutes(15) + .StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(8, 0)) + .Build(); + + scheduler.scheduleJob(job, trigger); + + + James House + Zemian Deng saltnlight5@gmail.com + Nuno Maia (.NET) + + + + A set of all days of the week. + + + The set contains all values between and + + + + + A set of the business days of the week (for locales similar to the USA). + + + The set contains all values between and + + + + + A set of the weekend days of the week (for locales similar to the USA). + + + The set contains and + + + + + Create a DailyTimeIntervalScheduleBuilder + + The new DailyTimeIntervalScheduleBuilder + + + + Build the actual Trigger -- NOT intended to be invoked by end users, + but will rather be invoked by a TriggerBuilder which this + ScheduleBuilder is given to. + + + + + + Specify the time unit and interval for the Trigger to be produced. + + + + the interval at which the trigger should repeat. + the time unit (IntervalUnit) of the interval. + the updated CalendarIntervalScheduleBuilder + + + + + + Specify an interval in the IntervalUnit.Second that the produced + Trigger will repeat at. + + The number of seconds at which the trigger should repeat. + the updated DailyTimeIntervalScheduleBuilder> + + + + + + Specify an interval in the IntervalUnit.Minute that the produced + Trigger will repeat at. + + The number of minutes at which the trigger should repeat. + the updated DailyTimeIntervalScheduleBuilder> + + + + + + Specify an interval in the IntervalUnit.Hour that the produced + Trigger will repeat at. + + The number of hours at which the trigger should repeat. + the updated DailyTimeIntervalScheduleBuilder> + + + + + + Set the trigger to fire on the given days of the week. + + a Set containing the integers representing the days of the week, defined by - . + + the updated DailyTimeIntervalScheduleBuilder + + + + Set the trigger to fire on the given days of the week. + + a variable length list of week days representing the days of the week + the updated DailyTimeIntervalScheduleBuilder + + + + Set the trigger to fire on the days from Monday through Friday. + + the updated DailyTimeIntervalScheduleBuilder + + + + Set the trigger to fire on the days Saturday and Sunday. + + the updated DailyTimeIntervalScheduleBuilder + + + + Set the trigger to fire on all days of the week. + + the updated DailyTimeIntervalScheduleBuilder + + + + Set the trigger to begin firing each day at the given time. + + + the updated DailyTimeIntervalScheduleBuilder + + + + Set the startTimeOfDay for this trigger to end firing each day at the given time. + + + the updated DailyTimeIntervalScheduleBuilder + + + + Calculate and set the EndTimeOfDay using count, interval and StarTimeOfDay. This means + that these must be set before this method is call. + + + the updated DailyTimeIntervalScheduleBuilder + + + + If the Trigger misfires, use the + instruction. + + the updated DailyTimeIntervalScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + the updated DailyTimeIntervalScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + the updated DailyTimeIntervalScheduleBuilder + + + + + Set number of times for interval to repeat. + + + Note: if you want total count = 1 (at start time) + repeatCount + + + + + + + Extension methods that attach to . + + + + + DateBuilder is used to conveniently create + instances that meet particular criteria. + + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + Client code can then use the DSL to write code such as this: + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + ITrigger trigger = newTrigger() + .WithIdentity(triggerKey("myTrigger", "myTriggerGroup")) + .WithSimpleSchedule(x => x + .WithIntervalInHours(1) + .RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minutes)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + Create a DateBuilder, with initial settings for the current date + and time in the system default timezone. + + + + + Create a DateBuilder, with initial settings for the current date and time in the given timezone. + + + + + + Create a DateBuilder, with initial settings for the current date and time in the system default timezone. + + + + + + Create a DateBuilder, with initial settings for the current date and time in the given timezone. + + Time zone to use. + + + + + Build the defined by this builder instance. + + New date time based on builder parameters. + + + + Set the hour (0-23) for the Date that will be built by this builder. + + + + + + + Set the minute (0-59) for the Date that will be built by this builder. + + + + + + + Set the second (0-59) for the Date that will be built by this builder, and truncate the milliseconds to 000. + + + + + + + Set the day of month (1-31) for the Date that will be built by this builder. + + + + + + + Set the month (1-12) for the Date that will be built by this builder. + + + + + + + Set the year for the Date that will be built by this builder. + + + + + + + Set the TimeZoneInfo for the Date that will be built by this builder (if "null", system default will be used) + + + + + + + Get a object that represents the given time, on + tomorrow's date. + + + + + + + + + Get a object that represents the given time, on + today's date (equivalent to . + + + + + + + + + Get a object that represents the given time, on today's date. + + The value (0-59) to give the seconds field of the date + The value (0-59) to give the minutes field of the date + The value (0-23) to give the hours field of the date + the new date + + + + Get a object that represents the given time, on the + given date. + + The value (0-59) to give the seconds field of the date + The value (0-59) to give the minutes field of the date + The value (0-23) to give the hours field of the date + The value (1-31) to give the day of month field of the date + The value (1-12) to give the month field of the date + the new date + + + + Get a object that represents the given time, on the + given date. + + + + The value (0-59) to give the seconds field of the date + The value (0-59) to give the minutes field of the date + The value (0-23) to give the hours field of the date + The value (1-31) to give the day of month field of the date + The value (1-12) to give the month field of the date + The value (1970-2099) to give the year field of the date + the new date + + + + Returns a date that is rounded to the next even hour after the current time. + + + For example a current time of 08:13:54 would result in a date + with the time of 09:00:00. If the date's time is in the 23rd hour, the + date's 'day' will be promoted, and the time will be set to 00:00:00. + + the new rounded date + + + + Returns a date that is rounded to the next even hour above the given date. + + + For example an input date with a time of 08:13:54 would result in a date + with the time of 09:00:00. If the date's time is in the 23rd hour, the + date's 'day' will be promoted, and the time will be set to 00:00:00. + + the Date to round, if the current time will + be used + the new rounded date + + + + Returns a date that is rounded to the previous even hour below the given date. + + + For example an input date with a time of 08:13:54 would result in a date + with the time of 08:00:00. + + the Date to round, if the current time will + be used + the new rounded date + + + + + Returns a date that is rounded to the next even minute after the current time. + + + + For example a current time of 08:13:54 would result in a date + with the time of 08:14:00. If the date's time is in the 59th minute, + then the hour (and possibly the day) will be promoted. + + the new rounded date + + + + Returns a date that is rounded to the next even minute above the given date. + + + For example an input date with a time of 08:13:54 would result in a date + with the time of 08:14:00. If the date's time is in the 59th minute, + then the hour (and possibly the day) will be promoted. + + The Date to round, if the current time will be used + The new rounded date + + + + Returns a date that is rounded to the previous even minute below the given date. + + + For example an input date with a time of 08:13:54 would result in a date + with the time of 08:13:00. + + the Date to round, if the current time will + be used + the new rounded date + + + + Returns a date that is rounded to the next even second after the current time. + + the new rounded date + + + + Returns a date that is rounded to the next even second above the given date. + + + the Date to round, if the current time will + be used + the new rounded date + + + + Returns a date that is rounded to the previous even second below the + given date. + + + + For example an input date with a time of 08:13:54.341 would result in a + date with the time of 08:13:00.000. + + + + the Date to round, if the current time will + be used + the new rounded date + + + + Returns a date that is rounded to the next even multiple of the given + minute. + + + + For example an input date with a time of 08:13:54, and an input + minute-base of 5 would result in a date with the time of 08:15:00. The + same input date with an input minute-base of 10 would result in a date + with the time of 08:20:00. But a date with the time 08:53:31 and an + input minute-base of 45 would result in 09:00:00, because the even-hour + is the next 'base' for 45-minute intervals. + + + More examples: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Input 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 to round, if the current time will + be used + the base-second to set the time on + the new rounded date + + + + + An attribute that marks a class as one that must not have multiple + instances executed concurrently (where instance is based-upon a + definition - or in other words based upon a . + + + This can be used in lieu of implementing the StatefulJob marker interface that + was used prior to Quartz 2.0 + + + James House + Marko Lahma (.NET) + + + + The interface to be implemented by s that provide a + mechanism for having their execution interrupted. It is NOT a requirement + for jobs to implement this interface - in fact, for most people, none of + their jobs will. + + + + The means of actually interrupting the Job must be implemented within the + itself (the method of this + interface is simply a means for the scheduler to inform the + that a request has been made for it to be interrupted). The mechanism that + your jobs use to interrupt themselves might vary between implementations. + However the principle idea in any implementation should be to have the + body of the job's periodically check some flag to + see if an interruption has been requested, and if the flag is set, somehow + abort the performance of the rest of the job's work. An example of + interrupting a job can be found in the java source for the class + . It is legal to use + some combination of and + synchronization within and + in order to have the method block until the + signals that it has noticed the set flag. + + + + If the Job performs some form of blocking I/O or similar functions, you may + want to consider having the method store a + reference to the calling as a member variable. Then the + implementation of this interfaces method can call + on that Thread. Before attempting this, make + sure that you fully understand what + does and doesn't do. Also make sure that you clear the Job's member + reference to the Thread when the Execute(..) method exits (preferably in a + block. + + + + + + James House + Marko Lahma (.NET) + + + + Called by the when a user + interrupts the . + + void (nothing) if job interrupt is successful. + + + + Supported interval units used by . + + + + + A marker interface for s that + wish to have their state maintained between executions. + + + instances follow slightly different rules from + regular instances. The key difference is that their + associated is re-persisted after every + execution of the job, thus preserving state for the next execution. The + other difference is that stateful jobs are not allowed to Execute + concurrently, which means new triggers that occur before the completion of + the method will be delayed. + + + + + + + + James House + Marko Lahma (.NET) + + + + JobBuilder is used to instantiate s. + + + + The builder will always try to keep itself in a valid state, with + reasonable defaults set for calling Build() at any point. For instance + if you do not invoke WithIdentity(..) a job name will be generated + for you. + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + + Client code can then use the DSL to write code such as this: + + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + + ITrigger trigger = TriggerBuilder.Create() + .WithIdentity("myTrigger", "myTriggerGroup") + .WithSimpleSchedule(x => x.WithIntervalInHours(1).RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + + scheduler.scheduleJob(job, trigger); + + + + + + + + + Create a JobBuilder with which to define a . + + a new JobBuilder + + + + Create a JobBuilder with which to define a , + and set the class name of the job to be executed. + + a new JobBuilder + + + + Create a JobBuilder with which to define a , + and set the class name of the job to be executed. + + a new JobBuilder + + + + Produce the instance defined by this JobBuilder. + + the defined JobDetail. + + + + Use a with the given name and default group to + identify the JobDetail. + + + If none of the 'withIdentity' methods are set on the JobBuilder, + then a random, unique JobKey will be generated. + + the name element for the Job's JobKey + the updated JobBuilder + + + + + + Use a with the given name and group to + identify the JobDetail. + + + If none of the 'withIdentity' methods are set on the JobBuilder, + then a random, unique JobKey will be generated. + + the name element for the Job's JobKey + the group element for the Job's JobKey + the updated JobBuilder + + + + + + Use a to identify the JobDetail. + + + If none of the 'withIdentity' methods are set on the JobBuilder, + then a random, unique JobKey will be generated. + + the Job's JobKey + the updated JobBuilder + + + + + + Set the given (human-meaningful) description of the Job. + + the description for the Job + the updated JobBuilder + + + + + Set the class which will be instantiated and executed when a + Trigger fires that is associated with this JobDetail. + + the updated JobBuilder + + + + + Set the class which will be instantiated and executed when a + Trigger fires that is associated with this JobDetail. + + the updated JobBuilder + + + + + Instructs the whether or not the job + should be re-executed if a 'recovery' or 'fail-over' situation is + encountered. + + + If not explicitly set, the default value is . + + the updated JobBuilder + + + + + Instructs the whether or not the job + should be re-executed if a 'recovery' or 'fail-over' situation is + encountered. + + + If not explicitly set, the default value is . + + + the updated JobBuilder + + + + Whether or not the job should remain stored after it is + orphaned (no s point to it). + + + If not explicitly set, the default value is . + + the updated JobBuilder + + + + + Whether or not the job should remain stored after it is + orphaned (no s point to it). + + + If not explicitly set, the default value is . + + the value to set for the durability property. + the updated JobBuilder + + + + + Add the given key-value pair to the JobDetail's . + + the updated JobBuilder + + + + + Add the given key-value pair to the JobDetail's . + + the updated JobBuilder + + + + + Add the given key-value pair to the JobDetail's . + + the updated JobBuilder + + + + + Add the given key-value pair to the JobDetail's . + + the updated JobBuilder + + + + + Add the given key-value pair to the JobDetail's . + + the updated JobBuilder + + + + + Add the given key-value pair to the JobDetail's . + + the updated JobBuilder + + + + + Set the JobDetail's , adding any values to it + that were already set on this JobBuilder using any of the + other 'usingJobData' methods. + + the updated JobBuilder + + + + + Holds state information for instances. + + + instances are stored once when the + is added to a scheduler. They are also re-persisted after every execution of + instances that have present. + + instances can also be stored with a + . This can be useful in the case where you have a Job + that is stored in the scheduler for regular/repeated use by multiple + Triggers, yet with each independent triggering, you want to supply the + Job with different data inputs. + + + The passed to a Job at execution time + also contains a convenience that is the result + of merging the contents of the trigger's JobDataMap (if any) over the + Job's JobDataMap (if any). + + + + + + + James House + Marko Lahma (.NET) + + + + Create an empty . + + + + + Create a with the given data. + + + + + Create a with the given data. + + + + + Serialization constructor. + + + + + + + Adds the given value as a string version to the + 's data map. + + + + + Adds the given value as a string version to the + 's data map. + + + + + Adds the given value as a string version to the + 's data map. + + + + + Adds the given value as a string version to the + 's data map. + + + + + Adds the given value as a string version to the + 's data map. + + + + + Adds the given value as a string version to the + 's data map. + + + + + 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. + + + + + An exception that can be thrown by a + to indicate to the Quartz that an error + occurred while executing, and whether or not the requests + to be re-fired immediately (using the same , + or whether it wants to be unscheduled. + + + Note that if the flag for 'refire immediately' is set, the flags for + unscheduling the Job are ignored. + + + + + James House + Marko Lahma (.NET) + + + + Create a 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. + + + + Uniquely identifies a . + + + Keys are composed of both a name and group, and the name must be unique + within the group. If only a group is specified then the default group + name will be used. + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + Client code can then use the DSL to write code such as this: + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + ITrigger trigger = TriggerBuilder.Create() + .WithIdentity("myTrigger", "myTriggerGroup") + .WithSimpleSchedule(x => x + .WithIntervalInHours(1) + .RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + Misfire instructions. + + Marko Lahma (.NET) + + + + Instruction not set (yet). + + + + + Use smart policy. + + + + + Instructs the that the + will never be evaluated for a misfire situation, + and that the scheduler will simply try to fire it as soon as it can, + and then update the Trigger as if it had fired at the proper time. + + + NOTE: if a trigger uses this instruction, and it has missed + several of its scheduled firings, then several rapid firings may occur + as the trigger attempt to catch back up to where it would have been. + For example, a SimpleTrigger that fires every 15 seconds which has + misfired for 5 minutes will fire 20 times once it gets the chance to + fire. + + + + + Misfire policy settings for SimpleTrigger. + + + + + Instructs the that upon a mis-fire + situation, the wants to be fired + now by . + + NOTE: This instruction should typically only be used for + 'one-shot' (non-repeating) Triggers. If it is used on a trigger with a + repeat count > 0 then it is equivalent to the instruction + . + + + + + + Instructs the that upon a mis-fire + situation, the wants to be + re-scheduled to 'now' (even if the associated + excludes 'now') with the repeat count left as-is. This does obey the + end-time however, so if 'now' is after the + end-time the will not fire again. + + + + NOTE: Use of this instruction causes the trigger to 'forget' + the start-time and repeat-count that it was originally setup with (this + is only an issue if you for some reason wanted to be able to tell what + the original values were at some later time). + + + + + + Instructs the that upon a mis-fire + situation, the wants to be + re-scheduled to 'now' (even if the associated + excludes 'now') with the repeat count set to what it would be, if it had + not missed any firings. This does obey the end-time + however, so if 'now' is after the end-time the will + not fire again. + + + NOTE: Use of this instruction causes the trigger to 'forget' + the start-time and repeat-count that it was originally setup with. + Instead, the repeat count on the trigger will be changed to whatever + the remaining repeat count is (this is only an issue if you for some + reason wanted to be able to tell what the original values were at some + later time). + + + + NOTE: This instruction could cause the + to go to the 'COMPLETE' state after firing 'now', if all the + repeat-fire-times where missed. + + + + + + Instructs the that upon a mis-fire + situation, the wants to be + re-scheduled to the next scheduled time after 'now' - taking into + account any associated , and with the + repeat count set to what it would be, if it had not missed any firings. + + + NOTE/WARNING: This instruction could cause the + to go directly to the 'COMPLETE' state if all fire-times where missed. + + + + + Instructs the that upon a mis-fire + situation, the wants to be + re-scheduled to the next scheduled time after 'now' - taking into + account any associated , and with the + repeat count left unchanged. + + + + NOTE/WARNING: This instruction could cause the + to go directly to the 'COMPLETE' state if all the end-time of the trigger + has arrived. + + + + + + misfire instructions for CronTrigger + + + + + Instructs the that upon a mis-fire + situation, the wants to be fired now + by . + + + + + Instructs the that upon a mis-fire + situation, the wants to have it's + next-fire-time updated to the next time in the schedule after the + current time (taking into account any associated , + but it does not want to be fired now. + + + + + misfire instructions for 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. + + + + + Misfire instructions for DateIntervalTrigger + + + + + Instructs the that upon a mis-fire + situation, the wants to be + fired now by . + + + + + Instructs the that upon a mis-fire + situation, the wants to have it's + next-fire-time updated to the next time in the schedule after the + current time (taking into account any associated , + but it does not want to be fired now. + + + + + Misfire instructions for DailyTimeIntervalTrigger + + + + + Instructs the that upon a mis-fire + situation, the wants to be + fired now by . + + + + + Instructs the that upon a mis-fire + situation, the wants to have it's + next-fire-time updated to the next time in the schedule after the + current time (taking into account any associated , + but it does not want to be fired now. + + + + + 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 + Marko Lahma (.NET) + + + + 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 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 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 + + + + + Get a that is configured to produce a + schedule identical to this trigger's schedule. + + + + + + + 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 + Marko Lahma (.NET) + + + + Create a with the given + message. + + + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + Create a and auto-generate a + message using the name/group from the given . + + + + The message will read:
"Unable to store Job with name: '__' and + group: '__', because one already exists with this identification." +
+
+
+ + + Create a and auto-generate a + message using the name/group from the given . + + + + The message will read:
"Unable to store Trigger with name: '__' and + group: '__', because one already exists with this identification." +
+
+
+ + + An attribute that marks a class as one that makes updates to its + during execution, and wishes the scheduler to re-store the + when execution completes. + + + + Jobs that are marked with this annotation should also seriously consider + using the attribute, to avoid data + storage race conditions with concurrently executing job instances. + + + This can be used in lieu of implementing the StatefulJob marker interface that + was used prior to Quartz 2.0 + + + + James House + Marko Lahma (.NET) + + + + An exception that is thrown to indicate that there is a misconfiguration of + the - or one of the components it + configures. + + James House + Marko Lahma (.NET) + + + + Create a with the given message. + + + + + Create a with the given message + and cause. + + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + + + + Scheduler constants. + + Marko Lahma (.NET) + + + + A (possibly) useful constant that can be used for specifying the group + that and instances belong to. + + + + + A constant group name used internally by the + scheduler - clients should not use the value of this constant + ("RECOVERING_JOBS") for 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 context/environment data that can be made available to Jobs as they + are executed. + + + Future versions of Quartz may make distinctions on how it propagates + data in between instances of proxies to a + single scheduler instance - i.e. if Quartz is being used via WCF of Remoting. + + + James House + Marko Lahma (.NET) + + + + Create an empty . + + + + + Create a with the given data. + + + + + Serialization constructor. + + + + + + + Instructs Scheduler what to do with a trigger and job. + + Marko Lahma (.NET) + + + + Instructs the that the + has no further instructions. + + + + + Instructs the that the + wants the to re-Execute + immediately. If not in a 'RECOVERING' or 'FAILED_OVER' situation, the + execution context will be re-used (giving the the + ability to 'see' anything placed in the context by its last execution). + + + + + Instructs the that the + should be put in the state. + + + + + Instructs the that the + wants itself deleted. + + + + + Instructs the that all + s referencing the same as + this one should be put in the state. + + + + + Instructs the that all + s referencing the same as + this one should be put in the state. + + + + + Instructs the that the + should be put in the state. + + + + + Describes the settings and capabilities of a given + instance. + + James House + Marko Lahma (.NET) + + + + Initializes a new instance of the class. + + Name of the scheduler. + The scheduler instance. + The scheduler type. + if set to true, scheduler is a remote scheduler. + if set to true, scheduler is started. + if set to true, scheduler is in standby mode. + if set to true, scheduler is shutdown. + The start time. + The number of jobs executed. + The job store type. + if set to true, job store is persistent. + if set to true, the job store is clustered + The thread pool type. + Size of the thread pool. + The version string. + + + + Returns a formatted (human readable) string describing all the 's + meta-data values. + + + + The format of the string looks something like this: +
+            Quartz Scheduler 'SchedulerName' with instanceId 'SchedulerInstanceId' Scheduler class: 'Quartz.Impl.StdScheduler' - running locally. Running since: '11:33am on Jul 19, 2002' Not currently paused. Number of Triggers fired: '123' Using thread pool 'Quartz.Simpl.SimpleThreadPool' - with '8' threads Using job-store 'Quartz.Impl.JobStore' - which supports persistence.
+            
+
+
+
+ + + Return a simple string representation of this object. + + + + + Returns the name of the . + + + + + Returns the instance Id of the . + + + + + Returns the class-name of the instance. + + + + + Returns whether the is being used remotely (via remoting). + + + + + Returns whether the scheduler has been started. + + + Note: may return even if + returns . + + + + + Reports whether the is in standby mode. + + + Note: may return even if + returns . + + + + + Reports whether the has been Shutdown. + + + + + Returns the class-name of the instance that is + being used by the . + + + + + Returns the type name of the instance that is + being used by the . + + + + + Returns the number of threads currently in the 's + + + + + Returns the version of Quartz that is running. + + + + + Returns the at which the Scheduler started running. + + null if the scheduler has not been started. + + + + + Returns the number of jobs executed since the + started.. + + + + + Returns whether or not the 's + instance supports persistence. + + + + + Returns whether or not the 's + is clustered. + + + + + SimpleScheduleBuilder is a + that defines strict/literal interval-based schedules for + s. + + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + Client code can then use the DSL to write code such as this: + + JobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + Trigger trigger = TriggerBuilder.Create() + .WithIdentity(triggerKey("myTrigger", "myTriggerGroup")) + .WithSimpleSchedule(x => x + .WithIntervalInHours(1) + .RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + + + + Create a SimpleScheduleBuilder. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat forever with a 1 minute interval. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat forever with an interval + of the given number of minutes. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat forever with a 1 second interval. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat forever with an interval + of the given number of seconds. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat forever with a 1 hour interval. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat forever with an interval + of the given number of hours. + + + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat the given number + of times - 1 with a 1 minute interval. + + + Note: Total count = 1 (at start time) + repeat count + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat the given number + of times - 1 with an interval of the given number of minutes. + + + Note: Total count = 1 (at start time) + repeat count + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat the given number + of times - 1 with a 1 second interval. + + + Note: Total count = 1 (at start time) + repeat count + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat the given number + of times - 1 with an interval of the given number of seconds. + + + Note: Total count = 1 (at start time) + repeat count + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat the given number + of times - 1 with a 1 hour interval. + + + Note: Total count = 1 (at start time) + repeat count + + the new SimpleScheduleBuilder + + + + Create a SimpleScheduleBuilder set to repeat the given number + of times - 1 with an interval of the given number of hours. + + + Note: Total count = 1 (at start time) + repeat count + + the new SimpleScheduleBuilder + + + + Build the actual Trigger -- NOT intended to be invoked by end users, + but will rather be invoked by a TriggerBuilder which this + ScheduleBuilder is given to. + + + + + + + + Specify a repeat interval in milliseconds. + + + + the time span at which the trigger should repeat. + the updated SimpleScheduleBuilder + + + + + + Specify a repeat interval in seconds. + + + + the time span at which the trigger should repeat. + the updated SimpleScheduleBuilder + + + + + + Specify a the number of time the trigger will repeat - total number of + firings will be this number + 1. + + + + the number of seconds at which the trigger should repeat. + the updated SimpleScheduleBuilder + + + + + + Specify that the trigger will repeat indefinitely. + + + + the updated SimpleScheduleBuilder + + + + + + + If the Trigger misfires, use the + instruction. + + + + the updated CronScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated SimpleScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated SimpleScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated SimpleScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated SimpleScheduleBuilder + + + + + If the Trigger misfires, use the + instruction. + + + + the updated SimpleScheduleBuilder + + + + + Extension methods that attach to . + + + + + A time source for Quartz.NET that returns the current time. + Original idea by Ayende Rahien: + http://ayende.com/Blog/archive/2008/07/07/Dealing-with-time-in-tests.aspx + + + + + Return current UTC time via . Allows easier unit testing. + + + + + Return current time in current time zone via . Allows easier unit testing. + + + + + Represents a time in hour, minute and second of any given day. + + + The hour is in 24-hour convention, meaning values are from 0 to 23. + + + + + James House + Zemian Deng saltnlight5@gmail.com + Nuno Maia (.NET) + + + + Create a TimeOfDay instance for the given hour, minute and second. + + The hour of day, between 0 and 23. + The minute of the hour, between 0 and 59. + The second of the minute, between 0 and 59. + + + + Create a TimeOfDay instance for the given hour, minute (at the zero second of the minute). + + The hour of day, between 0 and 23. + The minute of the hour, between 0 and 59. + + + + Create a TimeOfDay instance for the given hour, minute and second. + + The hour of day, between 0 and 23. + The minute of the hour, between 0 and 59. + The second of the minute, between 0 and 59. + + + + + Create a TimeOfDay instance for the given hour, minute (at the zero second of the minute).. + + The hour of day, between 0 and 23. + The minute of the hour, between 0 and 59. + The newly instantiated TimeOfDay + + + + Determine with this time of day is before the given time of day. + + + True this time of day is before the given time of day. + + + + Return a date with time of day reset to this object values. The millisecond value will be zero. + + + + + + The hour of the day (between 0 and 23). + + + + + The minute of the hour (between 0 and 59). + + + + + The second of the minute (between 0 and 59). + + + + + Attribute to use with public properties that + can be set with Quartz configuration. Attribute can be used to advice + parsing to use correct type of time span (milliseconds, seconds, minutes, hours) + as it may depend on property. + + Marko Lahma (.NET) + + + + + Initializes a new instance of the class. + + The rule. + + + + Gets the rule. + + The rule. + + + + Possible parse rules for s. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + TriggerBuilder is used to instantiate s. + + + + The builder will always try to keep itself in a valid state, with + reasonable defaults set for calling build() at any point. For instance + if you do not invoke WithSchedule(..) method, a default schedule + of firing once immediately will be used. As another example, if you + do not invoked WithIdentity(..) a trigger name will be generated + for you. + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + + Client code can then use the DSL to write code such as this: + + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + ITrigger trigger = TriggerBuilder.Create() + .WithIdentity("myTrigger", "myTriggerGroup") + .WithSimpleSchedule(x => x + .WithIntervalInHours(1) + .RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + + + Create a new TriggerBuilder with which to define a + specification for a Trigger. + + + + the new TriggerBuilder + + + + Produce the . + + + + a Trigger that meets the specifications of the builder. + + + + Use a with the given name and default group to + identify the Trigger. + + + If none of the 'withIdentity' methods are set on the TriggerBuilder, + then a random, unique TriggerKey will be generated. + + the name element for the Trigger's TriggerKey + the updated TriggerBuilder + + + + + + Use a TriggerKey with the given name and group to + identify the Trigger. + + + If none of the 'withIdentity' methods are set on the TriggerBuilder, + then a random, unique TriggerKey will be generated. + + the name element for the Trigger's TriggerKey + the group element for the Trigger's TriggerKey + the updated TriggerBuilder + + + + + + Use the given TriggerKey to identify the Trigger. + + + If none of the 'withIdentity' methods are set on the TriggerBuilder, + then a random, unique TriggerKey will be generated. + + the TriggerKey for the Trigger to be built + the updated TriggerBuilder + + + + + + Set the given (human-meaningful) description of the Trigger. + + + + the description for the Trigger + the updated TriggerBuilder + + + + + Set the Trigger's priority. When more than one Trigger have the same + fire time, the scheduler will fire the one with the highest priority + first. + + + + the priority for the Trigger + the updated TriggerBuilder + + + + + + Set the name of the that should be applied to this + Trigger's schedule. + + + + the name of the Calendar to reference. + the updated TriggerBuilder + + + + + + Set the time the Trigger should start at - the trigger may or may + not fire at this time - depending upon the schedule configured for + the Trigger. However the Trigger will NOT fire before this time, + regardless of the Trigger's schedule. + + + + the start time for the Trigger. + the updated TriggerBuilder + + + + + + Set the time the Trigger should start at to the current moment - + the trigger may or may not fire at this time - depending upon the + schedule configured for the Trigger. + + + + the updated TriggerBuilder + + + + + Set the time at which the Trigger will no longer fire - even if it's + schedule has remaining repeats. + + + + the end time for the Trigger. If null, the end time is indefinite. + the updated TriggerBuilder + + + + + + Set the that will be used to define the + Trigger's schedule. + + + The particular used will dictate + the concrete type of Trigger that is produced by the TriggerBuilder. + + the SchedulerBuilder to use. + the updated TriggerBuilder + + + + + + + + Set the identity of the Job which should be fired by the produced + Trigger. + + + + the identity of the Job to fire. + the updated TriggerBuilder + + + + + Set the identity of the Job which should be fired by the produced + Trigger - a will be produced with the given + name and default group. + + + + the name of the job (in default group) to fire. + the updated TriggerBuilder + + + + + Set the identity of the Job which should be fired by the produced + Trigger - a will be produced with the given + name and group. + + + + the name of the job to fire. + the group of the job to fire. + the updated TriggerBuilder + + + + + Set the identity of the Job which should be fired by the produced + Trigger, by extracting the JobKey from the given job. + + + + the Job to fire. + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Add the given key-value pair to the Trigger's . + + + + the updated TriggerBuilder + + + + + Common constants for triggers. + + + + + The default value for priority. + + + + + Uniquely identifies a . + + + Keys are composed of both a name and group, and the name must be unique + within the group. If only a name is specified then the default group + name will be used. + + + Quartz provides a builder-style API for constructing scheduling-related + entities via a Domain-Specific Language (DSL). The DSL can best be + utilized through the usage of static imports of the methods on the classes + , , + , , + and the various implementations. + + + Client code can then use the DSL to write code such as this: + + + IJobDetail job = JobBuilder.Create<MyJob>() + .WithIdentity("myJob") + .Build(); + ITrigger trigger = TriggerBuilder.Create() + .WithIdentity("myTrigger", "myTriggerGroup") + .WithSimpleSchedule(x => x + .WithIntervalInHours(1) + .RepeatForever()) + .StartAt(DateBuilder.FutureDate(10, IntervalUnit.Minute)) + .Build(); + scheduler.scheduleJob(job, trigger); + + + + + + + + All trigger states known to Scheduler. + + Marko Lahma (.NET) + + + + Indicates that the is in the "normal" state. + + + + + Indicates that the is in the "paused" state. + + + + + Indicates that the is in the "complete" state. + + + "Complete" indicates that the trigger has not remaining fire-times in + its schedule. + + + + + Indicates that the is in the "error" state. + + + + A arrives at the error state when the scheduler + attempts to fire it, but cannot due to an error creating and executing + its related job. Often this is due to the 's + class not existing in the classpath. + + + + When the trigger is in the error state, the scheduler will make no + attempts to fire it. + + + + + + Indicates that the is in the "blocked" state. + + + A arrives at the blocked state when the job that + it is associated with has a and it is + currently executing. + + + + + + Indicates that the does not exist. + + + + + A Comparator that compares trigger's next fire times, or in other words, + sorts them according to earliest next fire time. If the fire times are + the same, then the triggers are sorted according to priority (highest + value first), if the priorities are the same, then they are sorted + by key. + + + + + Convenience and utility methods for simplifying the construction and + configuration of s and DateTimeOffsetOffsets. + + + + James House + Marko Lahma (.NET) + + + + Returns a list of Dates that are the next fire times of a + . + The input trigger will be cloned before any work is done, so you need + not worry about its state being altered by this method. + + The trigger upon which to do the work + The calendar to apply to the trigger's schedule + The number of next fire times to produce + List of java.util.Date objects + + + + Compute the that is 1 second after the Nth firing of + the given , taking the triger's associated + into consideration. + + + The input trigger will be cloned before any work is done, so you need + not worry about its state being altered by this method. + + The trigger upon which to do the work + The calendar to apply to the trigger's schedule + The number of next fire times to produce + the computed Date, or null if the trigger (as configured) will not fire that many times + + + + Returns a list of Dates that are the next fire times of a + that fall within the given date range. The input trigger will be cloned + before any work is done, so you need not worry about its state being + altered by this method. + + NOTE: if this is a trigger that has previously fired within the given + date range, then firings which have already occurred will not be listed + in the output List. + + + The trigger upon which to do the work + The calendar to apply to the trigger's schedule + The starting date at which to find fire times + The ending date at which to stop finding fire times + List of java.util.Date objects + + + + An exception that is thrown to indicate that a call to + failed without interrupting the Job. + + + James House + Marko Lahma (.NET) + + + + Create a with the given message. + + + + + Create a with the given cause. + + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The class name is null or is zero (0). + The info parameter is null. + +
+
diff --git a/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/AdaptableJobFactory.cs b/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/AdaptableJobFactory.cs index 07a53c00..d6827423 100644 --- a/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/AdaptableJobFactory.cs +++ b/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/AdaptableJobFactory.cs @@ -20,6 +20,12 @@ using Quartz; using Quartz.Spi; using Quartz.Util; +#if QUARTZ_2_0 +using JobDetail = Quartz.IJobDetail; +#else +using JobDetail = Quartz.JobDetail; +#endif + namespace Spring.Scheduling.Quartz { /// @@ -32,6 +38,27 @@ namespace Spring.Scheduling.Quartz /// public class AdaptableJobFactory : IJobFactory { +#if QUARTZ_2_0 + /// + /// 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 scheduler instance. + /// the newly instantiated Job + /// SchedulerException if there is a problem instantiating the Job. + public virtual IJob NewJob(TriggerFiredBundle bundle, IScheduler scheduler) +#else /// /// Called by the scheduler at the time of the trigger firing, in order to /// produce a instance on which to call Execute. @@ -49,7 +76,8 @@ namespace Spring.Scheduling.Quartz /// and other info relating to the trigger firing can be obtained. /// the newly instantiated Job /// SchedulerException if there is a problem instantiating the Job. - public virtual IJob NewJob(TriggerFiredBundle bundle) + public virtual IJob NewJob(TriggerFiredBundle bundle) +#endif { try { @@ -75,7 +103,11 @@ namespace Spring.Scheduling.Quartz /// The job instance. protected virtual object CreateJobInstance(TriggerFiredBundle bundle) { +#if QUARTZ_2_0 + return ObjectUtils.InstantiateType(bundle.JobDetail.JobType); +#else return ObjectUtils.InstantiateType(bundle.JobDetail.JobType); +#endif } /// @@ -92,24 +124,21 @@ namespace Spring.Scheduling.Quartz /// protected virtual IJob AdaptJob(object jobObject) { - if (jobObject is IJob) - { - return (IJob) jobObject; - } - else if (jobObject is ThreadStart) - { - return new DelegatingJob((ThreadStart)jobObject); - } - else if (jobObject is IThreadRunnable) + if (jobObject is IJob) { - return new DelegatingJob(new ThreadStart(((IThreadRunnable) jobObject).Run)); + return (IJob)jobObject; } - else - { - throw new ArgumentException( - string.Format("Unable to execute job class [{0}]: only [IJob] and [ThreadStart] supported.", - jobObject.GetType().FullName)); - } + if (jobObject is ThreadStart) + { + return new DelegatingJob((ThreadStart)jobObject); + } + if (jobObject is IThreadRunnable) + { + return new DelegatingJob(((IThreadRunnable)jobObject).Run); + } + + string message = string.Format("Unable to execute job class [{0}]: only [IJob] and [ThreadStart] supported.", jobObject.GetType().FullName); + throw new ArgumentException(message); } } } \ No newline at end of file diff --git a/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/DelegatingJob.cs b/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/DelegatingJob.cs index 14c5f7ad..c7956bb8 100644 --- a/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/DelegatingJob.cs +++ b/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/DelegatingJob.cs @@ -13,13 +13,18 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -using System; using System.Threading; using Quartz; using Spring.Util; +#if QUARTZ_2_0 +using JobExecutionContext = Quartz.IJobExecutionContext; +#else +using JobExecutionContext = Quartz.JobExecutionContext; +#endif + namespace Spring.Scheduling.Quartz { /// diff --git a/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/IJobDetailAwareTrigger.cs b/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/IJobDetailAwareTrigger.cs index 36abb551..080c77b9 100644 --- a/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/IJobDetailAwareTrigger.cs +++ b/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/IJobDetailAwareTrigger.cs @@ -13,7 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -using Quartz; + +#if QUARTZ_2_0 +using JobDetail = Quartz.IJobDetail; +#else +using JobDetail = Quartz.JobDetail; +#endif namespace Spring.Scheduling.Quartz { @@ -36,8 +41,6 @@ namespace Spring.Scheduling.Quartz /// Juergen Hoeller /// /// - /// - /// public interface IJobDetailAwareTrigger { /// diff --git a/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/ISchedulingTaskExecutor.cs b/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/ISchedulingTaskExecutor.cs index 6046502c..4230c395 100644 --- a/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/ISchedulingTaskExecutor.cs +++ b/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/ISchedulingTaskExecutor.cs @@ -16,21 +16,17 @@ namespace Spring.Scheduling { - /// - /// - /// - public interface ISchedulingTaskExecutor : ITaskExecutor - { - /// - /// Gets a value indicating whether´this instance prefers short lived tasks. - /// - /// - /// true if prefers short lived tasks; otherwise, false. - /// - bool PrefersShortLivedTasks - { - get; - } - - } -} + /// + /// + /// + public interface ISchedulingTaskExecutor : ITaskExecutor + { + /// + /// Gets a value indicating whether´this instance prefers short lived tasks. + /// + /// + /// true if prefers short lived tasks; otherwise, false. + /// + bool PrefersShortLivedTasks { get; } + } +} \ No newline at end of file diff --git a/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/LocalTaskExecutorThreadPool.cs b/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/LocalTaskExecutorThreadPool.cs index 3ec00d3f..7626cc5a 100644 --- a/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/LocalTaskExecutorThreadPool.cs +++ b/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/LocalTaskExecutorThreadPool.cs @@ -13,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -using System.Threading; using Common.Logging; using Quartz; @@ -32,11 +31,11 @@ namespace Spring.Scheduling.Quartz /// /// Logger available to subclasses. /// - protected ILog logger; + private readonly ILog logger; private ITaskExecutor taskExecutor; - - /// + + /// /// Initializes a new instance of the class. /// public LocalTaskExecutorThreadPool() @@ -45,6 +44,14 @@ namespace Spring.Scheduling.Quartz } /// + /// Logger instance. + /// + protected ILog Logger + { + get { return logger; } + } + + /// /// Gets the size of the pool. /// /// The size of the pool. @@ -53,7 +60,25 @@ namespace Spring.Scheduling.Quartz get { return - 1; } } - /// + /// + /// Inform the of the Scheduler instance's Id, + /// prior to initialize being invoked. + /// + public string InstanceId + { + set { } + } + + /// + /// Inform the of the Scheduler instance's name, + /// prior to initialize being invoked. + /// + public string InstanceName + { + set { } + } + + /// /// Called by the QuartzScheduler before the is /// used, in order to give the it a chance to Initialize. /// @@ -99,7 +124,7 @@ namespace Spring.Scheduling.Quartz } try { - taskExecutor.Execute(new ThreadStart(runnable.Run)); + taskExecutor.Execute(runnable.Run); return true; } catch (TaskRejectedException ex) diff --git a/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/MethodInvokingJob.cs b/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/MethodInvokingJob.cs index 3aa8d9ae..71597d8c 100644 --- a/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/MethodInvokingJob.cs +++ b/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/MethodInvokingJob.cs @@ -23,6 +23,12 @@ using Quartz; using Spring.Objects.Support; +#if QUARTZ_2_0 +using JobExecutionContext = Quartz.IJobExecutionContext; +#else +using JobExecutionContext = Quartz.JobExecutionContext; +#endif + namespace Spring.Scheduling.Quartz { /// diff --git a/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/MethodInvokingRunnable.cs b/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/MethodInvokingRunnable.cs index a483a602..1296fd6d 100644 --- a/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/MethodInvokingRunnable.cs +++ b/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/MethodInvokingRunnable.cs @@ -56,7 +56,7 @@ namespace Spring.Scheduling.Quartz /// /// Logger instance shared by this instance and its sub-class instances. /// - protected ILog logger; + private readonly ILog logger; /// /// Initializes a new instance of the class. @@ -66,6 +66,13 @@ namespace Spring.Scheduling.Quartz logger = LogManager.GetLogger(GetType()); } + /// + /// Logger instance. + /// + protected ILog Logger + { + get { return logger; } + } /// /// Gets the invocation failure message. diff --git a/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/QuartzJobObject.cs b/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/QuartzJobObject.cs index 868db623..54b6753f 100644 --- a/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/QuartzJobObject.cs +++ b/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/QuartzJobObject.cs @@ -14,8 +14,15 @@ * limitations under the License. */ using Quartz; + using Spring.Objects; +#if QUARTZ_2_0 +using JobExecutionContext = Quartz.IJobExecutionContext; +#else +using JobExecutionContext = Quartz.JobExecutionContext; +#endif + namespace Spring.Scheduling.Quartz { /// diff --git a/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/SchedulerFactoryObject.cs b/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/SchedulerFactoryObject.cs index a7230f36..c4a17477 100644 --- a/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/SchedulerFactoryObject.cs +++ b/src/Spring/Spring.Scheduling.Quartz/Scheduling/Quartz/SchedulerFactoryObject.cs @@ -18,6 +18,9 @@ using System; using System.Collections; using System.Collections.Specialized; using System.IO; +#if QUARTZ_2_0 +using System.Linq; +#endif using Quartz; using Quartz.Impl; @@ -566,7 +569,11 @@ namespace Spring.Scheduling.Quartz public virtual void AfterPropertiesSet() { // Create SchedulerFactory instance. +#if QUARTZ_2_0 + ISchedulerFactory schedulerFactory = ObjectUtils.InstantiateType(schedulerFactoryType); +#else ISchedulerFactory schedulerFactory = (ISchedulerFactory) ObjectUtils.InstantiateType(schedulerFactoryType); +#endif InitSchedulerFactory(schedulerFactory); @@ -755,7 +762,12 @@ namespace Spring.Scheduling.Quartz // Put specified objects into Scheduler context. if (schedulerContextMap != null) { +#if QUARTZ_2_0 + var dictionary = schedulerContextMap.Cast().ToDictionary(entry => entry.Key.ToString(), entry => entry.Value); + scheduler.Context.PutAll(dictionary); +#else scheduler.Context.PutAll(schedulerContextMap); +#endif } // Register IApplicationContext in Scheduler context. @@ -837,9 +849,9 @@ namespace Spring.Scheduling.Quartz } } - /// - /// Handles the application context's refresh event and starts the scheduler. - /// + /// + /// Handles the application context's refresh event and starts the scheduler. + /// public void HandleApplicationEvent(object sender, ApplicationEventArgs e) { // auto-start Scheduler if demanded diff --git a/src/Spring/Spring.Scheduling.Quartz/Spring.Scheduling.Quartz.2008.csproj b/src/Spring/Spring.Scheduling.Quartz/Spring.Scheduling.Quartz.2008.csproj index e6f8e2ad..b3c1524e 100644 --- a/src/Spring/Spring.Scheduling.Quartz/Spring.Scheduling.Quartz.2008.csproj +++ b/src/Spring/Spring.Scheduling.Quartz/Spring.Scheduling.Quartz.2008.csproj @@ -31,13 +31,13 @@ 4 - + False - ..\..\..\lib\net\2.0\Common.Logging.dll + ..\..\..\lib\Net\2.0\Common.Logging.dll - + False - ..\..\..\lib\net\2.0\Quartz.dll + ..\..\..\lib\Quartz10\net\2.0\Quartz.dll diff --git a/src/Spring/Spring.Scheduling.Quartz/Spring.Scheduling.Quartz.2010.csproj b/src/Spring/Spring.Scheduling.Quartz/Spring.Scheduling.Quartz.2010.csproj index e04a2d97..0fe05a39 100644 --- a/src/Spring/Spring.Scheduling.Quartz/Spring.Scheduling.Quartz.2010.csproj +++ b/src/Spring/Spring.Scheduling.Quartz/Spring.Scheduling.Quartz.2010.csproj @@ -37,12 +37,13 @@ 4 - + False - ..\..\..\lib\net\2.0\Common.Logging.dll + ..\..\..\lib\Net\2.0\Common.Logging.dll - - ..\..\..\lib\Net\3.5\Quartz.dll + + False + ..\..\..\lib\Quartz10\net\3.5\Quartz.dll diff --git a/src/Spring/Spring.Scheduling.Quartz/Spring.Scheduling.Quartz.build b/src/Spring/Spring.Scheduling.Quartz/Spring.Scheduling.Quartz.build index a8829365..6d0899c0 100644 --- a/src/Spring/Spring.Scheduling.Quartz/Spring.Scheduling.Quartz.build +++ b/src/Spring/Spring.Scheduling.Quartz/Spring.Scheduling.Quartz.build @@ -7,6 +7,14 @@ * current.build.defines.csc - framework-specific build defines for C# compiler --> + + + + + + + + + /// Convenience subclass of Quartz's CronTrigger type, making property based + /// usage easier. + /// + /// + ///

+ /// CronTrigger itself is already property based but lacks sensible defaults. + /// This class uses the Spring object name as job name, the Quartz default group + /// ("DEFAULT") as job group, the current time as start time, and indefinite + /// repetition, if not specified. + ///

+ ///

+ /// This class will also register the trigger with the job name and group of + /// a given . This allows + /// to automatically register a trigger for the corresponding JobDetail, + /// instead of registering the JobDetail separately. + ///

+ ///
+ /// Juergen Hoeller + /// + /// + /// + /// + /// + /// + public class CronTriggerObject : CronTriggerImpl, IJobDetailAwareTrigger, IObjectNameAware, IInitializingObject + { + private readonly Constants constants = new Constants(typeof(MisfireInstruction.CronTrigger), typeof(MisfireInstruction)); + private IJobDetail jobDetail; + private string objectName; + private TimeSpan startDelay; + + /// + /// Register objects in the JobDataMap via a given Map. + /// + /// + /// These objects will be available to this Trigger only, + /// in contrast to objects in the JobDetail's data map. + /// + /// + public virtual IDictionary JobDataAsMap + { + set + { + foreach (DictionaryEntry entry in value) + { + JobDataMap.Put((string) entry.Key, entry.Value); + } + } + } + + /// + /// Set the misfire instruction via the name of the corresponding + /// constant in the CronTrigger class. + /// Default is . + /// + /// + /// + /// + public virtual string MisfireInstructionName + { + set { MisfireInstruction = constants.AsNumber(value); } + } + + /// + /// Set the name of the object in the object factory that created this object. + /// + /// The name of the object in the factory. + /// + ///

+ /// Invoked after population of normal object properties but before an init + /// callback like 's + /// + /// method or a custom init-method. + ///

+ ///
+ public virtual string ObjectName + { + set { objectName = value; } + } + + /// + /// Set the JobDetail that this trigger should be associated with. + /// + /// + /// This is typically used with a object reference if the JobDetail + /// is a Spring-managed object. Alternatively, the trigger can also + /// be associated with a job by name and group. + /// + /// + public virtual IJobDetail JobDetail + { + get { return jobDetail; } + set { jobDetail = value; } + } + + /// + /// Set the start delay as . + /// + /// + /// + /// The start delay is added to the current system UTC time + /// (when the object starts) to control the + /// of the trigger. + /// + /// + /// If the start delay is non-zero it will always + /// take precedence over start time. + /// + /// + /// the start delay, as object. + public TimeSpan StartDelay + { + set + { + AssertUtils.State(value > TimeSpan.Zero, "Start delay cannot be negative."); + startDelay = value; + } + get { return startDelay; } + } + + /// + /// Invoked by an + /// after it has injected all of an object's dependencies. + /// + /// + ///

+ /// This method allows the object instance to perform the kind of + /// initialization only possible when all of it's dependencies have + /// been injected (set), and to throw an appropriate exception in the + /// event of misconfiguration. + ///

+ ///

+ /// Please do consult the class level documentation for the + /// interface for a + /// description of exactly when this method is invoked. In + /// particular, it is worth noting that the + /// + /// and + /// callbacks will have been invoked prior to this method being + /// called. + ///

+ ///
+ /// + /// In the event of misconfiguration (such as the failure to set a + /// required property) or if initialization fails. + /// + public virtual void AfterPropertiesSet() + { +#if QUARTZ_2_0 + if (StartTimeUtc == DateTimeOffset.MinValue) + { + StartTimeUtc = DateTimeOffset.UtcNow; + } +#else + if (StartTimeUtc == DateTime.MinValue) + { + StartTimeUtc = DateTime.UtcNow; + } +#endif + if (StartDelay > TimeSpan.Zero) + { + StartTimeUtc = DateTime.UtcNow.Add(startDelay); + } + if (Name == null) + { + Name = objectName; + } + if (Group == null) + { + Group = SchedulerConstants.DefaultGroup; + } + if (jobDetail != null) + { + JobName = jobDetail.Key.Name; + JobGroup = jobDetail.Key.Group; + } + } + } + + /// + /// Helper class to map constant names to their values. + /// + internal class Constants + { + private readonly Type[] types; + + public Constants(params Type[] reflectedTypes) + { + types = reflectedTypes; + } + + public int AsNumber(string field) + { + foreach (Type type in types) + { + FieldInfo fi = type.GetField(field); + if (fi != null) + { + return Convert.ToInt32(fi.GetValue(null)); + } + } + + // not found + throw new Exception(string.Format("Unknown field '{0}'", field)); + } + } +} \ No newline at end of file diff --git a/src/Spring/Spring.Scheduling.Quartz20/Scheduling/Quartz/JobDetailObject.cs b/src/Spring/Spring.Scheduling.Quartz20/Scheduling/Quartz/JobDetailObject.cs new file mode 100644 index 00000000..9ab40e6c --- /dev/null +++ b/src/Spring/Spring.Scheduling.Quartz20/Scheduling/Quartz/JobDetailObject.cs @@ -0,0 +1,220 @@ +/* +* Copyright 2002-2010 the original author or authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +using System; +using System.Collections; +using Quartz; +using Quartz.Impl; +using Spring.Context; +using Spring.Objects.Factory; + +namespace Spring.Scheduling.Quartz +{ + /// + /// Convenience subclass of Quartz' JobDetail class that eases properties based + /// usage. + /// + /// + /// itself is already a object but lacks + /// sensible defaults. This class uses the Spring object name as job name, + /// and the Quartz default group ("DEFAULT") as job group if not specified. + /// + /// Juergen Hoeller + /// + /// + public class JobDetailObject : JobDetailImpl, IObjectNameAware, IApplicationContextAware, IInitializingObject + { + private Type actualJobType; + private string objectName; + private IApplicationContext applicationContext; + private string applicationContextJobDataKey; + + /// + /// Overridden to support any job class, to allow a custom JobFactory + /// to adapt the given job class to the Quartz Job interface. + /// + /// + public override Type JobType + { + get { return (actualJobType ?? base.JobType); } + + set + { + if (value != null && !typeof (IJob).IsAssignableFrom(value)) + { + base.JobType = typeof (DelegatingJob); + actualJobType = value; + } + else + { + base.JobType = value; + } + } + } + + /// + /// Register objects in the JobDataMap via a given Map. + /// + /// + /// These objects will be available to this Job only, + /// in contrast to objects in the SchedulerContext. + ///

+ /// Note: When using persistent Jobs whose JobDetail will be kept in the + /// database, do not put Spring-managed objects or an ApplicationContext + /// reference into the JobDataMap but rather into the SchedulerContext. + ///

+ ///
+ /// + public virtual IDictionary JobDataAsMap + { + set + { + if (value == null) + { + throw new ArgumentException("Value cannot be null", "value"); + } + + foreach (DictionaryEntry entry in value) + { + JobDataMap.Put((string) entry.Key, entry.Value); + } + } + } + + /// + /// Set the name of the object in the object factory that created this object. + /// + /// The name of the object in the factory. + /// + /// Invoked after population of normal object properties but before an init + /// callback like 's + /// + /// method or a custom init-method. + /// + public virtual string ObjectName + { + set { objectName = value; } + } + + /// + /// Gets or sets the that this + /// object runs in. + /// + /// + /// + ///

+ /// Normally this call will be used to initialize the object. + ///

+ ///

+ /// Invoked after population of normal object properties but before an + /// init callback such as + /// 's + /// + /// or a custom init-method. Invoked after the setting of any + /// 's + /// + /// property. + ///

+ ///
+ /// + /// In the case of application context initialization errors. + /// + /// + /// If thrown by any application context methods. + /// + /// + public virtual IApplicationContext ApplicationContext + { + set { applicationContext = value; } + get { return applicationContext; } + } + + /// + /// Set the key of an IApplicationContext reference to expose in the JobDataMap, + /// for example "applicationContext". Default is none. + /// Only applicable when running in a Spring ApplicationContext. + /// + /// + ///

+ /// In case of a QuartzJobObject, the reference will be applied to the Job + /// instance as object property. An "applicationContext" attribute will correspond + /// to a "setApplicationContext" method in that scenario. + ///

+ ///

+ /// Note that ObjectFactory callback interfaces like IApplicationContextAware + /// are not automatically applied to Quartz Job instances, because Quartz + /// itself is responsible for the lifecycle of its Jobs. + ///

+ ///

+ /// Note: When using persistent job stores where JobDetail contents will + /// be kept in the database, do not put an IApplicationContext reference into + /// the JobDataMap but rather into the SchedulerContext. + ///

+ ///
+ /// + /// + public virtual string ApplicationContextJobDataKey + { + set { applicationContextJobDataKey = value; } + } + + /// + /// Invoked by an + /// after it has injected all of an object's dependencies. + /// + /// + ///

+ /// This method allows the object instance to perform the kind of + /// initialization only possible when all of it's dependencies have + /// been injected (set), and to throw an appropriate exception in the + /// event of misconfiguration. + ///

+ ///

+ /// Please do consult the class level documentation for the + /// interface for a + /// description of exactly when this method is invoked. In + /// particular, it is worth noting that the + /// + /// and + /// callbacks will have been invoked prior to this method being + /// called. + ///

+ ///
+ /// + /// In the event of misconfiguration (such as the failure to set a + /// required property) or if initialization fails. + /// + public virtual void AfterPropertiesSet() + { + if (Name == null) + { + Name = objectName; + } + if (Group == null) + { + Group = SchedulerConstants.DefaultGroup; + } + if (applicationContextJobDataKey != null) + { + if (applicationContext == null) + { + throw new ArgumentException("JobDetailObject needs to be set up in an IApplicationContext " + + "to be able to handle an 'applicationContextJobDataKey'"); + } + JobDataMap.Put(applicationContextJobDataKey, applicationContext); + } + } + } +} \ No newline at end of file diff --git a/src/Spring/Spring.Scheduling.Quartz20/Scheduling/Quartz/MethodInvokingJobDetailFactoryObject.cs b/src/Spring/Spring.Scheduling.Quartz20/Scheduling/Quartz/MethodInvokingJobDetailFactoryObject.cs new file mode 100644 index 00000000..e9cc7b4c --- /dev/null +++ b/src/Spring/Spring.Scheduling.Quartz20/Scheduling/Quartz/MethodInvokingJobDetailFactoryObject.cs @@ -0,0 +1,292 @@ +/* +* Copyright 2002-2010 the original author or authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +using System; + +using Quartz; +using Quartz.Impl; +using Spring.Objects.Factory; +using Spring.Objects.Factory.Config; +using Spring.Objects.Support; + +namespace Spring.Scheduling.Quartz +{ + /// + /// IFactoryObject that exposes a JobDetail object that delegates job execution + /// to a specified (static or non-static) method. Avoids the need to implement + /// a one-line Quartz Job that just invokes an existing service method. + /// + /// + ///

+ /// Derived from ArgumentConverting MethodInvoker to share common properties and behavior + /// with MethodInvokingFactoryObject. + ///

+ ///

+ /// Supports both concurrently running jobs and non-currently running + /// ones through the "concurrent" property. Jobs created by this + /// MethodInvokingJobDetailFactoryObject are by default volatile and durable + /// (according to Quartz terminology). + ///

+ ///

NOTE: JobDetails created via this FactoryObject are not + /// serializable and thus not suitable for persistent job stores. + /// You need to implement your own Quartz Job as a thin wrapper for each case + /// where you want a persistent job to delegate to a specific service method. + ///

+ ///
+ /// Juergen Hoeller + /// Alef Arendsen + /// + /// + public class MethodInvokingJobDetailFactoryObject : ArgumentConvertingMethodInvoker, + IObjectFactoryAware, + IFactoryObject, + IObjectNameAware, + IInitializingObject + { + private string name; + private string group; + private bool concurrent = true; + private string[] jobListenerNames; + private string targetObjectName; + private string objectName; + private JobDetailImpl jobDetail; + private IObjectFactory objectFactory; + + /// + /// Initializes a new instance of the class. + /// + public MethodInvokingJobDetailFactoryObject() + { + group = SchedulerConstants.DefaultGroup; + } + + + /// + /// Set the name of the job. + /// Default is the object name of this FactoryObject. + /// + /// + public virtual string Name + { + set { name = value; } + } + + /// + /// Set the group of the job. + /// Default is the default group of the Scheduler. + /// + /// + /// + public virtual string Group + { + set { group = value; } + } + + /// + /// Specify whether or not multiple jobs should be run in a concurrent + /// fashion. The behavior when one does not want concurrent jobs to be + /// executed is realized through adding the attribute. + /// More information on stateful versus stateless jobs can be found + /// here. + ///

+ /// The default setting is to run jobs concurrently. + ///

+ ///
+ public virtual bool Concurrent + { + set { concurrent = value; } + } + + /// + /// Gets the job detail. + /// + /// The job detail. + protected IJobDetail JobDetail + { + get { return jobDetail; } + } + + /// + /// Set a list of JobListener names for this job, referring to + /// non-global JobListeners registered with the Scheduler. + /// + /// + /// A JobListener name always refers to the name returned + /// by the JobListener implementation. + /// + /// + /// + public virtual string[] JobListenerNames + { + set { jobListenerNames = value; } + } + + /// + /// Set the name of the object in the object factory that created this object. + /// + /// The name of the object in the factory. + /// + /// Invoked after population of normal object properties but before an init + /// callback like 's + /// + /// method or a custom init-method. + /// + public virtual string ObjectName + { + set { objectName = value; } + } + + /// + /// Set the name of the target object in the Spring object factory. + /// + /// + /// This is an alternative to specifying TargetObject + /// allowing for non-singleton objects to be invoked. Note that specified + /// "TargetObject" and "TargetType" values will + /// override the corresponding effect of this "TargetObjectName" setting + ///(i.e. statically pre-define the object type or even the target object). + /// + public string TargetObjectName + { + set { targetObjectName = value; } + } + + /// + /// Sets the object factory. + /// + /// The object factory. + public IObjectFactory ObjectFactory + { + set { objectFactory = value; } + } + + /// + /// Return an instance (possibly shared or independent) of the object + /// managed by this factory. + /// + /// + /// An instance (possibly shared or independent) of the object managed by + /// this factory. + /// + /// + /// + /// If this method is being called in the context of an enclosing IoC container and + /// returns , the IoC container will consider this factory + /// object as not being fully initialized and throw a corresponding (and most + /// probably fatal) exception. + /// + /// + public virtual object GetObject() + { + return jobDetail; + } + + /// + /// Return the of object that this + /// creates, or + /// if not known in advance. + /// + /// + public virtual Type ObjectType + { + get + { + if (targetObjectName != null) + { + if (objectFactory == null) + { + throw new InvalidOperationException("ObjectFactory must be set when using 'TargetObjectName'"); + } + return objectFactory.GetType(targetObjectName); + } + return typeof(IJobDetail); + } + } + + /// + /// Is the object managed by this factory a singleton or a prototype? + /// + /// + public virtual bool IsSingleton + { + get { return true; } + } + + + /// + /// Invoked by an + /// after it has injected all of an object's dependencies. + /// + /// + ///

+ /// This method allows the object instance to perform the kind of + /// initialization only possible when all of it's dependencies have + /// been injected (set), and to throw an appropriate exception in the + /// event of misconfiguration. + ///

+ ///

+ /// Please do consult the class level documentation for the + /// interface for a + /// description of exactly when this method is invoked. In + /// particular, it is worth noting that the + /// + /// and + /// callbacks will have been invoked prior to this method being + /// called. + ///

+ ///
+ /// + /// In the event of misconfiguration (such as the failure to set a + /// required property) or if initialization fails. + /// + public virtual void AfterPropertiesSet() + { + Prepare(); + + // Use specific name if given, else fall back to object name. + string jobDetailName = name ?? objectName; + + // Consider the concurrent flag to choose between stateful and stateless job. + Type jobType = (concurrent ? typeof (MethodInvokingJob) : typeof (StatefulMethodInvokingJob)); + + // Build JobDetail instance. + jobDetail = new JobDetailImpl(jobDetailName, group, jobType); + jobDetail.JobDataMap.Put("methodInvoker", this); + jobDetail.Durable = true; + + // job listeners through configuration are no longer supported + if (jobListenerNames != null && jobListenerNames.Length > 0) + { + throw new InvalidOperationException("Non-global IJobListeners not supported on Quartz 2 - " + + "manually register a Matcher against the Quartz ListenerManager instead"); + } + + PostProcessJobDetail(jobDetail); + } + + /// + /// Callback for post-processing the JobDetail to be exposed by this FactoryObject. + ///

+ /// The default implementation is empty. Can be overridden in subclasses. + ///

+ ///
+ /// the JobDetail prepared by this FactoryObject + protected virtual void PostProcessJobDetail(IJobDetail detail) + { + } + + } +} \ No newline at end of file diff --git a/src/Spring/Spring.Scheduling.Quartz20/Scheduling/Quartz/SchedulerAccessor.cs b/src/Spring/Spring.Scheduling.Quartz20/Scheduling/Quartz/SchedulerAccessor.cs new file mode 100644 index 00000000..0cecc0f2 --- /dev/null +++ b/src/Spring/Spring.Scheduling.Quartz20/Scheduling/Quartz/SchedulerAccessor.cs @@ -0,0 +1,451 @@ +/* + * Copyright 2002-2010 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +using System; +using System.Collections; +using System.Collections.Generic; +using Common.Logging; + +using Quartz; +using Quartz.Simpl; +using Quartz.Xml; + +using Spring.Collections; +using Spring.Context; +using Spring.Core.IO; +using Spring.Transaction; +using Spring.Transaction.Support; + +namespace Spring.Scheduling.Quartz +{ + /// + /// Common base class for accessing a Quartz Scheduler, i.e. for registering jobs, + /// triggers and listeners on a instance. + /// + /// + /// For concrete usage, check out the and + /// classes. + /// + /// Juergen Hoeller + /// Marko Lahma (.NET) + public abstract class SchedulerAccessor : IResourceLoaderAware + { + /// + /// Logger instance. + /// + protected readonly ILog logger; + private bool overwriteExistingJobs; + + private string[] jobSchedulingDataLocations; + + private IList jobDetails; + private IDictionary calendars; + private IList triggers; + + private ISchedulerListener[] schedulerListeners; + private IJobListener[] globalJobListeners; + private IJobListener[] jobListeners; + private ITriggerListener[] globalTriggerListeners; + private ITriggerListener[] triggerListeners; + + private IPlatformTransactionManager transactionManager; + /// + /// Resource loader instance for sub-classes + /// + protected IResourceLoader resourceLoader; + + /// + /// Initializes a new instance of the class. + /// + protected SchedulerAccessor() + { + logger = LogManager.GetLogger(GetType()); + } + + /// + /// Set whether any jobs defined on this SchedulerFactoryObject should overwrite + /// existing job definitions. Default is "false", to not overwrite already + /// registered jobs that have been read in from a persistent job store. + /// + public virtual bool OverwriteExistingJobs + { + set { overwriteExistingJobs = value; } + } + + + /// + /// Set the locations of Quartz job definition XML files that follow the + /// "job_scheduling_data_1_5" XSD. Can be specified to automatically + /// register jobs that are defined in such files, possibly in addition + /// to jobs defined directly on this SchedulerFactoryObject. + /// + /// + public virtual string[] JobSchedulingDataLocations + { + set { jobSchedulingDataLocations = value; } + } + + /// + /// Set the location of a Quartz job definition XML file that follows the + /// "job_scheduling_data" XSD. Can be specified to automatically + /// register jobs that are defined in such a file, possibly in addition + /// to jobs defined directly on this SchedulerFactoryObject. + /// + /// + public virtual string JobSchedulingDataLocation + { + set { jobSchedulingDataLocations = new string[] {value}; } + } + + /// + /// Register a list of JobDetail objects with the Scheduler that + /// this FactoryObject creates, to be referenced by Triggers. + /// This is not necessary when a Trigger determines the JobDetail + /// itself: In this case, the JobDetail will be implicitly registered + /// in combination with the Trigger. + /// + /// + /// + /// + /// + /// + public virtual IJobDetail[] JobDetails + { + set + { + // Use modifiable ArrayList here, to allow for further adding of + // JobDetail objects during autodetection of JobDetailAwareTriggers. + jobDetails = new List(value); + } + } + + /// + /// Register a list of Quartz ICalendar objects with the Scheduler + /// that this FactoryObject creates, to be referenced by Triggers. + /// + /// Map with calendar names as keys as Calendar objects as values + /// + /// + public virtual IDictionary Calendars + { + set { calendars = value; } + } + + /// + /// Register a list of Trigger objects with the Scheduler that + /// this FactoryObject creates. + /// + /// + /// If the Trigger determines the corresponding JobDetail itself, + /// the job will be automatically registered with the Scheduler. + /// Else, the respective JobDetail needs to be registered via the + /// "jobDetails" property of this FactoryObject. + /// + /// + /// + /// + /// + /// + public virtual ITrigger[] Triggers + { + set { triggers = new ArrayList(value); } + } + + /// + /// Specify Quartz SchedulerListeners to be registered with the Scheduler. + /// + public virtual ISchedulerListener[] SchedulerListeners + { + set { schedulerListeners = value; } + } + + /// + /// Specify global Quartz JobListeners to be registered with the Scheduler. + /// Such JobListeners will apply to all Jobs in the Scheduler. + /// + public virtual IJobListener[] GlobalJobListeners + { + set { globalJobListeners = value; } + } + + /// + /// Specify named Quartz JobListeners to be registered with the Scheduler. + /// Such JobListeners will only apply to Jobs that explicitly activate + /// them via their name. + /// + /// + public virtual IJobListener[] JobListeners + { + set { jobListeners = value; } + } + + + /// + /// Specify global Quartz TriggerListeners to be registered with the Scheduler. + /// Such TriggerListeners will apply to all Triggers in the Scheduler. + /// + public virtual ITriggerListener[] GlobalTriggerListeners + { + set { globalTriggerListeners = value; } + } + + + /// + /// Specify named Quartz TriggerListeners to be registered with the Scheduler. + /// Such TriggerListeners will only apply to Triggers that explicitly activate + /// them via their name. + /// + /// + public virtual ITriggerListener[] TriggerListeners + { + set { triggerListeners = value; } + } + + + /// + /// Set the transaction manager to be used for registering jobs and triggers + /// that are defined by this SchedulerFactoryObject. Default is none; setting + /// this only makes sense when specifying a DataSource for the Scheduler. + /// + public virtual IPlatformTransactionManager TransactionManager + { + set { transactionManager = value; } + } + + /// + /// Sets the + /// that this object runs in. + /// + /// + /// + /// Invoked after population of normal objects properties but + /// before an init callback such as + /// 's + /// + /// or a custom init-method. Invoked before setting + /// 's + /// + /// property. + /// + public virtual IResourceLoader ResourceLoader + { + set { resourceLoader = value; } + } + + /// + /// Register jobs and triggers (within a transaction, if possible). + /// + protected virtual void RegisterJobsAndTriggers() + { + ITransactionStatus transactionStatus = null; + if (transactionManager != null) + { + transactionStatus = transactionManager.GetTransaction(new DefaultTransactionDefinition()); + } + try + { + if (jobSchedulingDataLocations != null) + { + XMLSchedulingDataProcessor dataProcessor = new XMLSchedulingDataProcessor(new SimpleTypeLoadHelper()); + dataProcessor.OverWriteExistingData = overwriteExistingJobs; + foreach (string location in jobSchedulingDataLocations) + { + dataProcessor.ProcessFileAndScheduleJobs(location, GetScheduler()); + } + } + + // Register JobDetails. + if (jobDetails != null) + { + foreach (IJobDetail jobDetail in jobDetails) + { + AddJobToScheduler(jobDetail); + } + } + else + { + // Create empty list for easier checks when registering triggers. + jobDetails = new LinkedList(); + } + + // Register Calendars. + if (calendars != null) + { + foreach (DictionaryEntry entry in calendars) + { + string calendarName = (string) entry.Key; + ICalendar calendar = (ICalendar) entry.Value; + GetScheduler().AddCalendar(calendarName, calendar, true, true); + } + } + + // Register Triggers. + if (triggers != null) + { + foreach (ITrigger trigger in triggers) + { + AddTriggerToScheduler(trigger); + } + } + } + + catch (Exception ex) + { + if (transactionStatus != null) + { + try + { + transactionManager.Rollback(transactionStatus); + } + catch (TransactionException) + { + logger.Error("Job registration exception overridden by rollback exception", ex); + throw; + } + } + if (ex is SchedulerException) + { + throw; + } + throw new SchedulerException("Registration of jobs and triggers failed: " + ex.Message); + } + + if (transactionStatus != null) + { + transactionManager.Commit(transactionStatus); + } + } + + /// + /// Add the given job to the Scheduler, if it doesn't already exist. + /// Overwrites the job in any case if "overwriteExistingJobs" is set. + /// + /// the job to add + /// true if the job was actually added, false if it already existed before + private bool AddJobToScheduler(IJobDetail jobDetail) + { + if (overwriteExistingJobs || GetScheduler().GetJobDetail(jobDetail.Key) == null) + { + GetScheduler().AddJob(jobDetail, true); + return true; + } + else + { + return false; + } + } + + /// + /// Add the given trigger to the Scheduler, if it doesn't already exist. + /// Overwrites the trigger in any case if "overwriteExistingJobs" is set. + /// + /// the trigger to add + /// true if the trigger was actually added, false if it already existed before + private bool AddTriggerToScheduler(ITrigger trigger) + { + bool triggerExists = (GetScheduler().GetTrigger(trigger.Key) != null); + if (!triggerExists || this.overwriteExistingJobs) + { + // Check if the Trigger is aware of an associated JobDetail. + if (trigger is IJobDetailAwareTrigger) + { + IJobDetail jobDetail = ((IJobDetailAwareTrigger) trigger).JobDetail; + // Automatically register the JobDetail too. + if (!jobDetails.Contains(jobDetail) && AddJobToScheduler(jobDetail)) + { + jobDetails.Add(jobDetail); + } + } + if (!triggerExists) + { + try + { + GetScheduler().ScheduleJob(trigger); + } + catch (ObjectAlreadyExistsException ex) + { + if (logger.IsDebugEnabled) + { + logger.Debug( + "Unexpectedly found existing trigger, assumably due to cluster race condition: " + + ex.Message + " - can safely be ignored"); + } + if (overwriteExistingJobs) + { + GetScheduler().RescheduleJob(trigger.Key, trigger); + } + } + } + else + { + GetScheduler().RescheduleJob(trigger.Key, trigger); + } + return true; + } + else + { + return false; + } + } + + + /// + /// Register all specified listeners with the Scheduler. + /// + protected virtual void RegisterListeners() + { + if (schedulerListeners != null) + { + for (int i = 0; i < schedulerListeners.Length; i++) + { + GetScheduler().ListenerManager.AddSchedulerListener(schedulerListeners[i]); + } + } + if (globalJobListeners != null) + { + foreach (IJobListener jobListener in globalJobListeners) + { + GetScheduler().ListenerManager.AddJobListener(jobListener); + } + } + if (jobListeners != null && jobListeners.Length > 0) + { + throw new InvalidOperationException("Non-global JobListeners not supported on Quartz 2 - " + + "manually register a Matcher against the Quartz ListenerManager instead"); + } + if (globalTriggerListeners != null) + { + foreach (ITriggerListener triggerListener in globalTriggerListeners) + { + GetScheduler().ListenerManager.AddTriggerListener(triggerListener); + } + } + if (triggerListeners != null && triggerListeners.Length > 0) + { + throw new InvalidOperationException("Non-global TriggerListeners not supported on Quartz 2 - " + + "manually register a Matcher against the Quartz ListenerManager instead"); + } + } + + /// + /// Template method that determines the Scheduler to operate on. + /// To be implemented by subclasses. + /// + /// + protected abstract IScheduler GetScheduler(); + } +} \ No newline at end of file diff --git a/src/Spring/Spring.Scheduling.Quartz20/Scheduling/Quartz/SimpleTriggerObject.cs b/src/Spring/Spring.Scheduling.Quartz20/Scheduling/Quartz/SimpleTriggerObject.cs new file mode 100644 index 00000000..cf171961 --- /dev/null +++ b/src/Spring/Spring.Scheduling.Quartz20/Scheduling/Quartz/SimpleTriggerObject.cs @@ -0,0 +1,215 @@ +/* +* Copyright 2002-2010 the original author or authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +using System; +using System.Collections; +using Quartz; +using Quartz.Impl.Triggers; +using Spring.Objects.Factory; +using Spring.Util; + +namespace Spring.Scheduling.Quartz +{ + /// + /// Convenience subclass of Quartz's + /// class, making properties based usage easier. + /// + /// + ///

+ /// SimpleTrigger itself is already a PONO but lacks sensible defaults. + /// This class uses the Spring object name as job name, the Quartz default group + /// ("DEFAULT") as job group, the current time as start time, and indefinite + /// repetition, if not specified. + ///

+ /// + ///

+ /// This class will also register the trigger with the job name and group of + /// a given . This allows + /// to automatically register a trigger for the corresponding JobDetail, + /// instead of registering the JobDetail separately. + ///

+ ///
+ /// Juergen Hoeller + /// + /// + /// + /// + /// + /// + /// + public class SimpleTriggerObject : SimpleTriggerImpl, IJobDetailAwareTrigger, IObjectNameAware, IInitializingObject + { + private TimeSpan startDelay = TimeSpan.Zero; + private IJobDetail jobDetail; + private string objectName; + private readonly Constants constants = new Constants(typeof(MisfireInstruction.SimpleTrigger), typeof(MisfireInstruction)); + + /// + /// Initializes a new instance of the class. + /// + public SimpleTriggerObject() + { + RepeatCount = RepeatIndefinitely; + } + + /// + /// Register objects in the JobDataMap via a given Map. + ///

+ /// These objects will be available to this Trigger only, + /// in contrast to objects in the JobDetail's data map. + ///

+ ///
+ /// + public virtual IDictionary JobDataAsMap + { + set + { + foreach (DictionaryEntry entry in value) + { + JobDataMap.Put((string) entry.Key, entry.Value); + } + } + } + + /// + /// Set the misfire instruction via the name of the corresponding + /// constant in the SimpleTrigger class. + /// Default is . + /// + /// + /// + /// + /// + /// + /// + public virtual string MisfireInstructionName + { + set { MisfireInstruction = constants.AsNumber(value); } + } + + /// + /// Set the delay before starting the job for the first time. + /// The given time span will be added to the current + /// time to calculate the start time. Default is . + /// + /// + /// This delay will just be applied if no custom start time was + /// specified. However, in typical usage within a Spring context, + /// the start time will be the container startup time anyway. + /// Specifying a relative delay is appropriate in that case. + /// + /// + public virtual TimeSpan StartDelay + { + set + { + AssertUtils.State(value > TimeSpan.Zero, "Start delay cannot be negative."); + startDelay = value; + } + get { return startDelay; } + } + + /// + /// Set the name of the object in the object factory that created this object. + /// + /// The name of the object in the factory. + /// + ///

+ /// Invoked after population of normal object properties but before an init + /// callback like 's + /// + /// method or a custom init-method. + ///

+ ///
+ public virtual string ObjectName + { + set { objectName = value; } + } + + /// + /// Set the JobDetail that this trigger should be associated with. + ///

+ /// This is typically used with a object reference if the JobDetail + /// is a Spring-managed object. Alternatively, the trigger can also + /// be associated with a job by name and group. + ///

+ ///
+ public virtual IJobDetail JobDetail + { + get { return jobDetail; } + set { jobDetail = value; } + } + + + /// + /// Invoked by an + /// after it has injected all of an object's dependencies. + /// + /// + ///

+ /// This method allows the object instance to perform the kind of + /// initialization only possible when all of it's dependencies have + /// been injected (set), and to throw an appropriate exception in the + /// event of misconfiguration. + ///

+ ///

+ /// Please do consult the class level documentation for the + /// interface for a + /// description of exactly when this method is invoked. In + /// particular, it is worth noting that the + /// + /// and + /// callbacks will have been invoked prior to this method being + /// called. + ///

+ ///
+ /// + /// In the event of misconfiguration (such as the failure to set a + /// required property) or if initialization fails. + /// + public virtual void AfterPropertiesSet() + { +#if QUARTZ_2_0 + if (StartTimeUtc == DateTimeOffset.MinValue) + { + StartTimeUtc = DateTimeOffset.UtcNow; + } +#else + if (StartTimeUtc == DateTime.MinValue) + { + StartTimeUtc = DateTime.UtcNow; + } +#endif + if (StartDelay > TimeSpan.Zero) + { + StartTimeUtc = DateTime.UtcNow.Add(startDelay); + } + + if (Name == null) + { + Name = objectName; + } + if (Group == null) + { + Group = SchedulerConstants.DefaultGroup; + } + if (jobDetail != null) + { + JobName = jobDetail.Key.Name; + JobGroup = jobDetail.Key.Group; + } + } + } +} \ No newline at end of file diff --git a/src/Spring/Spring.Scheduling.Quartz20/Scheduling/Quartz/StatefulMethodInvokingJob.cs b/src/Spring/Spring.Scheduling.Quartz20/Scheduling/Quartz/StatefulMethodInvokingJob.cs new file mode 100644 index 00000000..6885337f --- /dev/null +++ b/src/Spring/Spring.Scheduling.Quartz20/Scheduling/Quartz/StatefulMethodInvokingJob.cs @@ -0,0 +1,33 @@ +/* +* Copyright 2002-2010 the original author or authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +using Quartz; + +namespace Spring.Scheduling.Quartz +{ + /// + /// Extension of the MethodInvokingJob, implementing the StatefulJob interface. + /// Quartz checks whether or not jobs are stateful and if so, + /// won't let jobs interfere with each other. + /// + [DisallowConcurrentExecution] + [PersistJobDataAfterExecution] + public class StatefulMethodInvokingJob : MethodInvokingJob + { + // No implementation, just an addition of the tag interface StatefulJob + // in order to allow stateful method invoking jobs. + } +} diff --git a/src/Spring/Spring.Scheduling.Quartz20/Spring.Scheduling.Quartz20.2008.csproj b/src/Spring/Spring.Scheduling.Quartz20/Spring.Scheduling.Quartz20.2008.csproj new file mode 100644 index 00000000..b3c68544 --- /dev/null +++ b/src/Spring/Spring.Scheduling.Quartz20/Spring.Scheduling.Quartz20.2008.csproj @@ -0,0 +1,136 @@ + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {764C3A6A-8690-49DD-B9AF-99E7C09AE4F0} + Library + Properties + Spring + Spring.Scheduling.Quartz20 + v3.5 + + + true + full + false + ..\..\..\build\VS.NET.2008\Spring.Scheduling.Quartz20\Debug\ + TRACE;DEBUG;NET_2_0,QUARTZ_2_0 + prompt + 4 + ..\..\..\build\VS.NET.2008\Spring.Scheduling.Quartz\Debug\Spring.Scheduling.Quartz20.XML + true + + + pdbonly + true + ..\..\..\build\VS.NET.2008\Spring.Scheduling.Quartz20\Release\ + TRACE;NET_2_0 + prompt + 4 + + + + False + ..\..\..\lib\Quartz20\net\3.5\C5.dll + + + False + ..\..\..\lib\Net\2.0\Common.Logging.dll + + + False + ..\..\..\lib\Quartz20\net\3.5\Quartz.dll + + + + 3.5 + C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5\System.Core.dll + + + + + + JobMethodInvocationFailedException.cs + + + Scheduling\Quartz\AdaptableJobFactory.cs + + + Scheduling\Quartz\DelegatingJob.cs + + + Scheduling\Quartz\IJobDetailAwareTrigger.cs + + + Scheduling\Quartz\ISchedulerContextAware.cs + + + Scheduling\Quartz\ISchedulingTaskExecutor.cs + + + Scheduling\Quartz\ITaskExecutor.cs + + + Scheduling\Quartz\LocalDataSourceJobStore.cs + + + Scheduling\Quartz\LocalTaskExecutorThreadPool.cs + + + Scheduling\Quartz\MethodInvokingJob.cs + + + Scheduling\Quartz\MethodInvokingRunnable.cs + + + Scheduling\Quartz\QuartzJobObject.cs + + + Scheduling\Quartz\SchedulerAccessorObject.cs + + + Scheduling\Quartz\SchedulerFactoryObject.cs + + + Scheduling\Quartz\SchedulingException.cs + + + Scheduling\Quartz\SimpleThreadPoolTaskExecutor.cs + + + Scheduling\Quartz\SpringDbProviderAdapter.cs + + + Scheduling\Quartz\SpringObjectJobFactory.cs + + + Scheduling\Quartz\TaskRejectedException.cs + + + + + + + + + + + {710961A3-0DF4-49E4-A26E-F5B9C044AC84} + Spring.Core.2008 + + + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} + Spring.Data.2008 + + + + + \ No newline at end of file diff --git a/src/Spring/Spring.Scheduling.Quartz20/Spring.Scheduling.Quartz20.2010.csproj b/src/Spring/Spring.Scheduling.Quartz20/Spring.Scheduling.Quartz20.2010.csproj new file mode 100644 index 00000000..ee69946e --- /dev/null +++ b/src/Spring/Spring.Scheduling.Quartz20/Spring.Scheduling.Quartz20.2010.csproj @@ -0,0 +1,134 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {E823D54C-CE82-4868-929F-5F95A999F123} + Library + Properties + Spring + Spring.Scheduling.Quartz20 + v3.5 + + + 3.5 + + + + + true + full + false + ..\..\..\build\VS.NET.2010\Spring.Scheduling.Quartz20\Debug\ + TRACE;DEBUG;NET_2_0,QUARTZ_2_0 + prompt + 4 + ..\..\..\build\VS.NET.2010\Spring.Scheduling.Quartz20\Debug\Spring.Scheduling.Quartz20.XML + true + + + pdbonly + true + ..\..\..\build\VS.NET.2010\Spring.Scheduling.Quartz20\Release\ + TRACE;NET_2_0 + prompt + 4 + + + + ..\..\..\lib\Quartz20\net\3.5\C5.dll + + + False + ..\..\..\lib\net\2.0\Common.Logging.dll + + + ..\..\..\lib\Quartz20\net\3.5\Quartz.dll + + + + + + + Scheduling\Quartz\AdaptableJobFactory.cs + + + Scheduling\Quartz\DelegatingJob.cs + + + Scheduling\Quartz\IJobDetailAwareTrigger.cs + + + Scheduling\Quartz\ISchedulerContextAware.cs + + + Scheduling\Quartz\ISchedulingTaskExecutor.cs + + + Scheduling\Quartz\ITaskExecutor.cs + + + Scheduling\Quartz\LocalDataSourceJobStore.cs + + + Scheduling\Quartz\LocalTaskExecutorThreadPool.cs + + + Scheduling\Quartz\MethodInvokingJob.cs + + + Scheduling\Quartz\MethodInvokingRunnable.cs + + + Scheduling\Quartz\QuartzJobObject.cs + + + Scheduling\Quartz\SchedulerAccessorObject.cs + + + Scheduling\Quartz\SchedulerFactoryObject.cs + + + Scheduling\Quartz\SchedulingException.cs + + + Scheduling\Quartz\SimpleThreadPoolTaskExecutor.cs + + + Scheduling\Quartz\SpringDbProviderAdapter.cs + + + Scheduling\Quartz\SpringObjectJobFactory.cs + + + Scheduling\Quartz\TaskRejectedException.cs + + + + + + + + + + + + {710961A3-0DF4-49E4-A26E-F5B9C044AC84} + Spring.Core.2010 + + + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} + Spring.Data.2010 + + + + + \ No newline at end of file diff --git a/src/Spring/Spring.Scheduling.Quartz20/Spring.Scheduling.Quartz20.build b/src/Spring/Spring.Scheduling.Quartz20/Spring.Scheduling.Quartz20.build new file mode 100644 index 00000000..e8fed0d8 --- /dev/null +++ b/src/Spring/Spring.Scheduling.Quartz20/Spring.Scheduling.Quartz20.build @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Spring/Spring.Scheduling.Quartz20/Spring.Scheduling.Quartz20.nuspec b/src/Spring/Spring.Scheduling.Quartz20/Spring.Scheduling.Quartz20.nuspec new file mode 100644 index 00000000..de707030 --- /dev/null +++ b/src/Spring/Spring.Scheduling.Quartz20/Spring.Scheduling.Quartz20.nuspec @@ -0,0 +1,30 @@ + + + + Spring.Scheduling.Quartz20 + http://www.springframework.net/ + http://www.springframework.net/license.html + http://springframework.net/images/SpringSource_Leaves32x32.png + 0.0.0 + + SpringSource + Spring.NET Integration with the Quartz Scheduling Library 2.0 + + + en-US + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/Spring/Spring.Scheduling.Quartz.Integration.Tests/Spring.Scheduling.Quartz.Integration.Tests.2008.csproj b/test/Spring/Spring.Scheduling.Quartz.Integration.Tests/Spring.Scheduling.Quartz.Integration.Tests.2008.csproj index f5076ffe..1f8479c1 100644 --- a/test/Spring/Spring.Scheduling.Quartz.Integration.Tests/Spring.Scheduling.Quartz.Integration.Tests.2008.csproj +++ b/test/Spring/Spring.Scheduling.Quartz.Integration.Tests/Spring.Scheduling.Quartz.Integration.Tests.2008.csproj @@ -2,7 +2,7 @@ Debug AnyCPU - 9.0.21022 + 9.0.30729 2.0 {E4328F68-C3FC-43E2-9D63-30CEC55215B0} Library @@ -33,9 +33,9 @@ False ..\..\..\lib\net\2.0\nunit.framework.dll - + False - ..\..\..\lib\net\2.0\Quartz.dll + ..\..\..\lib\Quartz10\net\2.0\Quartz.dll False diff --git a/test/Spring/Spring.Scheduling.Quartz.Integration.Tests/Spring.Scheduling.Quartz.Integration.Tests.2010.csproj b/test/Spring/Spring.Scheduling.Quartz.Integration.Tests/Spring.Scheduling.Quartz.Integration.Tests.2010.csproj new file mode 100644 index 00000000..0f791206 --- /dev/null +++ b/test/Spring/Spring.Scheduling.Quartz.Integration.Tests/Spring.Scheduling.Quartz.Integration.Tests.2010.csproj @@ -0,0 +1,91 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {E4328F68-C3FC-43E2-9D63-30CEC55215B0} + Library + Properties + Spring + Spring.Scheduling.Quartz.Integration.Tests + v3.5 + + + 3.5 + + + + true + full + false + ..\..\..\build\VS.NET.2008\Spring.Scheduling.Quartz.Integration.Tests\Debug\ + TRACE;DEBUG;NET_2_0;NET_3_5 + prompt + 4 + + + pdbonly + true + ..\..\..\build\VS.NET.2008\Spring.Scheduling.Quartz.Integration.Tests\Release\ + TRACE;NET_2_0;NET_3_5 + prompt + 4 + + + + False + ..\..\..\lib\net\2.0\nunit.framework.dll + + + False + ..\..\..\lib\Quartz10\net\2.0\Quartz.dll + + + False + ..\..\..\lib\Net\2.0\Rhino.Mocks.dll + + + + 3.5 + + + + + + + PreserveNewest + Designer + + + + + + + + + + + + {710961A3-0DF4-49E4-A26E-F5B9C044AC84} + Spring.Core.2010 + + + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} + Spring.Data.2010 + + + {E823D54C-CE82-4868-929F-5F95A999F61E} + Spring.Scheduling.Quartz.2010 + + + + + \ No newline at end of file diff --git a/test/Spring/Spring.Scheduling.Quartz.Integration.Tests/Spring.Scheduling.Quartz.Integration.Tests.dll.config b/test/Spring/Spring.Scheduling.Quartz.Integration.Tests/Spring.Scheduling.Quartz.Integration.Tests.dll.config index bad5ea5e..1ad9b047 100644 --- a/test/Spring/Spring.Scheduling.Quartz.Integration.Tests/Spring.Scheduling.Quartz.Integration.Tests.dll.config +++ b/test/Spring/Spring.Scheduling.Quartz.Integration.Tests/Spring.Scheduling.Quartz.Integration.Tests.dll.config @@ -44,8 +44,8 @@ - + diff --git a/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/AdaptableJobFactoryTest.cs b/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/AdaptableJobFactoryTest.cs index f2e04eb9..b4012336 100644 --- a/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/AdaptableJobFactoryTest.cs +++ b/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/AdaptableJobFactoryTest.cs @@ -14,15 +14,11 @@ * limitations under the License. */ using System; - using NUnit.Framework; - using Quartz; using Quartz.Job; using Quartz.Spi; -using Spring.Scheduling.Quartz; - namespace Spring.Scheduling.Quartz { /// @@ -52,8 +48,12 @@ namespace Spring.Scheduling.Quartz try { // this actually fails already in Quartz level - TriggerFiredBundle bundle = TestUtil.CreateMinimalFiredBundleWithTypedJobDetail(typeof(object)); + TriggerFiredBundle bundle = TestUtil.CreateMinimalFiredBundleWithTypedJobDetail(typeof (object)); +#if QUARTZ_2_0 + jobFactory.NewJob(bundle, null); +#else jobFactory.NewJob(bundle); +#endif Assert.Fail("Created job which was not an IJob"); } catch (ArgumentException) @@ -85,14 +85,15 @@ namespace Spring.Scheduling.Quartz [Test] public void TestNewJob_NormalIJob() { - TriggerFiredBundle bundle = TestUtil.CreateMinimalFiredBundleWithTypedJobDetail(typeof(NoOpJob)); + TriggerFiredBundle bundle = TestUtil.CreateMinimalFiredBundleWithTypedJobDetail(typeof (NoOpJob)); +#if QUARTZ_2_0 + IJob job = jobFactory.NewJob(bundle, null); +#else IJob job = jobFactory.NewJob(bundle); +#endif + Assert.IsNotNull(job, "Returned job was null"); } - - - - } internal class NoOpThreadStartJob : NoOpJob diff --git a/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/CronTriggerObjectTest.cs b/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/CronTriggerObjectTest.cs index d3014939..bcb5e038 100644 --- a/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/CronTriggerObjectTest.cs +++ b/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/CronTriggerObjectTest.cs @@ -16,12 +16,16 @@ using System; using System.Collections; - +using System.Collections.Generic; using NUnit.Framework; using Quartz; using Quartz.Job; +#if QUARTZ_2_0 +using JobDetail = Quartz.Impl.JobDetailImpl; +#endif + namespace Spring.Scheduling.Quartz { /// @@ -79,7 +83,7 @@ namespace Spring.Scheduling.Quartz [Test] public void TestJobDataAsMap() { - Hashtable data = new Hashtable(); + IDictionary data = new Dictionary(); data["foo"] = "bar"; data["number"] = 123; cronTrigger.JobDataAsMap = data; diff --git a/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/MethodInvokingJobDetailFactoryObjectTest.cs b/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/MethodInvokingJobDetailFactoryObjectTest.cs index 277dde0f..4cafd967 100644 --- a/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/MethodInvokingJobDetailFactoryObjectTest.cs +++ b/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/MethodInvokingJobDetailFactoryObjectTest.cs @@ -18,6 +18,10 @@ using NUnit.Framework; using Quartz; +#if QUARTZ_2_0 +using JobDetail = Quartz.Impl.JobDetailImpl; +#endif + namespace Spring.Scheduling.Quartz { /// @@ -54,7 +58,9 @@ namespace Spring.Scheduling.Quartz Assert.AreEqual(FACTORY_NAME, jd.Name, "job name did not default to factory name"); Assert.AreEqual(jd.JobType, typeof(MethodInvokingJob), "factory did not create method invoking job"); Assert.IsTrue(jd.Durable, "job was not durable"); +#if !QUARTZ_2_0 Assert.IsTrue(jd.Volatile, "job was not volatile"); +#endif } /// @@ -70,6 +76,7 @@ namespace Spring.Scheduling.Quartz Assert.AreEqual(jd.JobType, typeof(StatefulMethodInvokingJob), "factory did not create stateful method invoking job"); } +#if !QUARTZ_2_0 /// /// Tests JobDetail retrieval and it's set properties. /// @@ -82,6 +89,7 @@ namespace Spring.Scheduling.Quartz JobDetail jd = (JobDetail)factory.GetObject(); CollectionAssert.AreEquivalent(LISTENER_NAMES, jd.JobListenerNames); } +#endif } } diff --git a/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/MethodInvokingJobTest.cs b/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/MethodInvokingJobTest.cs index 5212668f..8c56f6a1 100644 --- a/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/MethodInvokingJobTest.cs +++ b/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/MethodInvokingJobTest.cs @@ -27,6 +27,12 @@ using Rhino.Mocks; using Spring.Objects.Support; +#if QUARTZ_2_0 +using JobExecutionContext = Quartz.Impl.JobExecutionContextImpl; +using JobDetail = Quartz.Impl.JobDetailImpl; +using SimpleTrigger = Quartz.Impl.Triggers.SimpleTriggerImpl; +#endif + namespace Spring.Scheduling.Quartz { /// diff --git a/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/QuartzSupportTests.cs b/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/QuartzSupportTests.cs index 85f42134..f7dda1f4 100644 --- a/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/QuartzSupportTests.cs +++ b/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/QuartzSupportTests.cs @@ -30,6 +30,14 @@ using Spring.Context.Support; using Spring.Objects; using Spring.Objects.Factory.Support; +#if QUARTZ_2_0 +using CronTrigger = Quartz.Impl.Triggers.CronTriggerImpl; +using JobExecutionContext = Quartz.IJobExecutionContext; +using JobDetail = Quartz.Impl.JobDetailImpl; +using SimpleTrigger = Quartz.Impl.Triggers.SimpleTriggerImpl; +using Trigger = Quartz.ITrigger; +#endif + namespace Spring.Scheduling.Quartz { /// @@ -41,17 +49,6 @@ namespace Spring.Scheduling.Quartz [TestFixture] public class QuartzSupportTests { - private MockRepository mockery; - - /// - /// Test setup. - /// - [SetUp] - public void SetUp() - { - mockery = new MockRepository(); - } - /// /// Executes parametrized test. /// @@ -123,28 +120,10 @@ namespace Spring.Scheduling.Quartz trigger1.RepeatInterval = TimeSpan.FromMilliseconds(20); trigger1.AfterPropertiesSet(); - IScheduler scheduler = (IScheduler) mockery.CreateMock(typeof (IScheduler)); + IScheduler scheduler = MockRepository.GenerateMock(); - Expect.Call(scheduler.Context).Return(new SchedulerContext()); - Expect.Call(scheduler.GetJobDetail("myJob0", SchedulerConstants.DefaultGroup)).Return(null); - Expect.Call(scheduler.GetJobDetail("myJob1", SchedulerConstants.DefaultGroup)).Return(null); - Expect.Call(scheduler.GetTrigger("myTrigger0", SchedulerConstants.DefaultGroup)).Return(null); - Expect.Call(scheduler.GetTrigger("myTrigger1", SchedulerConstants.DefaultGroup)).Return(null); + scheduler.Stub(x => x.Context).Return(new SchedulerContext()); - scheduler.AddJob(jobDetail0, true); - LastCall.IgnoreArguments(); - Expect.Call(scheduler.ScheduleJob(trigger0)).Return(DateTime.UtcNow); - scheduler.AddJob(jobDetail1, true); - LastCall.IgnoreArguments(); - Expect.Call(scheduler.ScheduleJob(trigger1)).Return(DateTime.UtcNow); - scheduler.Start(); - LastCall.IgnoreArguments(); - scheduler.Shutdown(false); - LastCall.IgnoreArguments(); - - - mockery.ReplayAll(); - SchedulerFactoryObject schedulerFactoryObject = new TestSchedulerFactoryObject(scheduler); schedulerFactoryObject.JobFactory = (null); IDictionary schedulerContext = new Hashtable(); @@ -165,7 +144,14 @@ namespace Spring.Scheduling.Quartz schedulerFactoryObject.Dispose(); } - mockery.VerifyAll(); + scheduler.AssertWasCalled(x => x.ScheduleJob(trigger0)); + scheduler.AssertWasCalled(x => x.ScheduleJob(trigger1)); + + scheduler.AssertWasCalled(x => x.AddJob(jobDetail0, true)); + scheduler.AssertWasCalled(x => x.AddJob(jobDetail1, true)); + + scheduler.AssertWasCalled(x => x.Start()); + scheduler.AssertWasCalled(x => x.Shutdown(false)); } /// @@ -219,28 +205,21 @@ namespace Spring.Scheduling.Quartz trigger1.RepeatInterval = TimeSpan.FromMilliseconds(20); trigger1.AfterPropertiesSet(); - IScheduler scheduler = (IScheduler) mockery.CreateMock(typeof (IScheduler)); - Expect.Call(scheduler.Context).Return(new SchedulerContext()); - Expect.Call(scheduler.GetTrigger("myTrigger0", SchedulerConstants.DefaultGroup)).Return(null); - Expect.Call(scheduler.GetTrigger("myTrigger1", SchedulerConstants.DefaultGroup)).Return(new SimpleTrigger()); + IScheduler scheduler = MockRepository.GenerateMock(); + scheduler.Stub(x => x.Context).Return(new SchedulerContext()); +#if QUARTZ_2_0 + scheduler.Stub(x => x.GetTrigger(new TriggerKey("myTrigger1", SchedulerConstants.DefaultGroup))).Return(new SimpleTrigger()); +#else + scheduler.Stub(x => x.GetTrigger("myTrigger1", SchedulerConstants.DefaultGroup)).Return(new SimpleTrigger()); +#endif if (overwrite) { - scheduler.AddJob(jobDetail1, true); - LastCall.IgnoreArguments(); - Expect.Call(scheduler.RescheduleJob("myTrigger1", SchedulerConstants.DefaultGroup, trigger1)).Return( - DateTime.UtcNow); +#if QUARTZ_2_0 + scheduler.Stub(x => x.RescheduleJob(new TriggerKey("myTrigger1", SchedulerConstants.DefaultGroup), trigger1)).Return(DateTime.UtcNow); +#else + scheduler.Stub(x => x.RescheduleJob("myTrigger1", SchedulerConstants.DefaultGroup, trigger1)).Return(DateTime.UtcNow); +#endif } - else - { - Expect.Call(scheduler.GetJobDetail("myJob0", SchedulerConstants.DefaultGroup)).Return(null); - } - scheduler.AddJob(jobDetail0, true); - LastCall.IgnoreArguments(); - Expect.Call(scheduler.ScheduleJob(trigger0)).Return(DateTime.UtcNow); - scheduler.Start(); - scheduler.Shutdown(false); - - mockery.ReplayAll(); SchedulerFactoryObject schedulerFactoryObject = new TestSchedulerFactoryObject(scheduler); schedulerFactoryObject.JobFactory = (null); @@ -262,7 +241,10 @@ namespace Spring.Scheduling.Quartz schedulerFactoryObject.Dispose(); } - mockery.VerifyAll(); + scheduler.AssertWasCalled(x => x.AddJob(jobDetail0, true)); + scheduler.AssertWasCalled(x => x.ScheduleJob(trigger0)); + scheduler.AssertWasCalled(x => x.Start()); + scheduler.AssertWasCalled(x => x.Shutdown(false)); } /// @@ -316,37 +298,37 @@ namespace Spring.Scheduling.Quartz trigger1.RepeatInterval = TimeSpan.FromMilliseconds(20); trigger1.AfterPropertiesSet(); - IScheduler scheduler = (IScheduler) mockery.CreateMock(typeof (IScheduler)); - Expect.Call(scheduler.Context).Return(new SchedulerContext()); - Expect.Call(scheduler.GetTrigger("myTrigger0", SchedulerConstants.DefaultGroup)).Return(null); - Expect.Call(scheduler.GetTrigger("myTrigger1", SchedulerConstants.DefaultGroup)).Return(new SimpleTrigger()); + IScheduler scheduler = MockRepository.GenerateMock(); + scheduler.Stub(x => x.Context).Return(new SchedulerContext()); +#if QUARTZ_2_0 + scheduler.Stub(x => x.GetTrigger(new TriggerKey("myTrigger1", SchedulerConstants.DefaultGroup))).Return(new SimpleTrigger()); +#else + scheduler.Stub(x => x.GetTrigger("myTrigger1", SchedulerConstants.DefaultGroup)).Return(new SimpleTrigger()); +#endif if (overwrite) { scheduler.AddJob(jobDetail1, true); - LastCall.IgnoreArguments(); - Expect.Call(scheduler.RescheduleJob("myTrigger1", SchedulerConstants.DefaultGroup, trigger1)).Return( - DateTime.UtcNow); - } - else - { - Expect.Call(scheduler.GetJobDetail("myJob0", SchedulerConstants.DefaultGroup)).Return(null); +#if QUARTZ_2_0 + scheduler.Stub(x => x.RescheduleJob(new TriggerKey("myTrigger1", SchedulerConstants.DefaultGroup), trigger1)).Return(DateTime.UtcNow); +#else + scheduler.Stub(x => x.RescheduleJob("myTrigger1", SchedulerConstants.DefaultGroup, trigger1)).Return(DateTime.UtcNow); +#endif } - scheduler.AddJob(jobDetail0, true); - LastCall.IgnoreArguments(); + scheduler.Stub(x => x.ScheduleJob(trigger0)).Throw(new ObjectAlreadyExistsException("")); - Expect.Call(scheduler.ScheduleJob(trigger0)).Throw(new ObjectAlreadyExistsException("")); if (overwrite) { - Expect.Call(scheduler.RescheduleJob("myTrigger0", SchedulerConstants.DefaultGroup, trigger0)).Return( - DateTime.UtcNow); +#if QUARTZ_2_0 + scheduler.Stub(x => x.RescheduleJob(new TriggerKey("myTrigger0", SchedulerConstants.DefaultGroup), trigger0)).Return(DateTime.UtcNow); +#else + scheduler.Stub(x => x.RescheduleJob("myTrigger0", SchedulerConstants.DefaultGroup, trigger0)).Return(DateTime.UtcNow); +#endif } scheduler.Start(); scheduler.Shutdown(false); - mockery.ReplayAll(); - SchedulerFactoryObject schedulerFactoryObject = new TestSchedulerFactoryObject(scheduler); schedulerFactoryObject.JobFactory = (null); @@ -368,9 +350,11 @@ namespace Spring.Scheduling.Quartz schedulerFactoryObject.Dispose(); } - mockery.VerifyAll(); + scheduler.AssertWasCalled(x => x.AddJob(jobDetail0, true)); + } +#if !QUARTZ_2_0 /// /// [Test] @@ -378,7 +362,7 @@ namespace Spring.Scheduling.Quartz { IJobFactory jobFactory = new AdaptableJobFactory(); - IScheduler scheduler = (IScheduler) mockery.CreateMock(typeof (IScheduler)); + IScheduler scheduler = MockRepository.GenerateMock(); ISchedulerListener schedulerListener = new TestSchedulerListener(); IJobListener globalJobListener = new TestJobListener(); @@ -395,8 +379,6 @@ namespace Spring.Scheduling.Quartz scheduler.Start(); scheduler.Shutdown(false); - mockery.ReplayAll(); - SchedulerFactoryObject schedulerFactoryObject = new TestSchedulerFactoryObject(scheduler); schedulerFactoryObject.JobFactory = (jobFactory); @@ -414,10 +396,9 @@ namespace Spring.Scheduling.Quartz { schedulerFactoryObject.Dispose(); } - - mockery.VerifyAll(); } +#endif /*public void TestMethodInvocationWithConcurrency() { methodInvokingConcurrency(true); }*/ @@ -549,23 +530,8 @@ namespace Spring.Scheduling.Quartz trigger1.RepeatCount = (SimpleTrigger.RepeatIndefinitely); trigger1.RepeatInterval = TimeSpan.FromMilliseconds(20); - IScheduler scheduler = (IScheduler) mockery.CreateMock(typeof (IScheduler)); - Expect.Call(scheduler.JobFactory = (jobFactory)); - Expect.Call(scheduler.GetJobDetail("myJob0", SchedulerConstants.DefaultGroup)).Return(null); - Expect.Call(scheduler.GetJobDetail("myJob1", SchedulerConstants.DefaultGroup)).Return(null); - Expect.Call(scheduler.GetTrigger("myTrigger0", SchedulerConstants.DefaultGroup)).Return(null); - Expect.Call(scheduler.GetTrigger("myTrigger1", SchedulerConstants.DefaultGroup)).Return(null); - scheduler.AddJob(jobDetail0, true); - LastCall.IgnoreArguments(); - scheduler.AddJob(jobDetail1, true); - LastCall.IgnoreArguments(); - Expect.Call(scheduler.ScheduleJob(trigger0)).Return(DateTime.UtcNow); - Expect.Call(scheduler.ScheduleJob(trigger1)).Return(DateTime.UtcNow); - scheduler.Start(); - scheduler.Shutdown(false); - - mockery.ReplayAll(); - + IScheduler scheduler = MockRepository.GenerateMock(); + SchedulerFactoryObject schedulerFactoryObject = new TestSchedulerFactoryObject(scheduler); schedulerFactoryObject.JobFactory = (jobFactory); @@ -581,7 +547,20 @@ namespace Spring.Scheduling.Quartz schedulerFactoryObject.Dispose(); } - mockery.VerifyAll(); + scheduler.AssertWasCalled(x => x.JobFactory = jobFactory); + scheduler.AssertWasCalled(x => x.AddJob(jobDetail0, true)); + scheduler.AssertWasCalled(x => x.AddJob(jobDetail1, true)); +#if QUARTZ_2_0 + scheduler.AssertWasCalled(x => x.GetJobDetail(new JobKey("myJob0", SchedulerConstants.DefaultGroup))); + scheduler.AssertWasCalled(x => x.GetJobDetail(new JobKey("myJob1", SchedulerConstants.DefaultGroup))); + scheduler.AssertWasCalled(x => x.GetTrigger(new TriggerKey("myTrigger0", SchedulerConstants.DefaultGroup))); + scheduler.AssertWasCalled(x => x.GetTrigger(new TriggerKey("myTrigger1", SchedulerConstants.DefaultGroup))); +#else + scheduler.AssertWasCalled(x => x.GetJobDetail("myJob0", SchedulerConstants.DefaultGroup)); + scheduler.AssertWasCalled(x => x.GetJobDetail("myJob1", SchedulerConstants.DefaultGroup)); + scheduler.AssertWasCalled(x => x.GetTrigger("myTrigger0", SchedulerConstants.DefaultGroup)); + scheduler.AssertWasCalled(x => x.GetTrigger("myTrigger1", SchedulerConstants.DefaultGroup)); +#endif } /// @@ -592,13 +571,9 @@ namespace Spring.Scheduling.Quartz TestObject tb = new TestObject("tb", 99); StaticApplicationContext ac = new StaticApplicationContext(); - IScheduler scheduler = (IScheduler) mockery.CreateMock(typeof (IScheduler)); + IScheduler scheduler = MockRepository.GenerateMock(); SchedulerContext schedulerContext = new SchedulerContext(); - Expect.Call(scheduler.Context).Return(schedulerContext).Repeat.Times(4); - scheduler.Start(); - scheduler.Shutdown(false); - - mockery.ReplayAll(); + scheduler.Stub(x => x.Context).Return(schedulerContext).Repeat.Times(4); SchedulerFactoryObject schedulerFactoryObject = new TestSchedulerFactoryObject(scheduler); schedulerFactoryObject.JobFactory = (null); @@ -619,8 +594,6 @@ namespace Spring.Scheduling.Quartz { schedulerFactoryObject.Dispose(); } - - mockery.VerifyAll(); } /// @@ -645,6 +618,7 @@ namespace Spring.Scheduling.Quartz Assert.AreEqual(ac, jobDetail.JobDataMap.Get("appCtx")); } +#if !QUARTZ_2_0 /// /// [Test] @@ -699,7 +673,7 @@ namespace Spring.Scheduling.Quartz ArrayList result = new ArrayList(trigger.TriggerListenerNames); Assert.AreEqual(names, result); } - +#endif /// /// [Test] @@ -744,23 +718,23 @@ namespace Spring.Scheduling.Quartz JobDetail jobDetail = new JobDetailObject(); jobDetail.JobType = typeof (DummyRunnable); - jobDetail.Name = ("myJob"); + jobDetail.Name = "myJob"; SimpleTriggerObject trigger = new SimpleTriggerObject(); - trigger.Name = ("myTrigger"); - trigger.JobDetail = (jobDetail); + trigger.Name = "myTrigger"; + trigger.JobDetail = jobDetail; trigger.StartDelay = TimeSpan.FromMilliseconds(1); trigger.RepeatInterval = TimeSpan.FromMilliseconds(500); - trigger.RepeatCount = (1); + trigger.RepeatCount = 1; trigger.AfterPropertiesSet(); SchedulerFactoryObject factoryObject = new SchedulerFactoryObject(); - factoryObject.Triggers = (new Trigger[] {trigger}); - factoryObject.JobDetails = (new JobDetail[] {jobDetail}); + factoryObject.Triggers = new Trigger[] {trigger}; + factoryObject.JobDetails = new JobDetail[] {jobDetail}; factoryObject.AfterPropertiesSet(); factoryObject.Start(); - Thread.Sleep(500); + DummyRunnable.runEvent.WaitOne(500); Assert.IsTrue(DummyRunnable.count > 0); factoryObject.Dispose(); @@ -901,7 +875,7 @@ namespace Spring.Scheduling.Quartz factoryObject.AfterPropertiesSet(); factoryObject.Start(); - Thread.Sleep(500); + DummyRunnable.runEvent.WaitOne(500); Assert.AreEqual(10, DummyRunnable.param); Assert.IsTrue(DummyRunnable.count > 0); @@ -953,8 +927,8 @@ namespace Spring.Scheduling.Quartz DummyJob.count = 0; SchedulerFactoryObject factoryObject = new SchedulerFactoryObject(); - factoryObject.JobFactory = (new SpringObjectJobFactory()); - factoryObject.JobSchedulingDataLocation = ("job-scheduling-data.xml"); + factoryObject.JobFactory = new SpringObjectJobFactory(); + factoryObject.JobSchedulingDataLocation = "job-scheduling-data.xml"; // TODO bean.ResourceLoader = (new FileSystemResourceLoader()); factoryObject.AfterPropertiesSet(); factoryObject.Start(); @@ -1091,6 +1065,87 @@ namespace Spring.Scheduling.Quartz } +#if QUARTZ_2_0 + private class TestSchedulerListener : ISchedulerListener + { + public void JobScheduled(ITrigger trigger) + { + } + + public void JobUnscheduled(TriggerKey triggerKey) + { + } + + public void TriggerFinalized(ITrigger trigger) + { + } + + public void TriggerPaused(TriggerKey triggerKey) + { + } + + public void TriggersPaused(string triggerGroup) + { + } + + public void TriggerResumed(TriggerKey triggerKey) + { + } + + public void TriggersResumed(string triggerGroup) + { + } + + public void JobAdded(IJobDetail jobDetail) + { + } + + public void JobDeleted(JobKey jobKey) + { + } + + public void JobPaused(JobKey jobKey) + { + } + + public void JobsPaused(string jobGroup) + { + } + + public void JobResumed(JobKey jobKey) + { + } + + public void JobsResumed(string jobGroup) + { + } + + public void SchedulerError(string msg, SchedulerException cause) + { + } + + public void SchedulerInStandbyMode() + { + } + + public void SchedulerStarted() + { + } + + public void SchedulerShutdown() + { + } + + public void SchedulerShuttingdown() + { + } + + public void SchedulingDataCleared() + { + } + } + +#else private class TestSchedulerListener : ISchedulerListener { public void JobScheduled(Trigger trigger) @@ -1129,7 +1184,7 @@ namespace Spring.Scheduling.Quartz { } } - +#endif private class TestJobListener : IJobListener { @@ -1236,19 +1291,7 @@ namespace Spring.Scheduling.Quartz { internal static int param; internal static int count; - - /// - /// Sets param value. - /// - /// - public void SetParam(int value) - { - if (param > 0) - { - throw new NotSupportedException("Param already set"); - } - param = value; - } + internal static readonly ManualResetEvent runEvent = new ManualResetEvent(false); /// /// Runs thread runnable. @@ -1256,6 +1299,7 @@ namespace Spring.Scheduling.Quartz public void Run() { count++; + runEvent.Set(); } } } diff --git a/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/SchedulerFactoryObjectTest.cs b/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/SchedulerFactoryObjectTest.cs index d0490184..80f74f0a 100644 --- a/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/SchedulerFactoryObjectTest.cs +++ b/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/SchedulerFactoryObjectTest.cs @@ -16,21 +16,27 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Collections.Specialized; using System.IO; using System.Reflection; using System.Text; -using System.Threading; - using NUnit.Framework; using Quartz; using Quartz.Impl; - +using Quartz.Spi; using Rhino.Mocks; using Spring.Core.IO; +#if QUARTZ_2_0 +using Trigger = Quartz.ITrigger; +using JobExecutionContext = Quartz.IJobExecutionContext; +using JobDetail = Quartz.IJobDetail; +using SimpleTrigger = Quartz.Impl.Triggers.SimpleTriggerImpl; +#endif + namespace Spring.Scheduling.Quartz { /// @@ -42,7 +48,6 @@ namespace Spring.Scheduling.Quartz { private static readonly MethodInfo m_InitSchedulerFactory = typeof(SchedulerFactoryObject).GetMethod("InitSchedulerFactory", BindingFlags.Instance | BindingFlags.NonPublic); - private MockRepository mockery; private SchedulerFactoryObject factory; /// @@ -52,12 +57,9 @@ namespace Spring.Scheduling.Quartz public void SetUp() { factory = new SchedulerFactoryObject(); - TestSchedulerFactory.Mockery.BackToRecordAll(); - Expect - .Call(TestSchedulerFactory.MockScheduler.SchedulerName) - .Return("scheduler") - .Repeat.Any(); + TestSchedulerFactory.Initialize(); + TestSchedulerFactory.MockScheduler.Stub(x => x.SchedulerName).Return("scheduler").Repeat.Any(); } /// @@ -67,7 +69,6 @@ namespace Spring.Scheduling.Quartz public void TestAfterPropertiesSet_Defaults() { factory.AfterPropertiesSet(); - TestSchedulerFactory.Mockery.ReplayAll(); } /// @@ -78,7 +79,6 @@ namespace Spring.Scheduling.Quartz { factory.JobFactory = null; factory.AfterPropertiesSet(); - TestSchedulerFactory.Mockery.ReplayAll(); } /// @@ -89,67 +89,63 @@ namespace Spring.Scheduling.Quartz { // set expectations TestSchedulerFactory.MockScheduler.JobFactory = null; - LastCall.IgnoreArguments(); - TestSchedulerFactory.Mockery.ReplayAll(); factory.SchedulerFactoryType = typeof(TestSchedulerFactory); factory.AutoStartup = false; factory.AfterPropertiesSet(); + + TestSchedulerFactory.MockScheduler.AssertWasCalled(x => x.JobFactory = null); } +#if !QUARTZ_2_0 /// /// Tests AfterPropertiesSet behavior. /// [Test] public void TestAfterPropertiesSet_AddListeners() { - mockery = new MockRepository(); InitForAfterPropertiesSetTest(); - factory.SchedulerListeners = new ISchedulerListener[] { (ISchedulerListener)mockery.CreateMock(typeof(ISchedulerListener)) }; + factory.SchedulerListeners = new ISchedulerListener[] { MockRepository.GenerateMock() }; TestSchedulerFactory.MockScheduler.AddSchedulerListener(null); LastCall.IgnoreArguments(); - - factory.GlobalJobListeners = new IJobListener[] { (IJobListener)mockery.CreateMock(typeof(IJobListener)) }; + + factory.GlobalJobListeners = new IJobListener[] { MockRepository.GenerateMock() }; TestSchedulerFactory.MockScheduler.AddGlobalJobListener(null); LastCall.IgnoreArguments(); - factory.JobListeners = new IJobListener[] { (IJobListener)mockery.CreateMock(typeof(IJobListener)) }; + factory.JobListeners = new IJobListener[] { MockRepository.GenerateMock() }; TestSchedulerFactory.MockScheduler.AddJobListener(null); LastCall.IgnoreArguments(); - factory.GlobalTriggerListeners = new ITriggerListener[] { (ITriggerListener)mockery.CreateMock(typeof(ITriggerListener)) }; + factory.GlobalTriggerListeners = new ITriggerListener[] { MockRepository.GenerateMock() }; TestSchedulerFactory.MockScheduler.AddGlobalTriggerListener(null); LastCall.IgnoreArguments(); - - factory.TriggerListeners = new ITriggerListener[] { (ITriggerListener)mockery.CreateMock(typeof(ITriggerListener)) }; + + factory.TriggerListeners = new ITriggerListener[] { MockRepository.GenerateMock() }; TestSchedulerFactory.MockScheduler.AddTriggerListener(null); LastCall.IgnoreArguments(); - TestSchedulerFactory.Mockery.ReplayAll(); - mockery.ReplayAll(); factory.AfterPropertiesSet(); } - +#endif /// /// Tests AfterPropertiesSet behavior. /// [Test] public void TestAfterPropertiesSet_Calendars() { - mockery = new MockRepository(); InitForAfterPropertiesSetTest(); const string calendarName = "calendar"; - ICalendar cal = (ICalendar) mockery.CreateMock(typeof (ICalendar)); + ICalendar cal = MockRepository.GenerateMock(); Hashtable calTable = new Hashtable(); calTable[calendarName] = cal; factory.Calendars = calTable; - TestSchedulerFactory.MockScheduler.AddCalendar(calendarName, cal, true, true); - TestSchedulerFactory.Mockery.ReplayAll(); - mockery.ReplayAll(); factory.AfterPropertiesSet(); + + TestSchedulerFactory.MockScheduler.AssertWasCalled(x => x.AddCalendar(calendarName, cal, true, true)); } /// @@ -158,7 +154,6 @@ namespace Spring.Scheduling.Quartz [Test] public void TestAfterPropertiesSet_Trigger_TriggerExists() { - mockery = new MockRepository(); InitForAfterPropertiesSetTest(); const string TRIGGER_NAME = "trigName"; @@ -166,10 +161,12 @@ namespace Spring.Scheduling.Quartz SimpleTrigger trigger = new SimpleTrigger(TRIGGER_NAME, TRIGGER_GROUP); factory.Triggers = new Trigger[] { trigger }; - Expect.Call(TestSchedulerFactory.MockScheduler.GetTrigger(TRIGGER_NAME, TRIGGER_GROUP)).Return(trigger); +#if QUARTZ_2_0 + TestSchedulerFactory.MockScheduler.Stub(x => x.GetTrigger(new TriggerKey(TRIGGER_NAME, TRIGGER_GROUP))).Return(trigger); +#else + TestSchedulerFactory.MockScheduler.Stub(x => x.GetTrigger(TRIGGER_NAME, TRIGGER_GROUP)).Return(trigger); +#endif - TestSchedulerFactory.Mockery.ReplayAll(); - mockery.ReplayAll(); factory.AfterPropertiesSet(); } @@ -179,7 +176,6 @@ namespace Spring.Scheduling.Quartz [Test] public void TestAfterPropertiesSet_Trigger_TriggerDoesntExist() { - mockery = new MockRepository(); InitForAfterPropertiesSetTest(); const string TRIGGER_NAME = "trigName"; @@ -187,15 +183,9 @@ namespace Spring.Scheduling.Quartz SimpleTrigger trigger = new SimpleTrigger(TRIGGER_NAME, TRIGGER_GROUP); factory.Triggers = new Trigger[] { trigger }; - Expect.Call(TestSchedulerFactory.MockScheduler.GetTrigger(TRIGGER_NAME, TRIGGER_GROUP)).Return(null); - TestSchedulerFactory.MockScheduler.ScheduleJob(trigger); - LastCall.IgnoreArguments().Return(DateTime.UtcNow); - - - TestSchedulerFactory.Mockery.ReplayAll(); - mockery.ReplayAll(); factory.AfterPropertiesSet(); + TestSchedulerFactory.MockScheduler.AssertWasCalled(x => x.ScheduleJob(trigger)); } @@ -205,7 +195,6 @@ namespace Spring.Scheduling.Quartz // set expectations factory.SchedulerFactoryType = typeof(TestSchedulerFactory); TestSchedulerFactory.MockScheduler.JobFactory = null; - LastCall.IgnoreArguments(); } /// @@ -214,16 +203,13 @@ namespace Spring.Scheduling.Quartz [Test] public void TestStart() { - // set expectations - TestSchedulerFactory.MockScheduler.JobFactory = null; - LastCall.IgnoreArguments(); - TestSchedulerFactory.MockScheduler.Start(); - TestSchedulerFactory.Mockery.ReplayAll(); - factory.SchedulerFactoryType = typeof(TestSchedulerFactory); factory.AutoStartup = false; factory.AfterPropertiesSet(); factory.Start(); + + TestSchedulerFactory.MockScheduler.AssertWasCalled(x => x.JobFactory = Arg.Is.NotNull); + TestSchedulerFactory.MockScheduler.AssertWasCalled(x => x.Start()); } /// @@ -232,16 +218,13 @@ namespace Spring.Scheduling.Quartz [Test] public void TestStop() { - // set expectations - TestSchedulerFactory.MockScheduler.JobFactory = null; - LastCall.IgnoreArguments(); - TestSchedulerFactory.MockScheduler.Standby(); - TestSchedulerFactory.Mockery.ReplayAll(); - factory.SchedulerFactoryType = typeof(TestSchedulerFactory); factory.AutoStartup = false; factory.AfterPropertiesSet(); factory.Stop(); + + TestSchedulerFactory.MockScheduler.AssertWasCalled(x => x.JobFactory = Arg.Is.NotNull); + TestSchedulerFactory.MockScheduler.AssertWasCalled(x => x.Standby()); } /// @@ -251,7 +234,6 @@ namespace Spring.Scheduling.Quartz public void TestGetObject() { factory.AfterPropertiesSet(); - TestSchedulerFactory.Mockery.ReplayAll(); IScheduler sched = (IScheduler)factory.GetObject(); Assert.IsNotNull(sched, "scheduler was null"); } @@ -263,7 +245,6 @@ namespace Spring.Scheduling.Quartz [ExpectedException(typeof(ArgumentException))] public void TestSchedulerFactoryType_InvalidType() { - TestSchedulerFactory.Mockery.ReplayAll(); factory.SchedulerFactoryType = typeof(SchedulerFactoryObjectTest); } @@ -273,7 +254,6 @@ namespace Spring.Scheduling.Quartz [Test] public void TestSchedulerFactoryType_ValidType() { - TestSchedulerFactory.Mockery.ReplayAll(); factory.SchedulerFactoryType = typeof(StdSchedulerFactory); } @@ -283,8 +263,6 @@ namespace Spring.Scheduling.Quartz [Test] public void TestInitSchedulerFactory_MinimalDefaults() { - TestSchedulerFactory.Mockery.ReplayAll(); - factory.SchedulerName = "testFactoryObject"; StdSchedulerFactory factoryToPass = new StdSchedulerFactory(); m_InitSchedulerFactory.Invoke(factory, new object[] { factoryToPass }); @@ -315,8 +293,6 @@ ConnectionStringKey+ " = " + ConnectionStringValue + Environment.NewLine + // intercept call InterceptingStdSChedulerFactory factoryToPass = new InterceptingStdSChedulerFactory(); - TestSchedulerFactory.Mockery.ReplayAll(); - factory.ConfigLocation = new TestConfigLocation(ms, "description"); m_InitSchedulerFactory.Invoke(factory, new object[] { factoryToPass }); @@ -324,21 +300,6 @@ ConnectionStringKey+ " = " + ConnectionStringValue + Environment.NewLine + Assert.AreEqual(ConnectionStringValue, factoryToPass.Properties[ConnectionStringKey]); } - - /// - /// Cleans this test instance. - /// - [TearDown] - public void TearDown() - { - TestSchedulerFactory.Mockery.VerifyAll(); - if (mockery != null) - { - mockery.VerifyAll(); - } - } - - } internal class TestConfigLocation : InputStreamResource @@ -353,21 +314,7 @@ ConnectionStringKey+ " = " + ConnectionStringValue + Environment.NewLine + /// public class TestSchedulerFactory : ISchedulerFactory { - private static readonly MockRepository mockery = new MockRepository(); - private static readonly IScheduler mockScheduler; - - static TestSchedulerFactory() - { - mockScheduler = (IScheduler) mockery.CreateMock(typeof (IScheduler)); - } - - /// - /// MockRepository intance. - /// - public static MockRepository Mockery - { - get { return mockery; } - } + private static IScheduler mockScheduler; /// /// The mocked scheduler. @@ -394,12 +341,26 @@ ConnectionStringKey+ " = " + ConnectionStringValue + Environment.NewLine + return mockScheduler; } +#if QUARTZ_2_0 + /// + /// + public ICollection AllSchedulers + { + get { return new List(); } + } +#else /// /// public ICollection AllSchedulers { get { return new ArrayList(); } } +#endif + + public static void Initialize() + { + mockScheduler = MockRepository.GenerateMock(); + } } /// diff --git a/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/SimpleTriggerObjectTest.cs b/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/SimpleTriggerObjectTest.cs index 75728f53..28de1180 100644 --- a/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/SimpleTriggerObjectTest.cs +++ b/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/SimpleTriggerObjectTest.cs @@ -16,12 +16,17 @@ using System; using System.Collections; - +using System.Collections.Generic; using NUnit.Framework; using Quartz; using Quartz.Job; +#if QUARTZ_2_0 +using JobDetail = Quartz.Impl.JobDetailImpl; +#endif + + namespace Spring.Scheduling.Quartz { /// @@ -113,7 +118,7 @@ namespace Spring.Scheduling.Quartz [Test] public void TestJobDataAsMap() { - Hashtable data = new Hashtable(); + IDictionary data = new Dictionary(); data["foo"] = "bar"; data["number"] = 123; simpleTrigger.JobDataAsMap = data; diff --git a/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/SpringObjectJobFactoryTest.cs b/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/SpringObjectJobFactoryTest.cs index 5c6bb473..72208740 100644 --- a/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/SpringObjectJobFactoryTest.cs +++ b/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/SpringObjectJobFactoryTest.cs @@ -15,13 +15,20 @@ */ using System.Collections; - +using System.Collections.Generic; using NUnit.Framework; using Quartz; using Quartz.Job; using Quartz.Spi; +#if QUARTZ_2_0 +using Trigger = Quartz.Spi.IOperableTrigger; +using JobExecutionContext = Quartz.IJobExecutionContext; +using JobDetail = Quartz.IJobDetail; +using SimpleTrigger = Quartz.Impl.Triggers.SimpleTriggerImpl; +#endif + namespace Spring.Scheduling.Quartz { /// @@ -51,7 +58,11 @@ namespace Spring.Scheduling.Quartz Trigger trigger = new SimpleTrigger(); TriggerFiredBundle bundle = TestUtil.CreateMinimalFiredBundleWithTypedJobDetail(typeof (NoOpJob), trigger); +#if QUARTZ_2_0 + IJob job = factory.NewJob(bundle, null); +#else IJob job = factory.NewJob(bundle); +#endif Assert.IsNotNull(job, "Created job was null"); } @@ -61,14 +72,23 @@ namespace Spring.Scheduling.Quartz [Test] public void TestCreateJobInstance_SchedulerContextGiven() { + Trigger trigger = new SimpleTrigger(); + TriggerFiredBundle bundle = TestUtil.CreateMinimalFiredBundleWithTypedJobDetail(typeof(InjectableJob), trigger); + +#if QUARTZ_2_0 + IDictionary items = new Dictionary(); + items["foo"] = "bar"; + items["number"] = 123; + factory.SchedulerContext = new SchedulerContext(items); + InjectableJob job = (InjectableJob)factory.NewJob(bundle, null); +#else IDictionary items = new Hashtable(); items["foo"] = "bar"; items["number"] = 123; factory.SchedulerContext = new SchedulerContext(items); - Trigger trigger = new SimpleTrigger(); - TriggerFiredBundle bundle = TestUtil.CreateMinimalFiredBundleWithTypedJobDetail(typeof(InjectableJob), trigger); - InjectableJob job = (InjectableJob) factory.NewJob(bundle); +#endif + Assert.IsNotNull(job, "Created job was null"); Assert.AreEqual("bar", job.Foo, "string injection failed"); Assert.AreEqual(123, job.Number, "integer injection failed"); @@ -86,7 +106,11 @@ namespace Spring.Scheduling.Quartz trigger.JobDataMap["number"] = 123; TriggerFiredBundle bundle = TestUtil.CreateMinimalFiredBundleWithTypedJobDetail(typeof(InjectableJob), trigger); +#if QUARTZ_2_0 + InjectableJob job = (InjectableJob)factory.NewJob(bundle, null); +#else InjectableJob job = (InjectableJob)factory.NewJob(bundle); +#endif Assert.IsNotNull(job, "Created job was null"); Assert.AreEqual(123, job.Number, "integer injection failed"); Assert.IsNull(job.Foo, "foo was injected when it was not supposed to "); diff --git a/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/TestUtil.cs b/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/TestUtil.cs index bb2be2d9..367b8bb2 100644 --- a/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/TestUtil.cs +++ b/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/TestUtil.cs @@ -19,6 +19,11 @@ using System; using Quartz; using Quartz.Spi; +#if QUARTZ_2_0 +using JobDetail = Quartz.Impl.JobDetailImpl; +using Trigger = Quartz.Spi.IOperableTrigger; +#endif + namespace Spring.Scheduling.Quartz { /// diff --git a/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/TriggerObjectTest.cs b/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/TriggerObjectTest.cs index 3223203f..516c9bf9 100644 --- a/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/TriggerObjectTest.cs +++ b/test/Spring/Spring.Scheduling.Quartz.Tests/Scheduling/Quartz/TriggerObjectTest.cs @@ -22,6 +22,10 @@ using Quartz; using Spring.Objects.Factory; +#if QUARTZ_2_0 +using Trigger = Quartz.Spi.IOperableTrigger; +#endif + namespace Spring.Scheduling.Quartz { /// @@ -31,6 +35,7 @@ namespace Spring.Scheduling.Quartz public abstract class TriggerObjectTest { private Trigger trigger; + /// /// Constant name for tested triggers. /// @@ -52,11 +57,17 @@ namespace Spring.Scheduling.Quartz { ((IInitializingObject) trigger).AfterPropertiesSet(); +#if QUARTZ_2_0 + Assert.AreEqual(TRIGGER_NAME, trigger.Key.Name, "trigger name mismatch"); + Assert.AreEqual(SchedulerConstants.DefaultGroup, trigger.Key.Group, "trigger group name mismatch"); + Assert.IsNull(trigger.JobKey, "trigger job name not null"); +#else Assert.AreEqual(TRIGGER_NAME, trigger.Name, "trigger name mismatch"); Assert.AreEqual(SchedulerConstants.DefaultGroup, trigger.Group, "trigger group name mismatch"); - AssertDateTimesEqualityWithAllowedDelta(DateTime.UtcNow, trigger.StartTimeUtc, 1000); Assert.IsNull(trigger.JobName, "trigger job name not null"); Assert.AreEqual(SchedulerConstants.DefaultGroup, trigger.JobGroup, "trigger job group was not default"); +#endif + AssertDateTimesEqualityWithAllowedDelta(DateTime.UtcNow, trigger.StartTimeUtc, 1000); } /// @@ -69,12 +80,18 @@ namespace Spring.Scheduling.Quartz const string NAME = "newName"; const string GROUP = "newGroup"; - DateTime START_TIME = new DateTime(10000000); + DateTime START_TIME = new DateTime(1982, 6, 28, 13, 10, 0); + trigger.StartTimeUtc = START_TIME; +#if QUARTZ_2_0 + trigger.Key = new TriggerKey(NAME, GROUP); + Assert.AreEqual(NAME, trigger.Key.Name, "trigger name mismatch"); + Assert.AreEqual(GROUP, trigger.Key.Group, "trigger group name mismatch"); +#else trigger.Name = NAME; trigger.Group = GROUP; - trigger.StartTimeUtc = START_TIME; Assert.AreEqual(NAME, trigger.Name, "trigger name mismatch"); Assert.AreEqual(GROUP, trigger.Group, "trigger group name mismatch"); +#endif AssertDateTimesEqualityWithAllowedDelta(START_TIME, trigger.StartTimeUtc, 1000); } @@ -88,10 +105,42 @@ namespace Spring.Scheduling.Quartz const string jobName = "jobName"; const string jobGroup = "jobGroup"; +#if QUARTZ_2_0 + Assert.AreEqual(jobName, trigger.JobKey.Name, "trigger job name was not from job detail"); + Assert.AreEqual(jobGroup, trigger.JobKey.Group, "trigger job group was not from job detail"); +#else Assert.AreEqual(jobName, trigger.JobName, "trigger job name was not from job detail"); Assert.AreEqual(jobGroup, trigger.JobGroup, "trigger job group was not from job detail"); +#endif } +#if QUARTZ_2_0 + /// + /// Tests whether two datetimes are close enough. + /// + /// + /// + /// + protected static void AssertDateTimesEqualityWithAllowedDelta(DateTimeOffset d1, DateTimeOffset d2, int allowedDeltaInMilliseconds) + { + int diffInMillis = (int) Math.Abs((d1 - d2).TotalMilliseconds); + Assert.LessOrEqual(diffInMillis, allowedDeltaInMilliseconds, "too much difference in times"); + } +#else + + /// + /// Tests whether two datetimes are close enough. + /// + /// + /// + /// + protected static void AssertDateTimesEqualityWithAllowedDelta(DateTime d1, DateTime d2, int allowedDeltaInMilliseconds) + { + int diffInMillis = (int)Math.Abs((d1 - d2).TotalMilliseconds); + Assert.LessOrEqual(diffInMillis, allowedDeltaInMilliseconds, "too much difference in times"); + } + + /// /// Tests that TriggerObject defaults values as expected in AfterPropertiesSet. /// @@ -104,18 +153,7 @@ namespace Spring.Scheduling.Quartz trigger.TriggerListenerNames = LISTENER_NAMES; CollectionAssert.AreEqual(LISTENER_NAMES, trigger.TriggerListenerNames, "Trigger listeners were not equal"); } - - /// - /// Tests whether two datetimes are close enough. - /// - /// - /// - /// - protected static void AssertDateTimesEqualityWithAllowedDelta(DateTime d1, DateTime d2, int allowedDeltaInMilliseconds) - { - int diffInMillis = (int) Math.Abs((d1 - d2).TotalMilliseconds); - Assert.LessOrEqual(diffInMillis, allowedDeltaInMilliseconds, "too much difference in times"); - } +#endif } } diff --git a/test/Spring/Spring.Scheduling.Quartz.Tests/Spring.Scheduling.Quartz.Tests.2008.csproj b/test/Spring/Spring.Scheduling.Quartz.Tests/Spring.Scheduling.Quartz.Tests.2008.csproj index b23cdfc6..52c7a11f 100644 --- a/test/Spring/Spring.Scheduling.Quartz.Tests/Spring.Scheduling.Quartz.Tests.2008.csproj +++ b/test/Spring/Spring.Scheduling.Quartz.Tests/Spring.Scheduling.Quartz.Tests.2008.csproj @@ -36,15 +36,19 @@ False ..\..\..\lib\net\2.0\nunit.framework.dll - + False - ..\..\..\lib\net\2.0\Quartz.dll + ..\..\..\lib\Quartz10\net\2.0\Quartz.dll False ..\..\..\lib\Net\2.0\Rhino.Mocks.dll + + 3.5 + C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5\System.Core.dll + diff --git a/test/Spring/Spring.Scheduling.Quartz.Tests/Spring.Scheduling.Quartz.Tests.2010.csproj b/test/Spring/Spring.Scheduling.Quartz.Tests/Spring.Scheduling.Quartz.Tests.2010.csproj index c3110ffa..453a3317 100644 --- a/test/Spring/Spring.Scheduling.Quartz.Tests/Spring.Scheduling.Quartz.Tests.2010.csproj +++ b/test/Spring/Spring.Scheduling.Quartz.Tests/Spring.Scheduling.Quartz.Tests.2010.csproj @@ -42,8 +42,9 @@ False ..\..\..\lib\net\2.0\nunit.framework.dll - - ..\..\..\lib\Net\3.5\Quartz.dll + + False + ..\..\..\lib\Quartz10\net\3.5\Quartz.dll False diff --git a/test/Spring/Spring.Scheduling.Quartz20.Integration.Tests/Scheduling/Quartz/LocalDataSourceJobStoreTest.cs b/test/Spring/Spring.Scheduling.Quartz20.Integration.Tests/Scheduling/Quartz/LocalDataSourceJobStoreTest.cs new file mode 100644 index 00000000..ed252cce --- /dev/null +++ b/test/Spring/Spring.Scheduling.Quartz20.Integration.Tests/Scheduling/Quartz/LocalDataSourceJobStoreTest.cs @@ -0,0 +1,51 @@ +#region License + +/* + * Copyright © 2002-2007 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#endregion + +#region Imports + +using System.Threading; + +using NUnit.Framework; +using Spring.Context; +using Spring.Context.Support; + +#endregion +namespace Spring.Scheduling.Quartz.Integration.Tests +{ + [TestFixture] + public class LocalDataSourceJobStoreTest + { + private IApplicationContext ctx; + + [SetUp] + public void SetUp() + { + ctx = new XmlApplicationContext("assembly://Spring.Scheduling.Quartz20.Integration.Tests/Spring.Scheduling.Quartz/LocalDataSourceJobStoreTest.xml"); + } + + [Test] + public void TestLocalDataSourceJobStore() + { + // sleep 20 seconds + Thread.Sleep(20000); + } + + } +} \ No newline at end of file diff --git a/test/Spring/Spring.Scheduling.Quartz20.Integration.Tests/Scheduling/Quartz/LocalDataSourceJobStoreTest.xml b/test/Spring/Spring.Scheduling.Quartz20.Integration.Tests/Scheduling/Quartz/LocalDataSourceJobStoreTest.xml new file mode 100644 index 00000000..0ed66382 --- /dev/null +++ b/test/Spring/Spring.Scheduling.Quartz20.Integration.Tests/Scheduling/Quartz/LocalDataSourceJobStoreTest.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/Spring/Spring.Scheduling.Quartz20.Integration.Tests/Scheduling/Quartz/TestJob.cs b/test/Spring/Spring.Scheduling.Quartz20.Integration.Tests/Scheduling/Quartz/TestJob.cs new file mode 100644 index 00000000..4e4c784b --- /dev/null +++ b/test/Spring/Spring.Scheduling.Quartz20.Integration.Tests/Scheduling/Quartz/TestJob.cs @@ -0,0 +1,20 @@ +using System; + +using Quartz; + +namespace Spring.Scheduling.Quartz.Integration.Tests +{ + public class TestJob : IJob + { + public void Execute(IJobExecutionContext context) + { + Console.WriteLine("Executing Execute!"); + } + + public void DoIt() + { + Console.WriteLine("Executing DoIt!"); + } + + } +} \ No newline at end of file diff --git a/test/Spring/Spring.Scheduling.Quartz20.Integration.Tests/Spring.Scheduling.Quartz20.Integration.Tests.2008.csproj b/test/Spring/Spring.Scheduling.Quartz20.Integration.Tests/Spring.Scheduling.Quartz20.Integration.Tests.2008.csproj new file mode 100644 index 00000000..51a816f6 --- /dev/null +++ b/test/Spring/Spring.Scheduling.Quartz20.Integration.Tests/Spring.Scheduling.Quartz20.Integration.Tests.2008.csproj @@ -0,0 +1,81 @@ + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {8CF0F34A-CC93-4D87-AE14-A2DEEF072F26} + Library + Properties + Spring + Spring.Scheduling.Quartz20.Integration.Tests + v3.5 + + + true + full + false + ..\..\..\build\VS.NET.2008\Spring.Scheduling.Quartz20.Integration.Tests\Debug\ + TRACE;DEBUG;NET_2_0;NET_3_5 + prompt + 4 + + + pdbonly + true + ..\..\..\build\VS.NET.2008\Spring.Scheduling.Quartz20.Integration.Tests\Release\ + TRACE;NET_2_0;NET_3_5 + prompt + 4 + + + + False + ..\..\..\lib\Quartz20\net\3.5\C5.dll + + + False + ..\..\..\lib\net\2.0\nunit.framework.dll + + + False + ..\..\..\lib\Quartz20\net\3.5\Quartz.dll + + + False + ..\..\..\lib\Net\2.0\Rhino.Mocks.dll + + + + 3.5 + + + + + + + PreserveNewest + + + + + + + + + + + + {710961A3-0DF4-49E4-A26E-F5B9C044AC84} + Spring.Core.2008 + + + + + \ No newline at end of file diff --git a/test/Spring/Spring.Scheduling.Quartz20.Integration.Tests/Spring.Scheduling.Quartz20.Integration.Tests.2010.csproj b/test/Spring/Spring.Scheduling.Quartz20.Integration.Tests/Spring.Scheduling.Quartz20.Integration.Tests.2010.csproj new file mode 100644 index 00000000..69770f2f --- /dev/null +++ b/test/Spring/Spring.Scheduling.Quartz20.Integration.Tests/Spring.Scheduling.Quartz20.Integration.Tests.2010.csproj @@ -0,0 +1,127 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {8CF0F34A-CC93-4D87-AE14-A2DEEF072F26} + Library + Properties + Spring + Spring.Scheduling.Quartz20.Integration.Tests + v4.0 + + + 3.5 + + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + + true + full + false + ..\..\..\build\VS.NET.2008\Spring.Scheduling.Quartz20.Integration.Tests\Debug\ + TRACE;DEBUG;NET_2_0;NET_3_5,QUARTZ_2_0 + prompt + 4 + + + pdbonly + true + ..\..\..\build\VS.NET.2008\Spring.Scheduling.Quartz20.Integration.Tests\Release\ + TRACE;NET_2_0;NET_3_5 + prompt + 4 + + + + False + ..\..\..\lib\Quartz20\net\3.5\C5.dll + + + False + ..\..\..\lib\net\2.0\nunit.framework.dll + + + False + ..\..\..\lib\Quartz20\net\3.5\Quartz.dll + + + False + ..\..\..\lib\Net\2.0\Rhino.Mocks.dll + + + + 3.5 + + + + + + + PreserveNewest + + + + + + + + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + true + + + False + Windows Installer 3.1 + true + + + + + {710961A3-0DF4-49E4-A26E-F5B9C044AC84} + Spring.Core.2010 + + + {AE00E5AB-C39A-436F-86D2-33BFE33E2E40} + Spring.Data.2010 + + + {E823D54C-CE82-4868-929F-5F95A999F123} + Spring.Scheduling.Quartz20.2010 + + + + + \ No newline at end of file diff --git a/test/Spring/Spring.Scheduling.Quartz20.Integration.Tests/Spring.Scheduling.Quartz20.Integration.Tests.build b/test/Spring/Spring.Scheduling.Quartz20.Integration.Tests/Spring.Scheduling.Quartz20.Integration.Tests.build new file mode 100644 index 00000000..aacf3c9f --- /dev/null +++ b/test/Spring/Spring.Scheduling.Quartz20.Integration.Tests/Spring.Scheduling.Quartz20.Integration.Tests.build @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/Spring/Spring.Scheduling.Quartz20.Integration.Tests/Spring.Scheduling.Quartz20.Integration.Tests.dll.config b/test/Spring/Spring.Scheduling.Quartz20.Integration.Tests/Spring.Scheduling.Quartz20.Integration.Tests.dll.config new file mode 100644 index 00000000..62e3d45e --- /dev/null +++ b/test/Spring/Spring.Scheduling.Quartz20.Integration.Tests/Spring.Scheduling.Quartz20.Integration.Tests.dll.config @@ -0,0 +1,41 @@ + + + + + +
+ + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/Spring/Spring.Scheduling.Quartz20.Tests/Spring.Scheduling.Quartz20.Tests.2008.csproj b/test/Spring/Spring.Scheduling.Quartz20.Tests/Spring.Scheduling.Quartz20.Tests.2008.csproj new file mode 100644 index 00000000..a83dc9e2 --- /dev/null +++ b/test/Spring/Spring.Scheduling.Quartz20.Tests/Spring.Scheduling.Quartz20.Tests.2008.csproj @@ -0,0 +1,142 @@ + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {47E7DF97-2515-4F2F-BBFD-0A4C205800DE} + Library + Properties + Spring + Spring.Scheduling.Quartz20.Tests + v2.0 + + + true + full + false + ..\..\..\build\VS.NET.2008\Spring.Scheduling.Quartz20.Tests\Debug\ + TRACE;DEBUG;NET_2_0 + prompt + 4 + + + true + + + pdbonly + true + ..\..\..\build\VS.NET.2008\Spring.Scheduling.Quartz20.Tests\Release\ + TRACE;NET_2_0 + prompt + 4 + + + + False + ..\..\..\lib\Quartz20\net\3.5\C5.dll + + + False + ..\..\..\lib\net\2.0\nunit.framework.dll + + + False + ..\..\..\lib\Quartz20\net\3.5\Quartz.dll + + + False + ..\..\..\lib\Net\2.0\Rhino.Mocks.dll + + + + + + + + QuartzCompilerOptionsTests.cs + + + Scheduling\Quartz\AdaptableJobFactoryTest.cs + + + Scheduling\Quartz\CronTriggerObjectTest.cs + + + Scheduling\Quartz\JobDetailObjectTest.cs + + + Scheduling\Quartz\MethodInvokingJobDetailFactoryObjectTest.cs + + + Scheduling\Quartz\MethodInvokingJobTest.cs + + + Scheduling\Quartz\QuartzSupportTests.cs + + + Scheduling\Quartz\QuartzTestObject.cs + + + Scheduling\Quartz\SchedulerFactoryObjectTest.cs + + + Scheduling\Quartz\SimpleTriggerObjectTest.cs + + + Scheduling\Quartz\SpringObjectJobFactoryTest.cs + + + Scheduling\Quartz\TestMethodInvokingTask.cs + + + Scheduling\Quartz\TestUtil.cs + + + Scheduling\Quartz\TriggerObjectTest.cs + + + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + + + {710961A3-0DF4-49E4-A26E-F5B9C044AC84} + Spring.Core.2008 + + + {E823D54C-CE82-4868-929F-5F95A999F61E} + Spring.Scheduling.Quartz20.2008 + + + {44B16BAA-6DF8-447C-9D7F-3AD3D854D904} + Spring.Core.Tests.2008 + + + + + + + + + \ No newline at end of file diff --git a/test/Spring/Spring.Scheduling.Quartz20.Tests/Spring.Scheduling.Quartz20.Tests.2010.csproj b/test/Spring/Spring.Scheduling.Quartz20.Tests/Spring.Scheduling.Quartz20.Tests.2010.csproj new file mode 100644 index 00000000..1f89d57d --- /dev/null +++ b/test/Spring/Spring.Scheduling.Quartz20.Tests/Spring.Scheduling.Quartz20.Tests.2010.csproj @@ -0,0 +1,148 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {247787CF-ECE1-4675-8B42-7DF4329A4891} + Library + Properties + Spring + Spring.Scheduling.Quartz20.Tests + v4.0 + + + 3.5 + + + + + true + full + false + ..\..\..\build\VS.NET.2010\Spring.Scheduling.Quartz20.Tests\Debug\ + TRACE;DEBUG;NET_2_0,QUARTZ_2_0 + prompt + 4 + + + true + + + pdbonly + true + ..\..\..\build\VS.NET.2010\Spring.Scheduling.Quartz20.Tests\Release\ + TRACE;NET_2_0 + prompt + 4 + + + + False + ..\..\..\lib\Quartz20\net\3.5\C5.dll + + + False + ..\..\..\lib\net\2.0\nunit.framework.dll + + + ..\..\..\lib\Quartz20\net\3.5\Quartz.dll + + + False + ..\..\..\lib\Net\2.0\Rhino.Mocks.dll + + + + + + + + {710961A3-0DF4-49E4-A26E-F5B9C044AC84} + Spring.Core.2010 + + + {E823D54C-CE82-4868-929F-5F95A999F123} + Spring.Scheduling.Quartz20.2010 + + + {44B16BAA-6DF8-447C-9D7F-3AD3D854D904} + Spring.Core.Tests.2010 + + + + + QuartzCompilerOptionsTests.cs + + + Scheduling\Quartz\AdaptableJobFactoryTest.cs + + + Scheduling\Quartz\CronTriggerObjectTest.cs + + + Scheduling\Quartz\JobDetailObjectTest.cs + + + Scheduling\Quartz\MethodInvokingJobDetailFactoryObjectTest.cs + + + Scheduling\Quartz\MethodInvokingJobTest.cs + + + Scheduling\Quartz\QuartzSupportTests.cs + + + Scheduling\Quartz\QuartzTestObject.cs + + + Scheduling\Quartz\SchedulerFactoryObjectTest.cs + + + Scheduling\Quartz\SimpleTriggerObjectTest.cs + + + Scheduling\Quartz\SpringObjectJobFactoryTest.cs + + + Scheduling\Quartz\TestMethodInvokingTask.cs + + + Scheduling\Quartz\TestUtil.cs + + + Scheduling\Quartz\TriggerObjectTest.cs + + + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + + + PreserveNewest + + + + + \ No newline at end of file diff --git a/test/Spring/Spring.Scheduling.Quartz20.Tests/Spring.Scheduling.Quartz20.Tests.build b/test/Spring/Spring.Scheduling.Quartz20.Tests/Spring.Scheduling.Quartz20.Tests.build new file mode 100644 index 00000000..611ae2c6 --- /dev/null +++ b/test/Spring/Spring.Scheduling.Quartz20.Tests/Spring.Scheduling.Quartz20.Tests.build @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/Spring/Spring.Scheduling.Quartz20.Tests/Spring.Scheduling.Quartz20.Tests.dll.config b/test/Spring/Spring.Scheduling.Quartz20.Tests/Spring.Scheduling.Quartz20.Tests.dll.config new file mode 100644 index 00000000..c7be6526 --- /dev/null +++ b/test/Spring/Spring.Scheduling.Quartz20.Tests/Spring.Scheduling.Quartz20.Tests.dll.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/test/Spring/Spring.Scheduling.Quartz20.Tests/job-scheduling-data.xml b/test/Spring/Spring.Scheduling.Quartz20.Tests/job-scheduling-data.xml new file mode 100644 index 00000000..ae514ab9 --- /dev/null +++ b/test/Spring/Spring.Scheduling.Quartz20.Tests/job-scheduling-data.xml @@ -0,0 +1,39 @@ + + + + + + true + + + + + + myJob + myGroup + Spring.Scheduling.Quartz.DummyJob, Spring.Scheduling.Quartz20.Tests + true + false + + + param + 10 + + + + + + + myTrigger + myGroup + myJob + myGroup + 1 + 500 + + + + + diff --git a/test/Spring/Spring.Scheduling.Quartz20.Tests/multipleAnonymousMethodInvokingJobDetailFB.xml b/test/Spring/Spring.Scheduling.Quartz20.Tests/multipleAnonymousMethodInvokingJobDetailFB.xml new file mode 100644 index 00000000..f74e63f3 --- /dev/null +++ b/test/Spring/Spring.Scheduling.Quartz20.Tests/multipleAnonymousMethodInvokingJobDetailFB.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/Spring/Spring.Scheduling.Quartz20.Tests/multipleSchedulers.xml b/test/Spring/Spring.Scheduling.Quartz20.Tests/multipleSchedulers.xml new file mode 100644 index 00000000..964e0e03 --- /dev/null +++ b/test/Spring/Spring.Scheduling.Quartz20.Tests/multipleSchedulers.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + diff --git a/test/Spring/Spring.Scheduling.Quartz20.Tests/schedulerAccessorObject.xml b/test/Spring/Spring.Scheduling.Quartz20.Tests/schedulerAccessorObject.xml new file mode 100644 index 00000000..7f3d12e6 --- /dev/null +++ b/test/Spring/Spring.Scheduling.Quartz20.Tests/schedulerAccessorObject.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/Spring/Spring.Scheduling.Quartz20.Tests/schedulerRepositoryExposure.xml b/test/Spring/Spring.Scheduling.Quartz20.Tests/schedulerRepositoryExposure.xml new file mode 100644 index 00000000..a20599b5 --- /dev/null +++ b/test/Spring/Spring.Scheduling.Quartz20.Tests/schedulerRepositoryExposure.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +