我们希望将一些 Kettle 导入作业的调度和顺序控制从专有实现迁移到 Spring Batch 风格的良好实践实现。
我打算使用 Spring Cloud Data Flow (SCDF) 服务器来实现和运行现有外部导入作业的可配置序列。
SCDF 控制台任务编辑器UI似乎很有希望组装一个流程。因此,一个 Task 包装了一个 Spring Batch,它仅在一个步骤中执行一个 Tasklet,启动并轮询 Carte REST API。到目前为止,这有意义吗?
你会建议一个更好的实现吗?
约束和要求:
- 使用 Carte REST API 触发和轮询外部 Kettle 作业。实际上,这是一个单独的 Kettle 作业实现,为每个要导入的实体调用单独的参数。
- 有几个实体的导入作业的可配置的有向图,其中一些依赖于前一个实体类型的正确导入。(例如部门,然后是员工,然后是角色分配......)
- 随着即将到来的实施,我们希望得到
- 监视和控制(启动、中止、暂停、恢复)
- 可重启性
- 在生产中轻松重新配置序列(可能通过 GUI 或外部编辑器)
- 可能是一些报告和统计数据。
据我目前的理解,这可以通过使用 Spring Cloud Data Flow (SCDF) 服务器和一些任务/批处理实现/组合来实现。
如果我错了,请纠正我,但是具有硬连线流程的单个 Spring Batch 作业似乎不太适合我。或者有没有一种简单的方法来编辑和重新部署 Spring Batch 并改变生产流程?我找不到任何东西,甚至没有一个易于使用的用于批处理 XML 表示的编辑器。