spring - 在终端中传递jobParameters spring批处理
问题描述
我正在尝试使用 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 = ""
我不知道我做错了什么。请帮忙
解决方案
我认为你应该使用 spring-boot-maven 项目来创建 spring 可执行 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 = ""
推荐阅读
- javascript - 更改禁用按钮的颜色
- c# - BingMapsRESTToolkit - SnapToRoadRequest 返回 BingMapsRESTToolkit.Route
- amazon-redshift - 如何将小时数添加到时间字段
- html - 如何修改物化css选择选项?
- pyspark - 选择并计算火花数据框 pyspark 中的新列
- python - 精度为 0.995 的 CNN 在实现中表现不佳
- javascript - 如何在 JavaScript 中检查一个数组是否包含另一个数组中的所有元素,包括计数?
- android - 如何从 MP4 逐帧获取?(媒体编解码器)
- javascript - 创建时如果这个对象是这个父对象的属性中的父对象的属性,我可以统计一个对象的属性个数吗
- reactjs - 从 react-router-dom 获取查询参数到功能组件中?