From 26158c1ee2f169305d2f4045b7cd7d02fd051ace Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Fri, 10 Nov 2017 16:06:39 +0100 Subject: [PATCH] Add default order for JobLauncherCommandLineRunner Closes gh-2943 --- .../batch/JobLauncherCommandLineRunner.java | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/JobLauncherCommandLineRunner.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/JobLauncherCommandLineRunner.java index 63f67f3c9e..d5edeac843 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/JobLauncherCommandLineRunner.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/batch/JobLauncherCommandLineRunner.java @@ -44,6 +44,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.ApplicationEventPublisherAware; +import org.springframework.core.Ordered; import org.springframework.util.PatternMatchUtils; import org.springframework.util.StringUtils; @@ -56,7 +57,12 @@ import org.springframework.util.StringUtils; * @author Jean-Pierre Bergamin */ public class JobLauncherCommandLineRunner - implements CommandLineRunner, ApplicationEventPublisherAware { + implements CommandLineRunner, Ordered, ApplicationEventPublisherAware { + + /** + * The default order for the command line runner. + */ + public static final int DEFAULT_ORDER = 0; private static final Log logger = LogFactory .getLog(JobLauncherCommandLineRunner.class); @@ -73,6 +79,8 @@ public class JobLauncherCommandLineRunner private Collection jobs = Collections.emptySet(); + private int order = DEFAULT_ORDER; + private ApplicationEventPublisher publisher; public JobLauncherCommandLineRunner(JobLauncher jobLauncher, @@ -81,8 +89,13 @@ public class JobLauncherCommandLineRunner this.jobExplorer = jobExplorer; } - public void setJobNames(String jobNames) { - this.jobNames = jobNames; + public void setOrder(int order) { + this.order = order; + } + + @Override + public int getOrder() { + return this.order; } @Override @@ -95,6 +108,10 @@ public class JobLauncherCommandLineRunner this.jobRegistry = jobRegistry; } + public void setJobNames(String jobNames) { + this.jobNames = jobNames; + } + @Autowired(required = false) public void setJobParametersConverter(JobParametersConverter converter) { this.converter = converter;