Spring batch 获取按参数值筛选的执行列表

Spring batch 获取按参数值筛选的执行列表,spring-batch,Spring Batch,我使用的是Spring batch 3.0.4 stable。在提交作业时,我向其执行添加了一些特定的参数,例如,标记。作业信息保存在数据库中 稍后,我将需要检索用特定标记标记的所有执行 目前我看到两种选择: 使用org.springframework.batch.core.explore.JobExplorer#findJobInstancesByJobName获取所有作业实例。对于每个实例,使用org.springframework.batch.core.explore.JobExplore

我使用的是Spring batch 3.0.4 stable。在提交作业时,我向其执行添加了一些特定的参数,例如,标记。作业信息保存在数据库中

稍后,我将需要检索用特定标记标记的所有执行

目前我看到两种选择:

  • 使用
    org.springframework.batch.core.explore.JobExplorer#findJobInstancesByJobName
    获取所有作业实例。对于每个实例,使用
    org.springframework.batch.core.explore.JobExplorer#getJobExecutions
    获取所有可用的执行。过滤结果执行集合,检查其
    JobParameters
  • 编写我自己的基于JdbcTemplate的DAO实现来运行select查询
  • 虽然前一个选项似乎效率很低,但后一个选项建议编写额外的代码来处理特定于Spring的数据库表结构


    我在这里缺少什么选择吗?

    没有。你在正确的轨道上。老实说,我推荐2。选项2假设您使用的是DAO的JDBC实现,但情况并非总是如此。SpringBatch还为那些不需要长期持久性的用户提供了内存中的实现,还有其他数据库的实现(我为MongoDB做了自己的实现)。使用选项1,虽然在性能方面不是最优的,但可以与任何DAO实现一起使用。您找到解决方案了吗?您是否可以使用spring批处理功能?