|
36 | 36 | pool; an executor may be single-threaded or even synchronous.
|
37 | 37 | Spring's abstraction hides implementation details between
|
38 | 38 | Java SE 1.4, Java SE 5 and Java EE environments.</para>
|
39 |
| - <title>The <interfacename>TaskExecutor</interfacename> interface</title> |
| 39 | + |
40 | 40 | <para>Spring's <interfacename>TaskExecutor</interfacename> interface is
|
41 | 41 | identical to the <classname>java.util.concurrent.Executor</classname>
|
42 | 42 | interface. In fact, its primary reason for existence is to abstract away
|
|
85 | 85 | invocations asynchronously. Instead, each
|
86 | 86 | invocation takes place in the calling thread. It
|
87 | 87 | is primarily used in situations where
|
88 |
| - mutlithreading isn't necessary such as simple |
| 88 | + multithreading isn't necessary such as simple |
89 | 89 | test cases.
|
90 | 90 | </para>
|
91 | 91 | </listitem>
|
|
121 | 121 | Quartz's <classname>SimpleThreadPool</classname>
|
122 | 122 | which listens to Spring's lifecycle callbacks.
|
123 | 123 | This is typically used when you have a
|
124 |
| - threadpool that may need to be shared by both |
| 124 | + thread pool that may need to be shared by both |
125 | 125 | Quartz and non-Quartz components.
|
126 | 126 | </para>
|
127 | 127 | </listitem>
|
|
203 | 203 |
|
204 | 204 | </itemizedlist>
|
205 | 205 | </section>
|
| 206 | + |
206 | 207 | <section id="scheduling-task-executor-usage">
|
207 | 208 | <title>Using a <interfacename>TaskExecutor</interfacename></title>
|
208 | 209 | <para>Spring's <interfacename>TaskExecutor</interfacename> implementations
|
@@ -760,6 +761,7 @@ public class ExampleJob extends QuartzJobBean {
|
760 | 761 | </para>
|
761 | 762 | </section>
|
762 | 763 | </section>
|
| 764 | + |
763 | 765 | <section id="scheduling-jdk-timer">
|
764 | 766 | <title>Using JDK Timer support</title>
|
765 | 767 | <para>
|
|
0 commit comments