2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > java批处理框架采集端_使用Spring Batch批处理框架(参考)

java批处理框架采集端_使用Spring Batch批处理框架(参考)

时间:2023-07-22 15:30:16

相关推荐

java批处理框架采集端_使用Spring Batch批处理框架(参考)

本文主要介绍了春季批量框架的使用分析。文章通过实例代码详细介绍,对每个人的学习或工作都有一定的参考和学习价值,需要的朋友可以参考。

使用春季批处理作为批处理框架,可以在常规数据量不是特别大的情况下完成离线计算。

现在写一个简单的入门级例子。

这里的默认设置是每个人都已经掌握了Spring Batch的基本知识,这个例子只是为了快速实现手。

目标1:程序随机生成字符串,在春季批处理后,在字符串后统一添加“-processed”,并输出它们

目标2:程序读取txt文件,在春季批处理之后,统一添加上述字段并输出它们。

春季分批过程

读取数据-项目读取器处理数据-项目处理数据写入-项目写入

根据对目标的分析,两个目标的输入数据源不同,处理方法基本相同,数据完成后的写入规则相同。

由此可以分段完成代码

itemReader

目标一

这里没有使用Spring Batch自带的集中reader,所以自定义了随机生成字符串的reader

这里代码并不完善,reader会无线循环生成随机字符串,但不影响本次学习的目的

public class MyItemReader implements ItemReader {

@Override

public String read() throws Exception, UnexpectedInputException, ParseException, NonTransientResourceException {

return RandomStringUtils.randomAlphabetic(10);

}

}

目标二

由于是读取文件中的内容,所以不用自定义reader实现,可直接使用FlatFileItemReader,在Batch的config中配置即可

@Bean

public ItemReader textReader(){

FlatFileItemReader reader=new FlatFileItemReader<>();

File file = new File("D:\\FTP\\ttest.txt");

reader.setResource(new FileSystemResource(file));

reader.setLineMapper(new LineMapper() {

@Override

public String mapLine(String line, int lineNumber) throws Exception {

return line;

}

});

return reader;

}

itemProcess

这里采用同一种处理方式即可

public class MyItemProcessor implements ItemProcessor {

@Override

public String process(String s) throws Exception {

return s+"---------PROCESSED";

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。