可以在运行时使用动态步骤配置Spring Batch作业吗?

我正在寻找Spring Batch 2.0来实现管道流程。 该过程正在侦听某些事件,并且需要根据事件类型及其内容执行一组转换步骤。

Spring批次似乎很合适。 但是,通过文档,每个示例都将它们的作业及其步骤配置为xml。 框架是否支持在运行时创建作业并动态配置步骤?

作业配置本身在作业运行之前设置,但可以使用条件流创建灵活的作业配置

您不仅可以在作业运行时更改作业配置,而且在作业之间可以轻松更换配置

Addon for Michael回答:

您是想完全动态地从头到尾创建流程,还是想在某个时刻获得某些动态?

  1. 当Spring Batch从XML配置实例化作业(将所有内部)时,这意味着所有必需的bean都具有setter / getter,您可以从空页面创建Job。 这是一个很长且容易出错的方法(你需要在JobParserJobFactoryBean创建FlowJob ,然后是SimpleFlow然后是StepState然后是在SimpleStepFactoryBean TaskletStep ,并将它们绑定在一起)。
  2. 我认为XML流的替代方案可能是您的编码逻辑。 对于String Batch,它将看起来是一步,但具有自定义实现和子流。 请参阅示例 实现中的 示例。