【发布时间】:2016-05-30 07:19:48
【问题描述】:
嗨
我是 Spring Batch 领域的新手,最近几天我花时间观看了 Michael Minella 的 youtube 视频,阅读了一些文档并成功运行了我在 Internet 上找到的一些演示项目。我认为 Spring Batch 是满足我们需求的热门人选。但这是我们的故事。
我在一家公司工作,该公司十多年前为其业务部门开发了自己的调度和批处理框架。该框架能够运行 DB 存储过程、DB 函数和动态 SQL。不用说,维护它非常具有挑战性,因为太多具有各种开发技能的人进行了编码,他们不再在这里工作。我们的框架可以处理作业和步骤以顺序运行以及异步(如 Spring Batch)。我们还有一个作业存储库,我们存储整个作业定义(用户通过 GUI 创建新作业)、作业实例及其上下文(以防服务器宕机,当服务器启动时,它将恢复运行作业)。 我的问题如下:
-
我们能否动态创建新的 Spring Batch 作业(通过 XML og 代码)并通过标准 SB 接口将它们存储到 JobRepository DB 中?
-
今天,在某个时间段,我们同时执行了多达数百个作业。他们还重用了数据库的连接池。 Older Spring Batch ref documentation 声明 JobFactory 将为每个作业执行创建新的 ApplicationContext。如果在 Spring Batch 中出现这种情况,我们如何实现连接池的重用。
-
我知道支持继续失败的步骤,但如果服务器/应用程序出现故障,我是否能够重新启动我的应用程序并从 JobRepository 检索作业实例及其上下文,以便从失败的步骤继续?
-
“job1”中的“step1.1”能否依赖于“job2”中的“step 2.1”在最后一小时内完成?在这种情况下,我可能会在“step1.1”上使用步骤侦听器来完成此操作?
亲切的问候
多多
【问题讨论】:
标签: spring-batch