• Spring Batch入门学习


    前言

    dblink(Database Link,数据库的链接像电话线一样是一个通道,要跨本地数据库访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。)要转换成文件加载方式,所以要改用spring batch。

    什么是spring batch

    Spring Batch 是一个轻量级的、完善的批处理框架,旨在帮助企业建立健壮、高效的批处理应用。
    Spring Batch 提供了大量可重用的组件,包括了日志、追踪、事务、任务作业统计、任务重启、跳过、重复、资源管理。对于大数据量和高性能的批处理任务,Spring Batch 同样提供了高级功能和特性来支持,比如分区功能、远程功能。总之,通过 Spring Batch 能够支持简单的、复杂的和大数据量的批处理作业。
    Spring Batch 是一个批处理应用框架,不是调度框架,但需要和调度框架合作来构建完成的批处理任务。它只关注批处理任务相关的问题,如事务、并发、监控、执行等,并不提供相应的调度功能。如果需要使用调度框架,在商业软件和开源软件中已经有很多优秀的企业级调度框架(如 Quartz、Tivoli、Control-M、Cron 等)可以使用。

    Spring 组件

    作为一个 Spring 组件,提供了通过使用 Spring 的 依赖注入(dependency injection) 来处理批处理的条件。

    使用场景

    1. 周期性的提交批处理
    2. 把一个任务并行处理
    3. 消息驱动应用分级处理
    4. 大规模并行批处理
    5. 手工或调度使任务失败之后重新启动
    6. 有依赖步骤的顺序执行(使用工作流驱动扩展)
    7. 处理时跳过部分记录
    8. 成批事务:为小批量的或有的存储过程/脚本的场景使用

    架构

    Spring Batch使用三层架构,三层分别为应用、核心和基础服务。应用层是用户写的批处理任务。核心层包含执行和控制任务必须的核心类。如JobLauncher、Job和Step的实现。应用和核心层基于一层公用的基础服务。基础服务包括通用的Reader,Writers,RetryTemplate。在这里插入图片描述
    每个Batch都包含一个Job。Job就像一个容器,这个容器里装了若干Step,Batch中实际干活的也就是这些Step,Step读取数据,处理数据,后将存储数据(ItemReader用来读取数据,ItemProcessor用来处理数据,ItemWriter用来写数据) 。JobLauncher用来启动Job,JobRepository是上述处理提供的一种持久化机制,它为JobLauncher,Job,和Step实例提供CRUD操作。
      外部控制器调用JobLauncher启动一个Job,Job调用自己的Step去实现对数据的操作,Step处理完成后,再将处理结果一步步返回给上一层。

  • 相关阅读:
    【图像分类】2022-MPViT CVPR
    线上AB实验的日志分析
    backup (攻防世界)
    微信好友消息自动回复,让你轻松应对好友咨询
    Object.keys() 方法
    SpringCloud OpenFeign--声明式WebService 客户端
    Oracle客户端版本安装
    Vue3系列2--项目目录介绍及运行项目
    3D点云处理:Opencv Pcl实现深度图转点云(附源码)
    Python 将PowerPoint (PPT/PPTX) 转为HTML格式
  • 原文地址:https://blog.csdn.net/z2431435/article/details/126579695