我需要使用以下搜索过滤器和结果排序搜索Spring Batch作业执行:名称,退出状态,开始日期,结束日期。
JobExplorer API非常精简,仅使用findJobInstancesByJobName和getJobExecutions意味着在内存中获取整套作业执行(500.000+),然后过滤/排序并返回25页,这是不可能的。
除了直接对Spring Batch表进行本机查询外,还有其他方法可以搜索作业执行吗?
编辑1:
到目前为止,我有以下代码:
List<JobExecution> findJobExecutions(String jobName, ExitStatus status, Date start, Date end){
// How to filter by status, and date without getting all in memory?
int startRow = 0;
int count = 100000;
List<JobInstance> instances = jobExplorer.findJobInstancesByJobName(jobName, startRow, count);
List<JobExecution> result = instances.stream().map(jobExplorer::getJobExecutions).flatMap(List::stream).collect(Collectors.toList());
}
SimpleJobExplorer link
答案 0 :(得分:0)
两个选项