我有一个简单的任务,有2个工作。当我运行任务Job 1和Job 2时,一个接一个地运行。我该如何配置它,以便在我传递作业名称时仅运行该作业?
答案 0 :(得分:1)
默认情况下,Spring Boot在启动时在应用程序上下文中执行所有作业(请参见here)。如果只执行一项作业,则需要使用spring.batch.job.names
属性指定其名称。
根据您的情况,您可以添加任务参数并指定要运行的作业。例如:如果您的任务包含两个作业job1
和job2
,则可以添加任务参数--spring.batch.job.names=job1
以仅运行job1
:
确保将--
添加到密钥中。 SCDF服务器将执行的命令应类似于:
2018-09-10 12:23:45.932 INFO 57560 --- [nio-9393-exec-1] o.s.c.d.spi.local.LocalTaskLauncher : Command to be executed: java -jar myjob.jar --spring.batch.job.names=job1 --spring.cloud.task.executionid=1
使用此参数,仅应执行job1
。
希望这会有所帮助。