可以条件执行或其他技术驱动Spring Batch中另一个ItemReader的参数值吗?

时间:2012-01-12 14:57:29

标签: spring-batch

据我所知,Spring Batch有一个条件执行,可以配置为根据当前步骤的ExitStatus决定下一个步骤,但是......

  1. 如果我希望我的Spring Batch作业运行一个查询,我使用哪个结果集来判断我在ItemReader中的查询中的参数值是SpringBatch设置的那个怎么办?

  2. 或者Spring Batch框架是否“强制”我为该初始查询设置处理器和编写器?

  3. 如果第二个问题的答案是,如何处理?

1 个答案:

答案 0 :(得分:2)

这很简单,您可以使用TaskletStep来运行查询并使用“正常”步骤(读取:读取器,编写器,处理器是可选的),它使用TaskletStep提供的一些值。

要获取从第一步到后一步的值,您可以使用late-binding of job/step attributes,也请参阅此stackoverflow question for interstep communication

对于“正常”步骤,设置ItemReader和ItemWriter,ItemProcessor是可选的。