diff --git a/pom.xml b/pom.xml
index 451a548b..01281c86 100755
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
org.springframework.cloud
spring-cloud-build
- 3.0.4-SNAPSHOT
+ 3.1.0-SNAPSHOT
diff --git a/spring-cloud-starter-single-step-batch-job/pom.xml b/spring-cloud-starter-single-step-batch-job/pom.xml
index b8a95ee5..b2ed141b 100644
--- a/spring-cloud-starter-single-step-batch-job/pom.xml
+++ b/spring-cloud-starter-single-step-batch-job/pom.xml
@@ -10,10 +10,10 @@
spring-cloud-starter-single-step-batch-job
- 1.15.2
- 1.15.2
+ 1.15.3
+ 1.15.3
1.0.8
- 2.6.6
+ 2.8.0-M1
3.1.4-SNAPSHOT
diff --git a/spring-cloud-starter-single-step-batch-job/src/test/java/org/springframework/cloud/task/batch/autoconfigure/jdbc/JdbcBatchItemWriterAutoConfigurationTests.java b/spring-cloud-starter-single-step-batch-job/src/test/java/org/springframework/cloud/task/batch/autoconfigure/jdbc/JdbcBatchItemWriterAutoConfigurationTests.java
index d2c4255f..ba27a532 100644
--- a/spring-cloud-starter-single-step-batch-job/src/test/java/org/springframework/cloud/task/batch/autoconfigure/jdbc/JdbcBatchItemWriterAutoConfigurationTests.java
+++ b/spring-cloud-starter-single-step-batch-job/src/test/java/org/springframework/cloud/task/batch/autoconfigure/jdbc/JdbcBatchItemWriterAutoConfigurationTests.java
@@ -99,8 +99,9 @@ public class JdbcBatchItemWriterAutoConfigurationTests {
public void baseTest() {
ApplicationContextRunner applicationContextRunner = new ApplicationContextRunner()
.withUserConfiguration(
- JdbcBatchItemWriterAutoConfigurationTests.DelimitedJobConfiguration.class,
- TaskLauncherConfiguration.class)
+ TaskLauncherConfiguration.class,
+ JdbcBatchItemWriterAutoConfigurationTests.DelimitedJobConfiguration.class
+ )
.withConfiguration(
AutoConfigurations.of(PropertyPlaceholderAutoConfiguration.class,
BatchAutoConfiguration.class,
@@ -115,8 +116,8 @@ public class JdbcBatchItemWriterAutoConfigurationTests {
public void customSqlParameterSourceTest() {
ApplicationContextRunner applicationContextRunner = new ApplicationContextRunner()
.withUserConfiguration(
- JdbcBatchItemWriterAutoConfigurationTests.DelimitedDifferentKeyNameJobConfiguration.class,
TaskLauncherConfiguration.class,
+ JdbcBatchItemWriterAutoConfigurationTests.DelimitedDifferentKeyNameJobConfiguration.class,
CustomSqlParameterSourceProviderConfiguration.class)
.withConfiguration(
AutoConfigurations.of(PropertyPlaceholderAutoConfiguration.class,
@@ -132,8 +133,8 @@ public class JdbcBatchItemWriterAutoConfigurationTests {
public void preparedStatementSetterTest() {
ApplicationContextRunner applicationContextRunner = new ApplicationContextRunner()
.withUserConfiguration(
- JdbcBatchItemWriterAutoConfigurationTests.DelimitedJobConfiguration.class,
TaskLauncherConfiguration.class,
+ JdbcBatchItemWriterAutoConfigurationTests.DelimitedJobConfiguration.class,
ItemPreparedStatementSetterConfiguration.class)
.withConfiguration(
AutoConfigurations.of(PropertyPlaceholderAutoConfiguration.class,
diff --git a/spring-cloud-starter-single-step-batch-job/src/test/java/org/springframework/cloud/task/batch/autoconfigure/jdbc/JdbcCursorItemReaderAutoConfigurationTests.java b/spring-cloud-starter-single-step-batch-job/src/test/java/org/springframework/cloud/task/batch/autoconfigure/jdbc/JdbcCursorItemReaderAutoConfigurationTests.java
index 29049289..76112f38 100644
--- a/spring-cloud-starter-single-step-batch-job/src/test/java/org/springframework/cloud/task/batch/autoconfigure/jdbc/JdbcCursorItemReaderAutoConfigurationTests.java
+++ b/spring-cloud-starter-single-step-batch-job/src/test/java/org/springframework/cloud/task/batch/autoconfigure/jdbc/JdbcCursorItemReaderAutoConfigurationTests.java
@@ -91,8 +91,7 @@ public class JdbcCursorItemReaderAutoConfigurationTests {
@Test
public void testIntegration() {
ApplicationContextRunner applicationContextRunner = new ApplicationContextRunner()
- .withUserConfiguration(BaseConfiguration.class,
- TaskLauncherConfiguration.class)
+ .withUserConfiguration(TaskLauncherConfiguration.class, BaseConfiguration.class)
.withConfiguration(
AutoConfigurations.of(PropertyPlaceholderAutoConfiguration.class,
BatchAutoConfiguration.class,
@@ -129,8 +128,7 @@ public class JdbcCursorItemReaderAutoConfigurationTests {
@Test
public void testCustomRowMapper() {
ApplicationContextRunner applicationContextRunner = new ApplicationContextRunner()
- .withUserConfiguration(RowMapperConfiguration.class,
- TaskLauncherConfiguration.class)
+ .withUserConfiguration(TaskLauncherConfiguration.class, RowMapperConfiguration.class)
.withConfiguration(
AutoConfigurations.of(PropertyPlaceholderAutoConfiguration.class,
BatchAutoConfiguration.class,
@@ -167,8 +165,7 @@ public class JdbcCursorItemReaderAutoConfigurationTests {
@Test
public void testRoseyScenario() {
final ApplicationContextRunner applicationContextRunner = new ApplicationContextRunner()
- .withUserConfiguration(BaseConfiguration.class,
- TaskLauncherConfiguration.class)
+ .withUserConfiguration(TaskLauncherConfiguration.class, BaseConfiguration.class)
.withConfiguration(
AutoConfigurations.of(PropertyPlaceholderAutoConfiguration.class,
BatchAutoConfiguration.class,
@@ -231,8 +228,7 @@ public class JdbcCursorItemReaderAutoConfigurationTests {
@Test
public void testNoName() {
final ApplicationContextRunner applicationContextRunner = new ApplicationContextRunner()
- .withUserConfiguration(BaseConfiguration.class,
- TaskLauncherConfiguration.class)
+ .withUserConfiguration(TaskLauncherConfiguration.class, BaseConfiguration.class)
.withConfiguration(
AutoConfigurations.of(PropertyPlaceholderAutoConfiguration.class,
BatchAutoConfiguration.class,
@@ -251,8 +247,7 @@ public class JdbcCursorItemReaderAutoConfigurationTests {
@Test
public void testSqlName() {
final ApplicationContextRunner applicationContextRunner = new ApplicationContextRunner()
- .withUserConfiguration(BaseConfiguration.class,
- TaskLauncherConfiguration.class)
+ .withUserConfiguration(TaskLauncherConfiguration.class, BaseConfiguration.class)
.withConfiguration(
AutoConfigurations.of(PropertyPlaceholderAutoConfiguration.class,
BatchAutoConfiguration.class,
diff --git a/spring-cloud-task-batch/src/main/java/org/springframework/cloud/task/batch/configuration/TaskJobLauncherAutoConfiguration.java b/spring-cloud-task-batch/src/main/java/org/springframework/cloud/task/batch/configuration/TaskJobLauncherAutoConfiguration.java
index 9e98ca9c..8a9e3b1c 100644
--- a/spring-cloud-task-batch/src/main/java/org/springframework/cloud/task/batch/configuration/TaskJobLauncherAutoConfiguration.java
+++ b/spring-cloud-task-batch/src/main/java/org/springframework/cloud/task/batch/configuration/TaskJobLauncherAutoConfiguration.java
@@ -28,7 +28,6 @@ import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.batch.BatchAutoConfiguration;
import org.springframework.boot.autoconfigure.batch.BatchProperties;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
@@ -36,7 +35,7 @@ import org.springframework.context.annotation.Configuration;
/**
* Provides auto configuration for the
- * {@link org.springframework.cloud.task.batch.handler.TaskJobLauncherCommandLineRunner}.
+ * {@link org.springframework.cloud.task.batch.handler.TaskJobLauncherApplicationRunner}.
*
* @author Glenn Renfro
*/
@@ -49,20 +48,6 @@ public class TaskJobLauncherAutoConfiguration {
@Autowired
private TaskBatchProperties properties;
- @Bean
- @ConditionalOnMissingClass("org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner")
- public TaskJobLauncherCommandLineRunnerFactoryBean jobLauncherCommandLineRunner(
- JobLauncher jobLauncher, JobExplorer jobExplorer, List jobs,
- JobRegistry jobRegistry, JobRepository jobRepository,
- BatchProperties batchProperties) {
- TaskJobLauncherCommandLineRunnerFactoryBean taskJobLauncherCommandLineRunnerFactoryBean;
- taskJobLauncherCommandLineRunnerFactoryBean = new TaskJobLauncherCommandLineRunnerFactoryBean(
- jobLauncher, jobExplorer, jobs, this.properties, jobRegistry,
- jobRepository, batchProperties);
-
- return taskJobLauncherCommandLineRunnerFactoryBean;
- }
-
@Bean
@ConditionalOnClass(
name = "org.springframework.boot.autoconfigure.batch.JobLauncherApplicationRunner")
diff --git a/spring-cloud-task-batch/src/main/java/org/springframework/cloud/task/batch/configuration/TaskJobLauncherCommandLineRunnerFactoryBean.java b/spring-cloud-task-batch/src/main/java/org/springframework/cloud/task/batch/configuration/TaskJobLauncherCommandLineRunnerFactoryBean.java
deleted file mode 100644
index 54f3bf64..00000000
--- a/spring-cloud-task-batch/src/main/java/org/springframework/cloud/task/batch/configuration/TaskJobLauncherCommandLineRunnerFactoryBean.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright 2018-2020 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
- *
- * https://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.
- */
-
-package org.springframework.cloud.task.batch.configuration;
-
-import java.util.List;
-
-import org.springframework.batch.core.Job;
-import org.springframework.batch.core.configuration.JobRegistry;
-import org.springframework.batch.core.explore.JobExplorer;
-import org.springframework.batch.core.launch.JobLauncher;
-import org.springframework.batch.core.repository.JobRepository;
-import org.springframework.beans.factory.FactoryBean;
-import org.springframework.boot.autoconfigure.batch.BatchProperties;
-import org.springframework.cloud.task.batch.handler.TaskJobLauncherCommandLineRunner;
-import org.springframework.util.Assert;
-import org.springframework.util.StringUtils;
-
-/**
- * Factory bean for creating an instance of {@link TaskJobLauncherCommandLineRunner}.
- *
- * @author Glenn Renfro
- * @deprecated Use
- * {@link org.springframework.cloud.task.batch.handler.TaskJobLauncherApplicationRunner}
- */
-public class TaskJobLauncherCommandLineRunnerFactoryBean
- implements FactoryBean {
-
- private JobLauncher jobLauncher;
-
- private JobExplorer jobExplorer;
-
- private List jobs;
-
- private String jobNames;
-
- private JobRegistry jobRegistry;
-
- private Integer order = 0;
-
- private TaskBatchProperties taskBatchProperties;
-
- private JobRepository jobRepository;
-
- public TaskJobLauncherCommandLineRunnerFactoryBean(JobLauncher jobLauncher,
- JobExplorer jobExplorer, List jobs,
- TaskBatchProperties taskBatchProperties, JobRegistry jobRegistry,
- JobRepository jobRepository, BatchProperties batchProperties) {
- Assert.notNull(taskBatchProperties, "taskBatchProperties must not be null");
- Assert.notNull(batchProperties, "batchProperties must not be null");
- this.jobLauncher = jobLauncher;
- this.jobExplorer = jobExplorer;
- Assert.notEmpty(jobs, "jobs must not be null nor empty");
- this.jobs = jobs;
- this.jobNames = taskBatchProperties.getJobNames();
- this.jobRegistry = jobRegistry;
- this.taskBatchProperties = taskBatchProperties;
- if (StringUtils.hasText(batchProperties.getJob().getNames())) {
- this.jobNames = batchProperties.getJob().getNames();
- }
- else {
- this.jobNames = taskBatchProperties.getJobNames();
- }
- this.order = taskBatchProperties.getCommandLineRunnerOrder();
- this.jobRepository = jobRepository;
- }
-
- public void setOrder(int order) {
- this.order = order;
- }
-
- @Override
- public TaskJobLauncherCommandLineRunner getObject() {
- TaskJobLauncherCommandLineRunner taskJobLauncherCommandLineRunner = new TaskJobLauncherCommandLineRunner(
- this.jobLauncher, this.jobExplorer, this.jobRepository,
- this.taskBatchProperties);
- taskJobLauncherCommandLineRunner.setJobs(this.jobs);
- if (StringUtils.hasText(this.jobNames)) {
- taskJobLauncherCommandLineRunner.setJobNames(this.jobNames);
- }
- taskJobLauncherCommandLineRunner.setJobRegistry(this.jobRegistry);
-
- if (this.order != null) {
- taskJobLauncherCommandLineRunner.setOrder(this.order);
- }
- return taskJobLauncherCommandLineRunner;
- }
-
- @Override
- public Class> getObjectType() {
- return TaskJobLauncherCommandLineRunner.class;
- }
-
-}
diff --git a/spring-cloud-task-batch/src/main/java/org/springframework/cloud/task/batch/handler/TaskJobLauncherCommandLineRunner.java b/spring-cloud-task-batch/src/main/java/org/springframework/cloud/task/batch/handler/TaskJobLauncherCommandLineRunner.java
deleted file mode 100644
index b8166d6f..00000000
--- a/spring-cloud-task-batch/src/main/java/org/springframework/cloud/task/batch/handler/TaskJobLauncherCommandLineRunner.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*
- * Copyright 2018-2020 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
- *
- * https://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.
- */
-
-package org.springframework.cloud.task.batch.handler;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import org.springframework.batch.core.BatchStatus;
-import org.springframework.batch.core.Job;
-import org.springframework.batch.core.JobExecution;
-import org.springframework.batch.core.JobExecutionException;
-import org.springframework.batch.core.JobParameter;
-import org.springframework.batch.core.JobParameters;
-import org.springframework.batch.core.JobParametersBuilder;
-import org.springframework.batch.core.JobParametersIncrementer;
-import org.springframework.batch.core.JobParametersInvalidException;
-import org.springframework.batch.core.explore.JobExplorer;
-import org.springframework.batch.core.launch.JobLauncher;
-import org.springframework.batch.core.repository.JobExecutionAlreadyRunningException;
-import org.springframework.batch.core.repository.JobInstanceAlreadyCompleteException;
-import org.springframework.batch.core.repository.JobRepository;
-import org.springframework.batch.core.repository.JobRestartException;
-import org.springframework.batch.repeat.RepeatStatus;
-import org.springframework.batch.repeat.support.RepeatTemplate;
-import org.springframework.boot.CommandLineRunner;
-import org.springframework.boot.autoconfigure.batch.JobExecutionEvent;
-import org.springframework.boot.autoconfigure.batch.JobLauncherCommandLineRunner;
-import org.springframework.cloud.task.batch.configuration.TaskBatchProperties;
-import org.springframework.cloud.task.listener.TaskException;
-import org.springframework.context.ApplicationEventPublisher;
-import org.springframework.core.task.TaskExecutor;
-import org.springframework.util.StringUtils;
-
-/**
- * {@link CommandLineRunner} to {@link JobLauncher launch} Spring Batch jobs. Runs all
- * jobs in the surrounding context by default and throws an exception upon the first job
- * that returns an {@link BatchStatus} of FAILED if a {@link TaskExecutor} in the
- * {@link JobLauncher} is not specified. If a {@link TaskExecutor} is specified in the
- * {@link JobLauncher} then all Jobs are launched and an exception is thrown if one or
- * more of the jobs has an {@link BatchStatus} of FAILED. TaskJobLauncherCommandLineRunner
- * can also be used to launch a specific job by providing a jobName. The
- * TaskJobLaunchercommandLineRunner takes the place of the
- * {@link org.springframework.boot.autoconfigure.batch.JobLauncherCommandLineRunner} when
- * it is in use.
- *
- * @author Glenn Renfro
- * @since 2.0.0
- * @deprecated Use {@link TaskJobLauncherApplicationRunner}
- */
-public class TaskJobLauncherCommandLineRunner extends JobLauncherCommandLineRunner {
-
- private static final Log logger = LogFactory
- .getLog(TaskJobLauncherCommandLineRunner.class);
-
- private JobLauncher taskJobLauncher;
-
- private JobExplorer taskJobExplorer;
-
- private JobRepository taskJobRepository;
-
- private List jobExecutionList = new ArrayList<>();
-
- private ApplicationEventPublisher taskApplicationEventPublisher;
-
- private TaskBatchProperties taskBatchProperties;
-
- /**
- * Create a new {@link TaskJobLauncherCommandLineRunner}.
- * @param jobLauncher to launch jobs
- * @param jobExplorer to check the job repository for previous executions
- * @param jobRepository to check if a job instance exists with the given parameters
- * when running a job
- * @param taskBatchProperties the properties used to configure the
- * taskBatchProperties.
- */
- public TaskJobLauncherCommandLineRunner(JobLauncher jobLauncher,
- JobExplorer jobExplorer, JobRepository jobRepository,
- TaskBatchProperties taskBatchProperties) {
- super(jobLauncher, jobExplorer, jobRepository);
- this.taskJobLauncher = jobLauncher;
- this.taskJobExplorer = jobExplorer;
- this.taskJobRepository = jobRepository;
- this.taskBatchProperties = taskBatchProperties;
- }
-
- public void setApplicationEventPublisher(ApplicationEventPublisher publisher) {
- super.setApplicationEventPublisher(publisher);
- this.taskApplicationEventPublisher = publisher;
- }
-
- @Override
- public void run(String... args) throws JobExecutionException {
- logger.info("Running default command line with: " + Arrays.asList(args));
- launchJobFromProperties(StringUtils.splitArrayElementsIntoProperties(args, "="));
- monitorJobExecutions();
- }
-
- protected void execute(Job job, JobParameters jobParameters)
- throws JobExecutionAlreadyRunningException, JobRestartException,
- JobInstanceAlreadyCompleteException, JobParametersInvalidException {
- String jobName = job.getName();
- JobParameters parameters = jobParameters;
- boolean jobInstanceExists = this.taskJobRepository.isJobInstanceExists(jobName,
- parameters);
- if (jobInstanceExists) {
- JobExecution lastJobExecution = this.taskJobRepository
- .getLastJobExecution(jobName, jobParameters);
- if (lastJobExecution != null && isStoppedOrFailed(lastJobExecution)
- && job.isRestartable()) {
- // Retry a failed or stopped execution with previous parameters
- JobParameters previousParameters = lastJobExecution.getJobParameters();
- /*
- * remove Non-identifying parameters from the previous execution's
- * parameters since there is no way to remove them programmatically. If
- * they are required (or need to be modified) on a restart, they need to
- * be (re)specified.
- */
- JobParameters previousIdentifyingParameters = removeNonIdentifying(
- previousParameters);
- // merge additional parameters with previous ones (overriding those with
- // the same key)
- parameters = merge(previousIdentifyingParameters, jobParameters);
- }
- }
- else {
- JobParametersIncrementer incrementer = job.getJobParametersIncrementer();
- if (incrementer != null) {
- JobParameters nextParameters = new JobParametersBuilder(jobParameters,
- this.taskJobExplorer).getNextJobParameters(job).toJobParameters();
- parameters = merge(nextParameters, jobParameters);
- }
- }
- JobExecution execution = this.taskJobLauncher.run(job, parameters);
- if (this.taskApplicationEventPublisher != null) {
- this.taskApplicationEventPublisher
- .publishEvent(new JobExecutionEvent(execution));
- }
- this.jobExecutionList.add(execution);
- if (execution.getStatus().equals(BatchStatus.FAILED)) {
- throwJobFailedException(Collections.singletonList(execution));
- }
- }
-
- private void monitorJobExecutions() {
- RepeatTemplate template = new RepeatTemplate();
-
- Date startDate = new Date();
-
- template.iterate(context -> {
-
- List failedJobExecutions = new ArrayList<>();
- RepeatStatus repeatStatus = RepeatStatus.FINISHED;
- for (JobExecution jobExecution : this.jobExecutionList) {
- JobExecution currentJobExecution = this.taskJobExplorer
- .getJobExecution(jobExecution.getId());
- BatchStatus batchStatus = currentJobExecution.getStatus();
- if (batchStatus.isRunning()) {
- repeatStatus = RepeatStatus.CONTINUABLE;
- }
- if (batchStatus.equals(BatchStatus.FAILED)) {
- failedJobExecutions.add(jobExecution);
- }
- }
- Thread.sleep(this.taskBatchProperties.getFailOnJobFailurePollInterval());
-
- if (repeatStatus.equals(RepeatStatus.FINISHED)
- && failedJobExecutions.size() > 0) {
- throwJobFailedException(failedJobExecutions);
- }
- return repeatStatus;
- });
- }
-
- private void throwJobFailedException(List failedJobExecutions) {
- StringBuilder message = new StringBuilder("The following Jobs have failed: \n");
- for (JobExecution failedJobExecution : failedJobExecutions) {
- message.append(String.format("Job %s failed during "
- + "execution for job instance id %s with jobExecutionId of %s \n",
- failedJobExecution.getJobInstance().getJobName(),
- failedJobExecution.getJobId(), failedJobExecution.getId()));
- }
-
- logger.error(message);
-
- throw new TaskException(message.toString());
-
- }
-
- private JobParameters removeNonIdentifying(JobParameters parameters) {
- Map parameterMap = parameters.getParameters();
- HashMap copy = new HashMap<>(parameterMap);
-
- for (Map.Entry parameter : copy.entrySet()) {
- if (!parameter.getValue().isIdentifying()) {
- parameterMap.remove(parameter.getKey());
- }
- }
-
- return new JobParameters(parameterMap);
- }
-
- private boolean isStoppedOrFailed(JobExecution execution) {
- BatchStatus status = execution.getStatus();
- return (status == BatchStatus.STOPPED || status == BatchStatus.FAILED);
- }
-
- private JobParameters merge(JobParameters parameters, JobParameters additionals) {
- Map merged = new HashMap<>();
- merged.putAll(parameters.getParameters());
- merged.putAll(additionals.getParameters());
- return new JobParameters(merged);
- }
-
-}
diff --git a/spring-cloud-task-batch/src/test/java/org/springframework/cloud/task/batch/configuration/TaskJobLauncherAutoConfigurationTests.java b/spring-cloud-task-batch/src/test/java/org/springframework/cloud/task/batch/configuration/TaskJobLauncherAutoConfigurationTests.java
index d00fc345..f478a9a8 100644
--- a/spring-cloud-task-batch/src/test/java/org/springframework/cloud/task/batch/configuration/TaskJobLauncherAutoConfigurationTests.java
+++ b/spring-cloud-task-batch/src/test/java/org/springframework/cloud/task/batch/configuration/TaskJobLauncherAutoConfigurationTests.java
@@ -26,7 +26,6 @@ import org.springframework.boot.autoconfigure.jdbc.EmbeddedDataSourceConfigurati
import org.springframework.boot.test.context.assertj.AssertableApplicationContext;
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
import org.springframework.cloud.task.batch.handler.TaskJobLauncherApplicationRunner;
-import org.springframework.cloud.task.batch.handler.TaskJobLauncherCommandLineRunner;
import org.springframework.cloud.task.batch.listener.TaskBatchExecutionListenerTests;
import org.springframework.test.util.ReflectionTestUtils;
@@ -102,7 +101,7 @@ public class TaskJobLauncherAutoConfigurationTests {
public void testAutoBuiltDataSourceWithTaskJobLauncherCLRDisabled() {
this.contextRunner.run(context -> {
assertThat(context).hasSingleBean(JobLauncherApplicationRunner.class);
- assertThat(context).doesNotHaveBean(TaskJobLauncherCommandLineRunner.class);
+ assertThat(context).doesNotHaveBean(TaskJobLauncherApplicationRunner.class);
});
}
diff --git a/spring-cloud-task-batch/src/test/java/org/springframework/cloud/task/batch/handler/TaskJobLauncherCommandLineRunnerCoreTests.java b/spring-cloud-task-batch/src/test/java/org/springframework/cloud/task/batch/handler/TaskJobLauncherApplicationRunnerCoreTests.java
similarity index 97%
rename from spring-cloud-task-batch/src/test/java/org/springframework/cloud/task/batch/handler/TaskJobLauncherCommandLineRunnerCoreTests.java
rename to spring-cloud-task-batch/src/test/java/org/springframework/cloud/task/batch/handler/TaskJobLauncherApplicationRunnerCoreTests.java
index 980ce3fa..545f07b6 100644
--- a/spring-cloud-task-batch/src/test/java/org/springframework/cloud/task/batch/handler/TaskJobLauncherCommandLineRunnerCoreTests.java
+++ b/spring-cloud-task-batch/src/test/java/org/springframework/cloud/task/batch/handler/TaskJobLauncherApplicationRunnerCoreTests.java
@@ -60,8 +60,8 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
*/
@ExtendWith(SpringExtension.class)
@ContextConfiguration(
- classes = { TaskJobLauncherCommandLineRunnerCoreTests.BatchConfiguration.class })
-public class TaskJobLauncherCommandLineRunnerCoreTests {
+ classes = { TaskJobLauncherApplicationRunnerCoreTests.BatchConfiguration.class })
+public class TaskJobLauncherApplicationRunnerCoreTests {
@Autowired
private JobRepository jobRepository;
@@ -75,7 +75,7 @@ public class TaskJobLauncherCommandLineRunnerCoreTests {
@Autowired
private PlatformTransactionManager transactionManager;
- private TaskJobLauncherCommandLineRunner runner;
+ private TaskJobLauncherApplicationRunner runner;
private JobBuilderFactory jobs;
@@ -92,7 +92,7 @@ public class TaskJobLauncherCommandLineRunnerCoreTests {
Tasklet tasklet = (contribution, chunkContext) -> RepeatStatus.FINISHED;
this.step = this.steps.get("step").tasklet(tasklet).build();
this.job = this.jobs.get("job").start(this.step).build();
- this.runner = new TaskJobLauncherCommandLineRunner(this.jobLauncher,
+ this.runner = new TaskJobLauncherApplicationRunner(this.jobLauncher,
this.jobExplorer, this.jobRepository, new TaskBatchProperties());
}
diff --git a/spring-cloud-task-batch/src/test/java/org/springframework/cloud/task/batch/handler/TaskJobLauncherCommandLineRunnerTests.java b/spring-cloud-task-batch/src/test/java/org/springframework/cloud/task/batch/handler/TaskJobLauncherApplicationRunnerTests.java
similarity index 94%
rename from spring-cloud-task-batch/src/test/java/org/springframework/cloud/task/batch/handler/TaskJobLauncherCommandLineRunnerTests.java
rename to spring-cloud-task-batch/src/test/java/org/springframework/cloud/task/batch/handler/TaskJobLauncherApplicationRunnerTests.java
index e8f215ac..679cbdff 100644
--- a/spring-cloud-task-batch/src/test/java/org/springframework/cloud/task/batch/handler/TaskJobLauncherCommandLineRunnerTests.java
+++ b/spring-cloud-task-batch/src/test/java/org/springframework/cloud/task/batch/handler/TaskJobLauncherApplicationRunnerTests.java
@@ -67,7 +67,7 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
/**
* @author Glenn Renfro
*/
-public class TaskJobLauncherCommandLineRunnerTests {
+public class TaskJobLauncherApplicationRunnerTests {
private static final String DEFAULT_ERROR_MESSAGE = "The following Jobs have failed: \n"
+ "Job jobA failed during execution for job instance id 1 with jobExecutionId of 1 \n";
@@ -86,7 +86,7 @@ public class TaskJobLauncherCommandLineRunnerTests {
String[] enabledArgs = new String[] {
"--spring.cloud.task.batch.failOnJobFailure=true" };
validateForFail(DEFAULT_ERROR_MESSAGE,
- TaskJobLauncherCommandLineRunnerTests.JobWithFailureConfiguration.class,
+ TaskJobLauncherApplicationRunnerTests.JobWithFailureConfiguration.class,
enabledArgs);
}
@@ -99,7 +99,7 @@ public class TaskJobLauncherCommandLineRunnerTests {
String[] enabledArgs = new String[] {
"--spring.cloud.task.batch.failOnJobFailure=true" };
validateForFail(DEFAULT_ERROR_MESSAGE,
- TaskJobLauncherCommandLineRunnerTests.JobWithFailureAnnotatedConfiguration.class,
+ TaskJobLauncherApplicationRunnerTests.JobWithFailureAnnotatedConfiguration.class,
enabledArgs);
}
@@ -109,7 +109,7 @@ public class TaskJobLauncherCommandLineRunnerTests {
"--spring.cloud.task.batch.failOnJobFailure=true",
"--spring.cloud.task.batch.failOnJobFailurePollInterval=500" };
validateForFail(DEFAULT_ERROR_MESSAGE,
- TaskJobLauncherCommandLineRunnerTests.JobWithFailureTaskExecutorConfiguration.class,
+ TaskJobLauncherApplicationRunnerTests.JobWithFailureTaskExecutorConfiguration.class,
enabledArgs);
}
@@ -120,7 +120,7 @@ public class TaskJobLauncherCommandLineRunnerTests {
"--spring.cloud.task.batch.failOnJobFailurePollInterval=500",
"--spring.batch.job.enabled=false" };
this.applicationContext = SpringApplication.run(new Class[] {
- TaskJobLauncherCommandLineRunnerTests.JobWithFailureConfiguration.class },
+ TaskJobLauncherApplicationRunnerTests.JobWithFailureConfiguration.class },
enabledArgs);
JobExplorer jobExplorer = this.applicationContext.getBean(JobExplorer.class);
assertThat(jobExplorer.getJobNames().size()).isEqualTo(0);
@@ -134,7 +134,7 @@ public class TaskJobLauncherCommandLineRunnerTests {
boolean isExceptionThrown = false;
try {
this.applicationContext = SpringApplication.run(new Class[] {
- TaskJobLauncherCommandLineRunnerTests.JobWithFailureConfiguration.class },
+ TaskJobLauncherApplicationRunnerTests.JobWithFailureConfiguration.class },
enabledArgs);
}
catch (IllegalStateException exception) {
@@ -145,22 +145,22 @@ public class TaskJobLauncherCommandLineRunnerTests {
}
@Test
- public void testCommandLineRunnerSetToFalse() {
+ public void testApplicationRunnerSetToFalse() {
String[] enabledArgs = new String[] {};
this.applicationContext = SpringApplication.run(
new Class[] {
- TaskJobLauncherCommandLineRunnerTests.JobConfiguration.class },
+ TaskJobLauncherApplicationRunnerTests.JobConfiguration.class },
enabledArgs);
validateContext();
assertThat(this.applicationContext.getBean(JobLauncherApplicationRunner.class))
.isNotNull();
Executable executable = () -> this.applicationContext
- .getBean(TaskJobLauncherCommandLineRunner.class);
+ .getBean(TaskJobLauncherApplicationRunner.class);
assertThatExceptionOfType(NoSuchBeanDefinitionException.class)
.isThrownBy(executable::execute).withMessage("No qualifying bean of type "
- + "'org.springframework.cloud.task.batch.handler.TaskJobLauncherCommandLineRunner' available");
+ + "'org.springframework.cloud.task.batch.handler.TaskJobLauncherApplicationRunner' available");
validateContext();
}
diff --git a/spring-cloud-task-integration-tests/pom.xml b/spring-cloud-task-integration-tests/pom.xml
index 403cc2ad..027ba358 100644
--- a/spring-cloud-task-integration-tests/pom.xml
+++ b/spring-cloud-task-integration-tests/pom.xml
@@ -13,8 +13,8 @@
spring-cloud-task-integration-tests
- 1.15.2
- 1.15.2
+ 1.15.3
+ 1.15.3
1.0.8
diff --git a/spring-cloud-task-samples/batch-events/pom.xml b/spring-cloud-task-samples/batch-events/pom.xml
index b84ce774..74cfed7b 100644
--- a/spring-cloud-task-samples/batch-events/pom.xml
+++ b/spring-cloud-task-samples/batch-events/pom.xml
@@ -13,17 +13,17 @@
org.springframework.boot
spring-boot-starter-parent
- 2.4.7
+ 2.6.0-M1
UTF-8
1.8
- 1.15.2
- 1.15.2
+ 1.15.3
+ 1.15.3
1.0.8
- 3.1.1-SNAPSHOT
+ 3.1.4-SNAPSHOT
diff --git a/spring-cloud-task-samples/batch-job/pom.xml b/spring-cloud-task-samples/batch-job/pom.xml
index d8eab260..11084659 100644
--- a/spring-cloud-task-samples/batch-job/pom.xml
+++ b/spring-cloud-task-samples/batch-job/pom.xml
@@ -13,7 +13,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.4.7
+ 2.6.0-M1
diff --git a/spring-cloud-task-samples/jpa-sample/pom.xml b/spring-cloud-task-samples/jpa-sample/pom.xml
index adbea7c7..33246134 100644
--- a/spring-cloud-task-samples/jpa-sample/pom.xml
+++ b/spring-cloud-task-samples/jpa-sample/pom.xml
@@ -13,7 +13,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.4.7
+ 2.6.0-M1
diff --git a/spring-cloud-task-samples/multiple-datasources/pom.xml b/spring-cloud-task-samples/multiple-datasources/pom.xml
index 39fa2f09..2869541d 100644
--- a/spring-cloud-task-samples/multiple-datasources/pom.xml
+++ b/spring-cloud-task-samples/multiple-datasources/pom.xml
@@ -14,7 +14,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.4.7
+ 2.6.0-M1
diff --git a/spring-cloud-task-samples/partitioned-batch-job/pom.xml b/spring-cloud-task-samples/partitioned-batch-job/pom.xml
index f806add8..fea6d243 100644
--- a/spring-cloud-task-samples/partitioned-batch-job/pom.xml
+++ b/spring-cloud-task-samples/partitioned-batch-job/pom.xml
@@ -12,7 +12,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.4.7
+ 2.6.0-M1
diff --git a/spring-cloud-task-samples/single-step-batch-job/pom.xml b/spring-cloud-task-samples/single-step-batch-job/pom.xml
index eff4f491..b48e9f9f 100644
--- a/spring-cloud-task-samples/single-step-batch-job/pom.xml
+++ b/spring-cloud-task-samples/single-step-batch-job/pom.xml
@@ -13,7 +13,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.4.7
+ 2.6.0-M1
diff --git a/spring-cloud-task-samples/task-events/pom.xml b/spring-cloud-task-samples/task-events/pom.xml
index 62d6bba3..4d5ac6ee 100644
--- a/spring-cloud-task-samples/task-events/pom.xml
+++ b/spring-cloud-task-samples/task-events/pom.xml
@@ -13,7 +13,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.4.7
+ 2.6.0-M1
diff --git a/spring-cloud-task-samples/taskprocessor/pom.xml b/spring-cloud-task-samples/taskprocessor/pom.xml
index 81ab2f5a..8769e1bd 100644
--- a/spring-cloud-task-samples/taskprocessor/pom.xml
+++ b/spring-cloud-task-samples/taskprocessor/pom.xml
@@ -14,7 +14,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.4.7
+ 2.6.0-M1
diff --git a/spring-cloud-task-samples/tasksink/pom.xml b/spring-cloud-task-samples/tasksink/pom.xml
index c942036a..e30abb4a 100644
--- a/spring-cloud-task-samples/tasksink/pom.xml
+++ b/spring-cloud-task-samples/tasksink/pom.xml
@@ -15,7 +15,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.4.7
+ 2.6.0-M1
diff --git a/spring-cloud-task-samples/timestamp/pom.xml b/spring-cloud-task-samples/timestamp/pom.xml
index 0d80cfbc..dc77fec3 100644
--- a/spring-cloud-task-samples/timestamp/pom.xml
+++ b/spring-cloud-task-samples/timestamp/pom.xml
@@ -13,7 +13,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.4.7
+ 2.6.0-M1