我尝试使用Spring Batch实现批处理服务。我唯一的问题是动态传递jobParameter。
我试图用docker启动此服务,所以在我的docker-compose.yml中我运行了这个命令:
java -Dspring.batch.job.names=uploadToS3Job -jar job-service-1.0-SNAPSHOT.jar date=29-05-2018
但我的字段始终为空:
@Value("#{jobParameters['date'] ?: ''}")
@StepScope
var date: String = ""
我不知道自己做错了什么。请帮忙
答案 0 :(得分:2)
我认为你应该使用spring-boot-maven项目来创建spring executable jar,
然后,您可以通过-Dspring-boot.run.arguments
添加参数。你可以像这样运行它:
mvn spring-boot:run -Dspring-boot.run.arguments= --job1parameters.date=29-05-2018
@Value("${job1parameters.date}")
@StepScope
var date: String = ""