zoukankan      html  css  js  c++  java
  • easy-batch demo

    easy-batch 使用demo

    easy-batch 是一个简化批处理的java框架.批处理中很多非业务处理代码如:读,写,过滤,解析,校验,日志记录,结果报告等.easy-batch就是为了简化这些操作,让你专注于核心业务处理

    easy-batch 工作方式

    通过easy-batch Job 抽象出简单的处理链.所有的操作都围绕Record展开.Job按顺序读取数据源,按步骤进行业务处理,并批量写入到数据槽中.

    easy-batch Job处理流程

    框架通过提供Record,Batch API,抽象数据格式,以实现在流程处理中采用统一的方式,与数据源和数据槽类型无关.

    使用

    • 引入maven依赖.

    实际使用中可以只引入: easy-batch-core.这里由于使用了实体校验,故直接引入了校验包,它内部引入了easy-batch-core.

            <dependency>
                <groupId>org.jeasy</groupId>
                <artifactId>easy-batch-validation</artifactId>
                <version>7.0.1</version>
            </dependency>
    
    • 使用
        Job job = new JobBuilder()
                .reader(new FlatFileRecordReader(Paths.get("D:\git_repo\yy\easy-batch-demo\src\main\resources\flowdemo\flow.csv")))
                .filter(new StartsWithStringRecordFilter("#"))
                .mapper(new DelimitedRecordMapper<>(Product.class, fields))
                .validator(new BeanValidationRecordValidator())
                .processor(new ProductProcessor())
                .writer(new StandardOutputRecordWriter())
                .build();
                
        JobExecutor jobExecutor = new JobExecutor();
        JobReport report = jobExecutor.execute(job);
        jobExecutor.shutdown();        
    

    reader: 读取解析外部文件
    filters: 进行数据过滤
    mapper: 字段与实体映射(绑定)
    validator: 数据校验
    processor: 引入自定义业务流程处理(你应该关系的核心业务逻辑)
    writer: 结果写出逻辑
    report: 执行结果

    • 项目结构介绍

    flowdemo: 项目流程处理示例.包含了实际业务处理流程processor.
    inputoutputdemo: 文件读入文件导出示例.

    参考资料

    easy-batch-demo
    easy-batch document
    easy-batch 核心概念![]

    喜欢关注一下,不喜欢点评一下
  • 相关阅读:
    使用nodeJs安装Vue-cli
    Win10 下安装 NodeJS
    sublime Text 3 字体
    使用THINKPHP中的控制器和模块查询数据库
    Windows下PHP开发环境搭建
    在HTML中使用JS
    Python 网络编程介绍
    python 单例模式
    Python 元类
    Python 异常处理
  • 原文地址:https://www.cnblogs.com/chengmuyu/p/15260443.html
Copyright © 2011-2022 走看看