并发处理业务

数据量大,并发度高,要支持事物,回滚,并发机制。事务、并发、监控、执行等,并不提供相应的调度功能。因此,如果我们希望批处理任务定期执行,可结合 Quartz 等成熟的调度框架实现。

业务场景:

///分布式下面的批处理系统有Hadoop,有时间可以研究一下,它需要特定的场景

================================================================================================

1.系统业务量很大的情况下,可以现将业务暂时存储下来,在系统不忙的情况下进行批量的处理(就是时候进行归档处理),Spring Batch刚好就是这样的一个框架。

2.主要有基础层,核心层,应用层

3.设计

JobRepository:批处理的任务仓库-----所有提交待处理的批处理任务

JobLanucher:批处理的调度管理器------启动批处理服务,开始处理

Job:具体的批处理作业----------------具体的批处理作业 ?这个可以挂接我们自己的业务

Step:一个批处理作用的一个过程

ItemReader:读取---获取数据

ItemProcessor:处理数据

ItemWriter:写入持久化数据

上述就是批处理的一个处理流程,Spring Batch给我们统一管理,我们仅仅把自己的业务挂接在其组件上即可。

============================================================================================

1、commit-interval:批量进行提交(写入)--reader数目为commit-interval数目时,writer提交写入。

2、retry-limit:此步骤失败后重拾的最大次数,如果超过这个数目,就不会重试。

3、retryable-exception-classes:重试的条件(一般就是通过异常进行中断或者自定义策略)-include,exclude

4、retry-policy:自定义重试的策略----就是条件是什么就可以知道要重试了,有这个retryable-exception-classes不生效SkipPolicy

5、skip-limit:出错进行跳过

6、skippable-exception-classes:-include,exclude

7、skip-policy:自定义策略RetryPolicy

注:任务失败后,首先应该重试几次,如果不行的话,再采用Skip机制,采用Listeners机制记录Log记录(CheckPoint),之后进行任务重做,其次在进行任务的重新启动执行。

组件对外的挂节点—接口,我们可以挂接我们的组件在其架构上--StepListenerSupport,RetryListener,SkipListener,SkipPolicy,RetryPolicy,ItemReader、ItemWriter、ItemProcessor,Tasklet

=============================================================================================

1.tasklet--实现Tasklet接口即可

2.tasklet-chunk---里面有reader,writer,processor

3.listeners-监听器

==============================================================================================

1、split并发--task-executor

2、decision

3、

=============================================================================================

截图来自网络。

可以作为ESB端的批处理组件

批处理框架-spring Batch的更多相关文章

  1. 【转】大数据批处理框架 Spring Batch全面解析

    如今微服务架构讨论的如火如荼.但在企业架构里除了大量的OLTP交易外,还存在海量的批处理交易.在诸如银行的金融机构中,每天有3-4万笔的批处理作业需要处理.针对OLTP,业界有大量的开源框架.优秀的架 ...

  2. Spring Batch 批处理框架

    <Spring Batch 批处理框架>基本信息作者: 刘相 出版社:电子工业出版社ISBN:9787121252419上架时间:2015-1-24出版日期:2015 年2月开本:16开页 ...

  3. 图书简介:Spring Batch批处理框架

    大数据时代批处理利器,国内首度原创解析Spring Batch框架. 内容简介: <Spring Batch 批处理框架>全面.系统地介绍了批处理框架Spring Batch,通过详尽的实 ...

  4. spring batch批处理框架学习

    内如主要来自以下链接: http://www.importnew.com/26177.html http://www.infoq.com/cn/articles/analysis-of-large-d ...

  5. Spring Batch 批处理框架介绍

    前言 在大型的企业应用中,或多或少都会存在大量的任务需要处理,如邮件批量通知所有将要过期的会员,日终更新订单信息等.而在批量处理任务的过程中,又需要注意很多细节,如任务异常.性能瓶颈等等.那么,使用一 ...

  6. spring batch资料收集

    spring batch官网 Spring Batch在大型企业中的最佳实践 一篇文章全面解析大数据批处理框架Spring Batch Spring Batch系列总括

  7. Spring Batch 高级-

    spring batch / 并行处理 / 多线程 分区 1. 并行处理,多线程,分区 http://blog.csdn.net/github_36849773/article/details/692 ...

  8. Spring Batch远程分区的本地Jar包模式

    1 前言 欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章! Spring相关文章:Springboot-Cloud Spring Batch远程分区对于大量数据的处理非常擅长,它的实现 ...

  9. Spring Batch 入门级示例教程

    Spring Batch 入门级示例教程 我将向您展示如何使用Spring Boot创建一个的Spring Batch的Hello World示例. (循序渐进) 因此,如果您是Spring Batc ...

随机推荐

  1. Ubuntu16.04怎样安装Python3.6

    Ubuntu16.04默认安装了Python2.7和3.5 请注意,系统自带的python千万不能卸载! 输入命令python

  2. DS博客作业04--树大作业说明

    大作业题目说明 1.目录树 按照如下目录路径,设计一颗目录树保存.并能实现对目录树遍历.目录路径存在file.txt,格式如下: b.txt c\ ab\cd.txt a\bc.txt ab\d.tx ...

  3. Buildroot Qt 5

    /********************************************************************************* * Buildroot Qt 5 ...

  4. 【图像处理】Haar-like特征

    特征提取的原理.代码等: 如果是白黑白,是减去一个黑的还是2个黑的,网上有不同的说法:应该需要看原论文了. 论文原文 The sum of the pixels which lie within th ...

  5. hdu1097

    hdu1097 求a^b的末位数 打表O(1) import java.util.*; public class Main { static int [][]a = new int[15][15]; ...

  6. MySQL账号安全设置

    ======================================================================== 推荐账号安全设置 在数据库服务器上严格控制操作系统的账 ...

  7. tomcat源码阅读之安全机制

    一.领域(Realm): 1.Principal接口代表角色信息,包含了三个成员:用户名.密码.role列表(以逗号分隔),对应了tomcat-users.xml文件中一行user信息: Generi ...

  8. vue-cli 知识点

    vue init webpack [project_name] 构建的项目,新增功能需要做的工作: table th:first-of-type { width: 100px; } table th: ...

  9. CommonsChunkPlugin知识点

    CommonsChunkPlugin 的作用就是提取代码中的公共模块,然后将公共模块打包到一个独立的文件中去,以便在其它的入口和模块中使用. 多个 html共用一个js文件(chunk),可用Comm ...

  10. Application 应用对象

    在整个服务器运行过程中,application对象只有一个 下面的例子是访问次数的统计 <%@ page language="java" contentType=" ...