Skip to content

Commit 6992b79

Browse files
committed
Remove dependency to JobExplorer in SimpleJobOperator
Resolves #4817
1 parent b8c93d6 commit 6992b79

File tree

11 files changed

+42
-84
lines changed

11 files changed

+42
-84
lines changed

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,6 @@ private void registerJobOperator(BeanDefinitionRegistry registry, EnableBatchPro
254254

255255
beanDefinitionBuilder.addPropertyReference(JOB_REPOSITORY, JOB_REPOSITORY);
256256
beanDefinitionBuilder.addPropertyReference(JOB_LAUNCHER, JOB_LAUNCHER);
257-
beanDefinitionBuilder.addPropertyReference(JOB_EXPLORER, JOB_EXPLORER);
258257
beanDefinitionBuilder.addPropertyReference(JOB_REGISTRY, JOB_REGISTRY);
259258

260259
// set optional properties

spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/DefaultBatchConfiguration.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -197,20 +197,18 @@ public JobRegistry jobRegistry() throws BatchConfigurationException {
197197
/**
198198
* Define a job operator bean.
199199
* @param jobRepository a job repository
200-
* @param jobExplorer a job explorer
201200
* @param jobRegistry a job registry
202201
* @param jobLauncher a job launcher
203202
* @return a job operator
204203
* @throws BatchConfigurationException if unable to configure the default job operator
205204
* @since 5.2
206205
*/
207206
@Bean
208-
public JobOperator jobOperator(JobRepository jobRepository, JobExplorer jobExplorer, JobRegistry jobRegistry,
209-
JobLauncher jobLauncher) throws BatchConfigurationException {
207+
public JobOperator jobOperator(JobRepository jobRepository, JobRegistry jobRegistry, JobLauncher jobLauncher)
208+
throws BatchConfigurationException {
210209
JobOperatorFactoryBean jobOperatorFactoryBean = new JobOperatorFactoryBean();
211210
jobOperatorFactoryBean.setTransactionManager(getTransactionManager());
212211
jobOperatorFactoryBean.setJobRepository(jobRepository);
213-
jobOperatorFactoryBean.setJobExplorer(jobExplorer);
214212
jobOperatorFactoryBean.setJobRegistry(jobRegistry);
215213
jobOperatorFactoryBean.setJobLauncher(jobLauncher);
216214
jobOperatorFactoryBean.setJobParametersConverter(getJobParametersConverter());

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

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,6 @@ public class JobOperatorFactoryBean implements FactoryBean<JobOperator>, Initial
6161

6262
private JobRepository jobRepository;
6363

64-
private JobExplorer jobExplorer;
65-
6664
private JobParametersConverter jobParametersConverter = new DefaultJobParametersConverter();
6765

6866
private final ProxyFactory proxyFactory = new ProxyFactory();
@@ -72,7 +70,6 @@ public void afterPropertiesSet() throws Exception {
7270
Assert.notNull(this.transactionManager, "TransactionManager must not be null");
7371
Assert.notNull(this.jobLauncher, "JobLauncher must not be null");
7472
Assert.notNull(this.jobRegistry, "JobRegistry must not be null");
75-
Assert.notNull(this.jobExplorer, "JobExplorer must not be null");
7673
Assert.notNull(this.jobRepository, "JobRepository must not be null");
7774
if (this.transactionAttributeSource == null) {
7875
Properties transactionAttributes = new Properties();
@@ -108,14 +105,6 @@ public void setJobRepository(JobRepository jobRepository) {
108105
this.jobRepository = jobRepository;
109106
}
110107

111-
/**
112-
* Setter for the job explorer.
113-
* @param jobExplorer the job explorer to set
114-
*/
115-
public void setJobExplorer(JobExplorer jobExplorer) {
116-
this.jobExplorer = jobExplorer;
117-
}
118-
119108
/**
120109
* Setter for the job parameters converter.
121110
* @param jobParametersConverter the job parameters converter to set
@@ -166,7 +155,6 @@ public JobOperator getObject() throws Exception {
166155
private SimpleJobOperator getTarget() throws Exception {
167156
SimpleJobOperator simpleJobOperator = new SimpleJobOperator();
168157
simpleJobOperator.setJobRegistry(this.jobRegistry);
169-
simpleJobOperator.setJobExplorer(this.jobExplorer);
170158
simpleJobOperator.setJobRepository(this.jobRepository);
171159
simpleJobOperator.setJobLauncher(this.jobLauncher);
172160
simpleJobOperator.setJobParametersConverter(this.jobParametersConverter);

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

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,6 @@ public class SimpleJobOperator implements JobOperator, InitializingBean {
9393

9494
private ListableJobLocator jobRegistry;
9595

96-
private JobExplorer jobExplorer;
97-
9896
private JobLauncher jobLauncher;
9997

10098
private JobRepository jobRepository;
@@ -112,7 +110,6 @@ public class SimpleJobOperator implements JobOperator, InitializingBean {
112110
public void afterPropertiesSet() throws Exception {
113111
Assert.state(jobLauncher != null, "JobLauncher must be provided");
114112
Assert.state(jobRegistry != null, "JobLocator must be provided");
115-
Assert.state(jobExplorer != null, "JobExplorer must be provided");
116113
Assert.state(jobRepository != null, "JobRepository must be provided");
117114
}
118115

@@ -132,14 +129,6 @@ public void setJobRegistry(ListableJobLocator jobRegistry) {
132129
this.jobRegistry = jobRegistry;
133130
}
134131

135-
/**
136-
* Public setter for the {@link JobExplorer}.
137-
* @param jobExplorer the {@link JobExplorer} to set
138-
*/
139-
public void setJobExplorer(JobExplorer jobExplorer) {
140-
this.jobExplorer = jobExplorer;
141-
}
142-
143132
public void setJobRepository(JobRepository jobRepository) {
144133
this.jobRepository = jobRepository;
145134
}
@@ -154,12 +143,12 @@ public void setJobLauncher(JobLauncher jobLauncher) {
154143

155144
@Override
156145
public List<Long> getExecutions(long instanceId) throws NoSuchJobInstanceException {
157-
JobInstance jobInstance = jobExplorer.getJobInstance(instanceId);
146+
JobInstance jobInstance = jobRepository.getJobInstance(instanceId);
158147
if (jobInstance == null) {
159148
throw new NoSuchJobInstanceException(String.format("No job instance with id=%d", instanceId));
160149
}
161150
List<Long> list = new ArrayList<>();
162-
for (JobExecution jobExecution : jobExplorer.getJobExecutions(jobInstance)) {
151+
for (JobExecution jobExecution : jobRepository.getJobExecutions(jobInstance)) {
163152
list.add(jobExecution.getId());
164153
}
165154
return list;
@@ -173,7 +162,7 @@ public Set<String> getJobNames() {
173162
@Override
174163
public List<Long> getJobInstances(String jobName, int start, int count) throws NoSuchJobException {
175164
List<Long> list = new ArrayList<>();
176-
List<JobInstance> jobInstances = jobExplorer.getJobInstances(jobName, start, count);
165+
List<JobInstance> jobInstances = jobRepository.getJobInstances(jobName, start, count);
177166
for (JobInstance jobInstance : jobInstances) {
178167
list.add(jobInstance.getId());
179168
}
@@ -186,7 +175,7 @@ public List<Long> getJobInstances(String jobName, int start, int count) throws N
186175
@Override
187176
@Nullable
188177
public JobInstance getJobInstance(String jobName, JobParameters jobParameters) {
189-
return this.jobExplorer.getJobInstance(jobName, jobParameters);
178+
return this.jobRepository.getJobInstance(jobName, jobParameters);
190179
}
191180

192181
@Override
@@ -201,7 +190,7 @@ public String getParameters(long executionId) throws NoSuchJobExecutionException
201190
@Override
202191
public Set<Long> getRunningExecutions(String jobName) throws NoSuchJobException {
203192
Set<Long> set = new LinkedHashSet<>();
204-
for (JobExecution jobExecution : jobExplorer.findRunningJobExecutions(jobName)) {
193+
for (JobExecution jobExecution : jobRepository.findRunningJobExecutions(jobName)) {
205194
set.add(jobExecution.getId());
206195
}
207196
if (set.isEmpty() && !jobRegistry.getJobNames().contains(jobName)) {
@@ -299,7 +288,7 @@ public Long startNextInstance(String jobName)
299288
}
300289

301290
Job job = jobRegistry.getJob(jobName);
302-
JobParameters parameters = new JobParametersBuilder(jobExplorer).getNextJobParameters(job).toJobParameters();
291+
JobParameters parameters = new JobParametersBuilder(jobRepository).getNextJobParameters(job).toJobParameters();
303292
if (logger.isInfoEnabled()) {
304293
logger.info(String.format("Attempting to launch job with name=%s and parameters=%s", jobName, parameters));
305294
}
@@ -389,7 +378,7 @@ public JobExecution abandon(long jobExecutionId)
389378
}
390379

391380
private JobExecution findExecutionById(long executionId) throws NoSuchJobExecutionException {
392-
JobExecution jobExecution = jobExplorer.getJobExecution(executionId);
381+
JobExecution jobExecution = jobRepository.getJobExecution(executionId);
393382

394383
if (jobExecution == null) {
395384
throw new NoSuchJobExecutionException("No JobExecution found for id: [" + executionId + "]");

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ public void testJobOperatorCreation() throws Exception {
5757
JobOperatorFactoryBean jobOperatorFactoryBean = new JobOperatorFactoryBean();
5858
jobOperatorFactoryBean.setTransactionManager(this.transactionManager);
5959
jobOperatorFactoryBean.setJobLauncher(this.jobLauncher);
60-
jobOperatorFactoryBean.setJobExplorer(this.jobExplorer);
6160
jobOperatorFactoryBean.setJobRegistry(this.jobRegistry);
6261
jobOperatorFactoryBean.setJobRepository(this.jobRepository);
6362
jobOperatorFactoryBean.setJobParametersConverter(this.jobParametersConverter);
@@ -80,7 +79,6 @@ public void testCustomTransactionAttributesSource() throws Exception {
8079
JobOperatorFactoryBean jobOperatorFactoryBean = new JobOperatorFactoryBean();
8180
jobOperatorFactoryBean.setTransactionManager(this.transactionManager);
8281
jobOperatorFactoryBean.setJobLauncher(this.jobLauncher);
83-
jobOperatorFactoryBean.setJobExplorer(this.jobExplorer);
8482
jobOperatorFactoryBean.setJobRegistry(this.jobRegistry);
8583
jobOperatorFactoryBean.setJobRepository(this.jobRepository);
8684
jobOperatorFactoryBean.setJobParametersConverter(this.jobParametersConverter);

0 commit comments

Comments
 (0)