我创建了一个Spring Batch应用程序(与Spring Boot一起)。配置作业效果很好,每个作业都在启动时执行。作业配置也按预期显示在数据库中。
要使用参数启动作业,有两个选项:
所以我的问题是:如果一个人可以直接轻松注入工作,那么JobLocator的意义何在?
答案 0 :(得分:1)
JobLocator
不是为了注射工作。它是定位要执行的实例。如果你有动态执行作业的东西(不知道它需要执行什么工作),你会想要使用JobLocator
。一个例子是Spring Batch Admin。在JobLocator
内使用JobService
来启动请求的Job
。
将Job
实例连接到您的班级时,如果预定了您将要运行的工作,则可以正常工作。但是,如果不这样做,JobLocator
就可以了。