[英]Unable to select spring batch job to run with spring.batch.job.names options
我有一個 spring 批處理代碼庫,它在BatchConfig
中定義了多個Job
bean。 我在正確的位置使用spring.batch.job.enabled=false
禁用了自動運行。 基本大綱如下:
我的批處理配置如下所示:
@Configuration
public class BatchConfiguration {
@Autowired
public JobBuilderFactory jobBuilderFactory;
@Autowired
public StepBuilderFactory stepBuilderFactory;
@Bean
public Job myTestJob1() {...}
@Bean
public Job myTestJob2() {...}
}
class主要是:
@SpringBootApplication
@EnableBatchProcessing
public class BatchProcessingApplication {
public static void main(String[] args) throws Exception {
System.exit(SpringApplication.exit(SpringApplication.run(BatchProcessingApplication.class, args)));
}
}
當我嘗試像這樣運行 jar 時,它將成功啟動並退出而不運行作業:
java -jar batch.jar -spring.batch.job.names=myTestJob1
據我所知,這應該有效,但事實並非如此。 我已經嘗試將@EnableBatchProcessing 移動到 BatchCongfig class 並且它也不起作用。
請用:
java -jar batch.jar --spring.batch.job.names=myTestJob1
您正在使用此命令:
java -jar batch.jar -spring.batch.job.names=myTestJob1
根據從命令行運行的Spring 文檔:
Spring 引導將以 -- 開頭的任何命令行參數轉換為要添加到環境的屬性,請參閱訪問命令行屬性。 這不應用於將 arguments 傳遞給批處理作業。
為了讓 Spring “看到”你要求它做什么,你需要改變:
java -jar batch.jar -spring.batch.job.names=myTestJob1
對此:
java -jar batch.jar --spring.batch.job.names=myTestJob1
唯一的區別是使用“ --
”作為“spring.batch.job.names”的前綴(而不是單破折號:“ -
”)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.