java - java - 如何在java spring boot中使用可选作业参数运行作业
问题描述
我正在从我的工作的 curl 命令传递一个工作参数,我能够得到job parameter
传递,但是当我没有传递任何job parameter
.
我正在访问这样的作业参数
@Bean
@StepScope
public PaymentEntriesVerificationJob paymentEntriesVerificationJob(@Value("#{jobParameters[params] ?: 1}") String params){
PaymentEntriesVerificationJob paymentEntriesVerificationJob = new PaymentEntriesVerificationJob();
paymentEntriesVerificationJob.setParams(params);
return paymentEntriesVerificationJob;
}
因此,根据代码,如果没有发送 jobParameters 参数 String params
将设置为 1。但每当我不发送任何参数时jobParameters
,params 都会设置为之前的作业参数值。IE,
case 1) jobcall -d 'jobParameters=bufferTime=4'
params = 4
case 2) jobcall (without any jobParameters)
params = 4
case 3) jobcall -d 'jobParameters=bufferTime=5'
params = 5
为什么当我不传递任何作业参数时我无法将 1 作为默认值
解决方案
推荐阅读
- python - 如何将 localhost:port 从散景服务器映射到远程 public_html 网站?
- android - 我的 XML 布局在模拟器中不可见
- c# - 使用A和D键左右旋转
- flutter - flutter firebase_auth OAuth 异常:errorMessage: (#803) 无法通过用户名查询用户 (CHANGE-ME)}
- javascript - 从多个 Observable 传递值
- java - 从 IDE 运行服务时的 catalina.base 路径
- firebase - 如何从 firebase 获取新的 TXT 验证记录
- python - 如何在 install.sh 中缓存克隆 git repo
- angular - 角度路由器参数匹配正则表达式
- python - Flask + WTForms:一个函数提交按钮,用于n个迭代表单