@@ -9,7 +9,7 @@ implementations behind the common interfaces abstracts away the differences betw
9
9
SE 5, Java SE 6, and Jakarta EE environments.
10
10
11
11
Spring also features integration classes to support scheduling with the `Timer`
12
- (part of the JDK since 1.3) and the Quartz Scheduler ( https://www.quartz-scheduler.org/[]) .
12
+ (part of the JDK since 1.3) and the https://www.quartz-scheduler.org/[Quartz Scheduler] .
13
13
You can set up both of those schedulers by using a `FactoryBean` with optional references to
14
14
`Timer` or `Trigger` instances, respectively. Furthermore, a convenience class for both
15
15
the Quartz Scheduler and the `Timer` is available that lets you invoke a method of
@@ -171,7 +171,7 @@ much more flexible.
171
171
The `Trigger` interface is essentially inspired by JSR-236 which, as of Spring 3.0,
172
172
was not yet officially implemented. The basic idea of the `Trigger` is that execution
173
173
times may be determined based on past execution outcomes or even arbitrary conditions.
174
- If these determinations do take into account the outcome of the preceding execution,
174
+ If these determinations take into account the outcome of the preceding execution,
175
175
that information is available within a `TriggerContext`. The `Trigger` interface itself
176
176
is quite simple, as the following listing shows:
177
177
@@ -208,7 +208,7 @@ Spring provides two implementations of the `Trigger` interface. The most interes
208
208
is the `CronTrigger`. It enables the scheduling of tasks based on
209
209
<<scheduling-cron-expression,cron expressions>>.
210
210
For example, the following task is scheduled to run 15 minutes past each hour but only
211
- during the 9-to-5 "` business hours` " on weekdays:
211
+ during the 9-to-5 "business hours" on weekdays:
212
212
213
213
[source,java,indent=0]
214
214
[subs="verbatim"]
@@ -782,9 +782,9 @@ You can use these macros instead of the six-digit value, thus: `@Scheduled(cron
782
782
== Using the Quartz Scheduler
783
783
784
784
Quartz uses `Trigger`, `Job`, and `JobDetail` objects to realize scheduling of all kinds
785
- of jobs. For the basic concepts behind Quartz, see
786
- https://www.quartz-scheduler.org/[]. For convenience purposes, Spring offers a couple of
787
- classes that simplify using Quartz within Spring-based applications.
785
+ of jobs. For the basic concepts behind Quartz, see the
786
+ https://www.quartz-scheduler.org/[Quartz Web site ]. For convenience purposes, Spring
787
+ offers a couple of classes that simplify using Quartz within Spring-based applications.
788
788
789
789
790
790
[[scheduling-quartz-jobdetail]]
@@ -882,12 +882,13 @@ that merely invoke a method. You need only create the actual business object and
882
882
wire up the detail object.
883
883
884
884
By default, Quartz Jobs are stateless, resulting in the possibility of jobs interfering
885
- with each other. If you specify two triggers for the same `JobDetail`, it is
886
- possible that, before the first job has finished, the second one starts. If
887
- `JobDetail` classes implement the `Stateful` interface, this does not happen. The second
888
- job does not start before the first one has finished. To make jobs resulting from the
889
- `MethodInvokingJobDetailFactoryBean` be non-concurrent, set the `concurrent` flag to
890
- `false`, as the following example shows:
885
+ with each other. If you specify two triggers for the same `JobDetail`, it is possible
886
+ that the second one starts before the first job has finished. If `JobDetail` classes
887
+ implement the `Stateful` interface, this does not happen: the second job does not start
888
+ before the first one has finished.
889
+
890
+ To make jobs resulting from the `MethodInvokingJobDetailFactoryBean` be non-concurrent,
891
+ set the `concurrent` flag to `false`, as the following example shows:
891
892
892
893
[source,xml,indent=0,subs="verbatim,quotes"]
893
894
----
0 commit comments