Can Spring Batch jobs be configured at run time with dynamic steps?

谁说我不能喝 提交于 2019-12-10 10:53:18

问题


I am looking at Spring Batch 2.0 to implement a pipeline process. The process is listening to some event, and needs to perform a set of transformation steps base on the event type and its content.

Spring batch seem to be a great fit. However, going through the documentation, every example have them job and its steps configured in xml. Does the framework support creating jobs during run-time and configuring the steps dynamically?


回答1:


the job configuration itself is set before the job runs, but it is possible to create a flexible job configuration with conditional flows

you can't just change the job configuration while the job runs, but between jobs its easy to replace the configuration




回答2:


Addon for Michael answer:

Do you want to create a flow from beginning to end completely dynamically or you want to have some dynamics at certain point?

  1. As Spring Batch instantiates jobs (will all internals) from XML configuration, that means all necessary beans have setters/getters and you can create the Job from empty page. This is long and bug-prone way (you need to create FlowJob as in JobParserJobFactoryBean goes, then SimpleFlow then StepState then TaskletStep as in SimpleStepFactoryBean and bind them together).
  2. I think the alternative to XML flows could be your coded logic. For String Batch it will look as one step, but with custom implementation and subflow. See <tasklet ref="myCleverTasklet" /> example in Example Tasklet Implementation.


来源:https://stackoverflow.com/questions/9236525/can-spring-batch-jobs-be-configured-at-run-time-with-dynamic-steps

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!