Skip to content

Commit e5bda0d

Browse files
committed
Rename SimpleJobOperator to TaskExecutorJobOperator
Resolves #4834
1 parent 2514346 commit e5bda0d

File tree

13 files changed

+86
-33
lines changed

13 files changed

+86
-33
lines changed

spring-batch-core/src/main/java/org/springframework/batch/core/configuration/annotation/EnableBatchProcessing.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@
8989
* {@link org.springframework.batch.core.configuration.support.MapJobRegistry})</li>
9090
* <li>a {@link org.springframework.batch.core.launch.JobOperator} (bean name
9191
* "jobOperator" of type
92-
* {@link org.springframework.batch.core.launch.support.SimpleJobOperator})</li>
92+
* {@link org.springframework.batch.core.launch.support.TaskExecutorJobOperator})</li>
9393
* <li>a
9494
* {@link org.springframework.batch.core.configuration.support.JobRegistrySmartInitializingSingleton}
9595
* (bean name "jobRegistrySmartInitializingSingleton" of type

spring-batch-core/src/main/java/org/springframework/batch/core/launch/support/JobOperatorFactoryBean.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
* {@link JobOperator}.
4646
*
4747
* @see JobOperator
48-
* @see SimpleJobOperator
48+
* @see TaskExecutorJobOperator
4949
* @author Mahmoud Ben Hassine
5050
* @since 5.0
5151
*/
@@ -174,15 +174,15 @@ public JobOperator getObject() throws Exception {
174174
return (JobOperator) this.proxyFactory.getProxy(getClass().getClassLoader());
175175
}
176176

177-
private SimpleJobOperator getTarget() throws Exception {
178-
SimpleJobOperator simpleJobOperator = new SimpleJobOperator();
179-
simpleJobOperator.setJobRegistry(this.jobRegistry);
180-
simpleJobOperator.setJobRepository(this.jobRepository);
181-
simpleJobOperator.setTaskExecutor(this.taskExecutor);
182-
simpleJobOperator.setMeterRegistry(this.meterRegistry);
183-
simpleJobOperator.setJobParametersConverter(this.jobParametersConverter);
184-
simpleJobOperator.afterPropertiesSet();
185-
return simpleJobOperator;
177+
private TaskExecutorJobOperator getTarget() throws Exception {
178+
TaskExecutorJobOperator taskExecutorJobOperator = new TaskExecutorJobOperator();
179+
taskExecutorJobOperator.setJobRegistry(this.jobRegistry);
180+
taskExecutorJobOperator.setJobRepository(this.jobRepository);
181+
taskExecutorJobOperator.setTaskExecutor(this.taskExecutor);
182+
taskExecutorJobOperator.setMeterRegistry(this.meterRegistry);
183+
taskExecutorJobOperator.setJobParametersConverter(this.jobParametersConverter);
184+
taskExecutorJobOperator.afterPropertiesSet();
185+
return taskExecutorJobOperator;
186186
}
187187

188188
}

spring-batch-core/src/main/java/org/springframework/batch/core/launch/support/SimpleJobOperator.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,15 +81,18 @@
8181
* @author Will Schipp
8282
* @author Mahmoud Ben Hassine
8383
* @since 2.0
84+
* @deprecated since 6.0 in favor of {@link TaskExecutorJobOperator}. Scheduled for
85+
* removal in 6.2 or later.
8486
*/
87+
@Deprecated(since = "6.0", forRemoval = true)
8588
public class SimpleJobOperator extends TaskExecutorJobLauncher implements JobOperator, InitializingBean {
8689

8790
private static final String ILLEGAL_STATE_MSG = "Illegal state (only happens on a race condition): "
8891
+ "%s with name=%s and parameters=%s";
8992

90-
private ListableJobLocator jobRegistry;
93+
protected ListableJobLocator jobRegistry;
9194

92-
private JobParametersConverter jobParametersConverter = new DefaultJobParametersConverter();
95+
protected JobParametersConverter jobParametersConverter = new DefaultJobParametersConverter();
9396

9497
private final Log logger = LogFactory.getLog(getClass());
9598

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
/*
2+
* Copyright 2022-2025 the original author or authors.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* https://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
package org.springframework.batch.core.launch.support;
17+
18+
import org.springframework.batch.core.configuration.JobRegistry;
19+
import org.springframework.batch.core.configuration.ListableJobLocator;
20+
import org.springframework.batch.core.launch.JobOperator;
21+
import org.springframework.batch.core.repository.JobRepository;
22+
23+
/**
24+
* A {@link org.springframework.core.task.TaskExecutor}-based implementation of the
25+
* {@link JobOperator} interface. The following dependencies are required:
26+
*
27+
* <ul>
28+
* <li>{@link JobRepository}
29+
* <li>{@link JobRegistry}
30+
* </ul>
31+
*
32+
* This class can be instantiated with a {@link JobOperatorFactoryBean} to create a
33+
* transactional proxy around the job operator.
34+
*
35+
* @see JobOperatorFactoryBean
36+
* @author Dave Syer
37+
* @author Lucas Ward
38+
* @author Will Schipp
39+
* @author Mahmoud Ben Hassine
40+
* @since 6.0
41+
*/
42+
public class TaskExecutorJobOperator extends SimpleJobOperator {
43+
44+
/**
45+
* Public setter for the {@link ListableJobLocator}.
46+
* @param jobRegistry the {@link ListableJobLocator} to set
47+
*/
48+
public void setJobRegistry(ListableJobLocator jobRegistry) {
49+
this.jobRegistry = jobRegistry;
50+
}
51+
52+
}

spring-batch-core/src/test/java/org/springframework/batch/core/launch/support/JobOperatorFactoryBeanTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public void testJobOperatorCreation() throws Exception {
6161
// then
6262
Assertions.assertNotNull(jobOperator);
6363
Object targetObject = AopTestUtils.getTargetObject(jobOperator);
64-
Assertions.assertInstanceOf(SimpleJobOperator.class, targetObject);
64+
Assertions.assertInstanceOf(TaskExecutorJobOperator.class, targetObject);
6565
Assertions.assertEquals(this.transactionManager, getTransactionManagerSetOnJobOperator(jobOperator));
6666
}
6767

spring-batch-core/src/test/java/org/springframework/batch/core/launch/support/SimpleJobOperatorTests.java renamed to spring-batch-core/src/test/java/org/springframework/batch/core/launch/support/TaskExecutorJobOperatorTests.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,7 @@
4747
import org.springframework.batch.core.launch.NoSuchJobExecutionException;
4848
import org.springframework.batch.core.launch.NoSuchJobInstanceException;
4949
import org.springframework.batch.core.repository.JobExecutionAlreadyRunningException;
50-
import org.springframework.batch.core.repository.JobInstanceAlreadyCompleteException;
5150
import org.springframework.batch.core.repository.JobRepository;
52-
import org.springframework.batch.core.repository.JobRestartException;
5351
import org.springframework.batch.core.scope.context.ChunkContext;
5452
import org.springframework.batch.core.step.tasklet.StoppableTasklet;
5553
import org.springframework.batch.core.step.tasklet.TaskletStep;
@@ -74,9 +72,9 @@
7472
* @author Jinwoo Bae
7573
*
7674
*/
77-
class SimpleJobOperatorTests {
75+
class TaskExecutorJobOperatorTests {
7876

79-
private SimpleJobOperator jobOperator;
77+
private TaskExecutorJobOperator jobOperator;
8078

8179
protected Job job;
8280

@@ -99,7 +97,7 @@ public JobParametersIncrementer getJobParametersIncrementer() {
9997
}
10098
};
10199

102-
jobOperator = new SimpleJobOperator() {
100+
jobOperator = new TaskExecutorJobOperator() {
103101
@Override
104102
public JobExecution run(Job job, JobParameters jobParameters) {
105103
return new JobExecution(new JobInstance(123L, job.getName()), 999L, jobParameters);
@@ -143,13 +141,13 @@ public Properties getProperties(@Nullable JobParameters params) {
143141

144142
@Test
145143
void testMandatoryProperties() {
146-
jobOperator = new SimpleJobOperator();
144+
jobOperator = new TaskExecutorJobOperator();
147145
assertThrows(IllegalStateException.class, jobOperator::afterPropertiesSet);
148146
}
149147

150148
/**
151149
* Test method for
152-
* {@link org.springframework.batch.core.launch.support.SimpleJobOperator#startNextInstance(java.lang.String)}
150+
* {@link org.springframework.batch.core.launch.support.TaskExecutorJobOperator#startNextInstance(java.lang.String)}
153151
* .
154152
*/
155153
@Test

spring-batch-core/src/test/resources/org/springframework/batch/core/repository/dao/OptimisticLockingFailureTests-context.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848

4949
<bean id="jobRegistry" class="org.springframework.batch.core.configuration.support.MapJobRegistry"/>
5050

51-
<bean id="jobOperator" class="org.springframework.batch.core.launch.support.SimpleJobOperator">
51+
<bean id="jobOperator" class="org.springframework.batch.core.launch.support.TaskExecutorJobOperator">
5252
<property name="jobRepository" ref="jobRepository"/>
5353
<property name="jobRegistry" ref="jobRegistry"/>
5454
<property name="taskExecutor">

spring-batch-core/src/test/resources/simple-job-launcher-context.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
p:dataSource-ref="dataSource" p:transactionManager-ref="transactionManager" />
1616

1717
<bean id="jobOperator"
18-
class="org.springframework.batch.core.launch.support.SimpleJobOperator"
18+
class="org.springframework.batch.core.launch.support.TaskExecutorJobOperator"
1919
p:jobRepository-ref="jobRepository" p:jobRegistry-ref="jobRegistry" />
2020

2121
<bean id="jobExplorer"

spring-batch-docs/modules/ROOT/pages/job/advanced-meta-data.adoc

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -348,14 +348,14 @@ public interface JobOperator {
348348

349349
The preceding operations represent methods from many different interfaces, such as
350350
`JobLauncher`, `JobRepository`, `JobExplorer`, and `JobRegistry`. For this reason, the
351-
provided implementation of `JobOperator` (`SimpleJobOperator`) has many dependencies.
351+
provided implementation of `JobOperator` (`TaskExecutorJobOperator`) has many dependencies.
352352

353353

354354
[tabs]
355355
====
356356
Java::
357357
+
358-
The following example shows a typical bean definition for `SimpleJobOperator` in Java:
358+
The following example shows a typical bean definition for `TaskExecutorJobOperator` in Java:
359359
+
360360
[source, java]
361361
----
@@ -364,12 +364,12 @@ The following example shows a typical bean definition for `SimpleJobOperator` in
364364
* infrastructure out of the box.
365365
*/
366366
@Bean
367-
public SimpleJobOperator jobOperator(JobExplorer jobExplorer,
367+
public TaskExecutorJobOperator jobOperator(JobExplorer jobExplorer,
368368
JobRepository jobRepository,
369369
JobRegistry jobRegistry,
370370
JobLauncher jobLauncher) {
371371
372-
SimpleJobOperator jobOperator = new SimpleJobOperator();
372+
TaskExecutorJobOperator jobOperator = new TaskExecutorJobOperator();
373373
jobOperator.setJobExplorer(jobExplorer);
374374
jobOperator.setJobRepository(jobRepository);
375375
jobOperator.setJobRegistry(jobRegistry);
@@ -381,11 +381,11 @@ The following example shows a typical bean definition for `SimpleJobOperator` in
381381
382382
XML::
383383
+
384-
The following example shows a typical bean definition for `SimpleJobOperator` in XML:
384+
The following example shows a typical bean definition for `TaskExecutorJobOperator` in XML:
385385
+
386386
[source, xml]
387387
----
388-
<bean id="jobOperator" class="org.spr...SimpleJobOperator">
388+
<bean id="jobOperator" class="org.spr...TaskExecutorJobOperator">
389389
<property name="jobExplorer">
390390
<bean class="org.spr...JobExplorerFactoryBean">
391391
<property name="dataSource" ref="dataSource" />

spring-batch-samples/src/main/resources/org/springframework/batch/samples/misc/jmx/adhoc-job-launcher-context.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
</bean>
4444

4545
<bean id="notificationPublisher" class="org.springframework.batch.samples.misc.jmx.JobExecutionNotificationPublisher" />
46-
<bean id="jobOperator" class="org.springframework.batch.core.launch.support.SimpleJobOperator">
46+
<bean id="jobOperator" class="org.springframework.batch.core.launch.support.TaskExecutorJobOperator">
4747
<property name="jobRepository" ref="jobRepository" />
4848
<property name="jobRegistry" ref="jobRegistry" />
4949
<property name="taskExecutor">

spring-batch-samples/src/main/resources/org/springframework/batch/samples/restart/stop/stopRestartSample.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
p:dataSource-ref="dataSource" p:transactionManager-ref="transactionManager"/>
1515

1616
<bean id="jobOperator"
17-
class="org.springframework.batch.core.launch.support.SimpleJobOperator"
17+
class="org.springframework.batch.core.launch.support.TaskExecutorJobOperator"
1818
p:jobRepository-ref="jobRepository" p:jobRegistry-ref="jobRegistry">
1919
<property name="taskExecutor">
2020
<bean class="org.springframework.core.task.SimpleAsyncTaskExecutor"/>

spring-batch-samples/src/main/resources/org/springframework/batch/samples/skip/job/skipSample-job-launcher-context.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<bean id="jobRepository" class="org.springframework.batch.core.repository.support.JdbcJobRepositoryFactoryBean"
1010
p:dataSource-ref="dataSource" p:transactionManager-ref="transactionManager" />
1111

12-
<bean id="jobOperator" class="org.springframework.batch.core.launch.support.SimpleJobOperator"
12+
<bean id="jobOperator" class="org.springframework.batch.core.launch.support.TaskExecutorJobOperator"
1313
p:jobRepository-ref="jobRepository" p:jobRegistry-ref="jobRegistry" />
1414

1515
<bean id="jobExplorer" class="org.springframework.batch.core.repository.explore.support.JobExplorerFactoryBean"

spring-batch-samples/src/main/resources/simple-job-launcher-context.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
p:dataSource-ref="dataSource" p:transactionManager-ref="transactionManager"/>
1616

1717
<bean id="jobOperator"
18-
class="org.springframework.batch.core.launch.support.SimpleJobOperator"
18+
class="org.springframework.batch.core.launch.support.TaskExecutorJobOperator"
1919
p:jobRepository-ref="jobRepository" p:jobRegistry-ref="jobRegistry" />
2020

2121
<bean id="jobRegistry"

0 commit comments

Comments
 (0)