标签:style blog http ar 使用 sp 文件 数据 on
一、SpringBatch是一个批处理的框架,作为一个Spring组件,提供了通过使用Spring的依赖注入来处理批处理的条件。
什么是批处理呢?
在现代企业应用当中,面对复杂的业务以及海量的数据,除了通过庞杂的人机交互界面进行各种处理外,还有一类工作,不需要人工干预,只需要定期读入大批量数据,然后完成相应业务处理并进行归档。这类工作即为“批处理”。比如近期金融项目中的撮合功能,不需要人工干预,自动对借款人和出借人进行匹配撮合,完成借贷功能。
从上面的描述可以看出,批处理应用有如下几个特点:
同时,批处理应用又明显分为三个环节:
因此,从系统架构上,应重点考虑批处理应用的事务粒度、日志监控、执行、资源管理(尤其存在并发的情况下)。从系统设计上,应重点考虑数据读写与业务处理的解耦,提高复用性以及可测试性。
二、SpringBatch的业务场景有:
三、SpringBatch的架构图
SpringBatch使用三层架构,三层分别为应用、核心和基础服务。
细化的体系结构
应用层:包含所有的批处理作业,通过Spring框架管理程序员自定义的代码。
核心层:包含了Batch启动和控制所需要的核心类,如:JobLauncher、Job和step等。
基础服务层:应用层和核心层建立在基础服务层即基础架构层智商,基础架构层提供共通的读(ItemReader)、写(ItemWriter)和服务(如RetryTemplate:重试模块,可以被应用层和核心层使用)。
另外我们还需要知道,Spring Batch 是一款批处理应用框架,不是调度框架。它只关注批处理任务相关的问题,如事务、并发、监控、执行等,并不提供相应的调度功能。因此,如果我们希望批处理任务定期执行,可结合 Quartz 等成熟的调度框架实现。
标签:style blog http ar 使用 sp 文件 数据 on
原文地址:http://www.cnblogs.com/jyh317/p/4063666.html