簡體   English   中英

如何在 CLI 中使用 maven 在 spring 批處理中運行作業參數

[英]How to run job parameters in spring batch with maven in CLI

我看過幾個 stackoverflow 問答,但在使用 maven 時,沒有一個在 CLI 中有作業參數。

我的參數設置如下:

@Value("#{jobParameters.getOrDefault('startTimestamp', null)}") Long startTimestamp
@Value("#{jobParameters.getOrDefault('endTimestamp', null)}") Long endTimestamp

我的 maven 命令是這樣的:

mvn clean spring-boot:run -Dspring.batch.job.names=myJob -Dspring.profiles.active=default,dev -f pom.xml

我不確定要添加什么。 以下不起作用:

-Dspring.batch.job.startTimestamp=1667790578000
-Dspring.batch.job.parameters.startTimestamp=1667790578000

如果你想通過 maven 傳遞作業參數,你可以使用:

mvn spring-boot:run -Dspring-boot.run.arguments="param1=value1 param2=value2"

您可以在此處找到文檔。

作業參數通過 jobLauncher 設置。 例如:

JobParameters jobParameters = new JobParametersBuilder()
    .addLong("startTimestamp", 1667790578000L).toJobParameters();

JobExecution execution = jobLauncher.run(job, jobParameters);

如果要將參數作為屬性發送,則需要使用@Value注釋將自定義屬性注入到啟動作業的 bean 中。

從命令行,您可以將作業參數作為鍵/值對傳遞:

java -jar myjob.jar name=foobar startTimestamp=1667790578000

我發現這是有效的。

mvn clean spring-boot:run -Drun.arguments=startTimestamp=1667790578000,endTimestamp=1667790578000 -Dspring.batch.job.names=myJob -Dspring.profiles.active=default,dev -f pom.xml

找到計算器:從 spring-boot 獲取命令行 arguments:運行

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM