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 核心概念![]

    喜欢关注一下,不喜欢点评一下
  • 相关阅读:
    LD_DEBUG
    kernel相关前沿技术了解
    awk一次性分别赋值多个value给多个变量,速度对比
    google spanner
    python指定日期后加几天判断
    awk手册
    2017.12.28 现货黄金止盈复盘
    数据库和struts2的拦截器
    类和数据库的扫盲
    深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接(经典)
  • 原文地址:https://www.cnblogs.com/chengmuyu/p/15260443.html
Copyright © 2011-2022 走看看