【问题标题】:Can Spring Batch jobs be configured at run time with dynamic steps?Spring Batch 作业可以在运行时使用动态步骤进行配置吗?
【发布时间】:2012-02-11 00:00:52
【问题描述】:

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

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

【问题讨论】:

    标签: java spring spring-batch


    【解决方案1】:

    作业配置本身是在作业运行之前设置的,但可以使用conditional flows创建灵活的作业配置

    您不能只在作业运行时更改作业配置,而是在作业之间轻松更换配置

    【讨论】:

      【解决方案2】:

      Michael 的插件回答:

      您想完全动态地创建从头到尾的流程,还是希望在某个点有一些动态?

      1. 由于 Spring Batch 从 XML 配置实例化作业(将所有内部结构),这意味着所有必要的 bean 都有 setter/getter,您可以从空页面创建作业。这是一种漫长且容易出错的方式(您需要创建 FlowJob 就像 JobParserJobFactoryBean 一样,然后是 SimpleFlow 然后 StepState 然后 TaskletStep 就像 SimpleStepFactoryBean 一样并将它们绑定在一起)。
      2. 我认为 XML 流的替代方案可能是您的编码逻辑。对于字符串批处理,它看起来是一个步骤,但具有自定义实现和子流程。请参阅 Example Tasklet Implementation 中的 <tasklet ref="myCleverTasklet" /> 示例。

      【讨论】:

        猜你喜欢
        • 2020-11-23
        • 2018-02-26
        • 2015-02-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-13
        • 2016-06-16
        • 1970-01-01
        相关资源
        最近更新 更多