我正在使用Spring Batch来处理来自PostgreSQL数据库的一些数据,但是我有一个长期运行的查询/分析来生成输入数据 - 它不仅仅是一个SELECT语句。而不是让ItemReader必须使用PostgresPagingQueryProvider来逐步浏览数据(我可能有数百万条记录和PostgreSQL JDBC驱动程序游标实现检索到客户端的所有数据),这将多次调用这个长时间运行的查询,我是想知道是否有办法做以下事情:
我知道还有其他方法可以在不使用Spring Batch的情况下完成此任务,但由于我将有一个Job Repository来跟踪标准的操作。 Spring Batch处理,我希望有一种方法可以保持这个数据准备的状态。作业库中的步骤/作业也是如此。
看起来StepExecutionListener或JobExecutionListener可能是拦截Step / Job执行以设置这些值以存储在JobRepository中的选项,但我想知道是否还有其他方法可以实现此目的(或者如果这只是一个非常糟糕的主意。)
提前致谢。