当前位置: 首页 > news >正文

门户网站建设 存在的问题wordpress大学百度云

门户网站建设 存在的问题,wordpress大学百度云,动易网站免费版,新手学做网站视频目录 引言 概念 案例 转视频版 引言 接着上篇#xff1a;Spring Batch ItemWriter组件#xff0c;了解Spring Batch ItemWriter处理组件后#xff0c;接下来一起学习一下Spring Batch 高级功能-多线程步骤 概念 默认的情况下#xff0c;步骤基本上在单线程中执行Spring Batch ItemWriter组件了解Spring Batch ItemWriter处理组件后接下来一起学习一下Spring Batch 高级功能-多线程步骤 概念 默认的情况下步骤基本上在单线程中执行那能不能在多线程环境执行呢答案肯定是yes但是也要注意多线程环境步骤执行一定要慎重。原因多线程环境下步骤是要设置不可重启。 Spring Batch 的多线程步骤是使用Spring 的 TaskExecutor(任务执行器)实现的。约定每一个块开启一个线程独立执行。 案例 需求分5个块处理user-thread.txt文件 1编写user-thread.txt文件 1#dafei#18 2#xiaofei#16 3#laofei#20 4#zhongfei#19 5#feifei#15 6#zhangsan#14 7#lisi#13 8#wangwu#12 9#zhaoliu#11 10#qianqi#10 2定义实体对象 Getter Setter ToString public class User {private Long id;private String name;private int age; } 3完整代码 package com.langfeiyes.batch._35_step_thread;import org.springframework.batch.core.Job; import org.springframework.batch.core.Step; import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing; import org.springframework.batch.core.configuration.annotation.JobBuilderFactory; import org.springframework.batch.core.configuration.annotation.StepBuilderFactory; import org.springframework.batch.item.ItemWriter; import org.springframework.batch.item.file.FlatFileItemReader; import org.springframework.batch.item.file.builder.FlatFileItemReaderBuilder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; import org.springframework.core.io.ClassPathResource; import org.springframework.core.task.SimpleAsyncTaskExecutor;import java.util.List;SpringBootApplication EnableBatchProcessing public class ThreadStepJob {Autowiredprivate JobBuilderFactory jobBuilderFactory;Autowiredprivate StepBuilderFactory stepBuilderFactory;Beanpublic FlatFileItemReaderUser userItemReader(){System.out.println(Thread.currentThread());FlatFileItemReaderUser reader new FlatFileItemReaderBuilderUser().name(userItemReader).saveState(false) //防止状态被覆盖.resource(new ClassPathResource(user-thread.txt)).delimited().delimiter(#).names(id, name, age).targetType(User.class).build();return reader;}Beanpublic ItemWriterUser itemWriter(){return new ItemWriterUser() {Overridepublic void write(List? extends User items) throws Exception {items.forEach(System.err::println);}};}Beanpublic Step step(){return stepBuilderFactory.get(step1).User, Userchunk(2).reader(userItemReader()).writer(itemWriter()).taskExecutor(new SimpleAsyncTaskExecutor()).build();}Beanpublic Job job(){return jobBuilderFactory.get(thread-step-job).start(step()).build();}public static void main(String[] args) {SpringApplication.run(ThreadStepJob.class, args);} }4结果 User(id2, namexiaofei, age16) User(id5, namefeifei, age15) User(id4, namezhongfei, age19) User(id7, namelisi, age13) User(id1, namedafei, age18) User(id6, namezhangsan, age14) User(id3, namelaofei, age20) User(id8, namewangwu, age12) User(id9, namezhaoliu, age11) User(id10, nameqianqi, age10) 解析 1userItemReader() 加上saveState(false) Spring Batch 提供大部分的ItemReader是有状态的作业重启基本通过状态来确定作业停止位置而在多线程环境中如果对象维护状态被多个线程访问可能存在线程间状态相互覆盖问题。所以设置为false表示关闭状态但这也意味着作业不能重启了。 2step() 方法加上.taskExecutor(new SimpleAsyncTaskExecutor()) 为作业步骤添加了多线程处理能力以块为单位一个块一个线程观察上面的结果很明显能看出输出的顺序是乱序的。改变 job 的名字再执行会发现输出数据每次都不一样。 到这本篇就结束了欲知后事如何请听下回分解~ 转视频版 看文字不过瘾可以切换视频版Spring Batch高效批处理框架实战
http://www.dnsts.com.cn/news/204789.html

相关文章:

  • 网站开发安卓开发cms网站是什么意思
  • 网站备案注销南宁网站设计要多少钱
  • 阿里云手机做网站寿光哪里做网站
  • 佛山公司网站推广外包服务湘潭做网站价格品牌磐石网络
  • 网站建设与管理考题网站开发人员分工
  • 吴桥网站网络推广销售是做什么的
  • 临海做网站seo培训一对一
  • php钓鱼网站怎么做视频教程江门市做网站
  • 自己怎么建个网站赚钱泰安网约车平台有哪些
  • 网站建设系统规划全网自媒体平台
  • 江苏城乡建设厅网站九江市建设项目服务中心
  • 中科诚建建设工程有限公司网站昆明网站开发建
  • 我的网站别人给黑链 攻击深圳注册公司流程图
  • 专业网站开发费用泰州企业网站建设
  • 电子商务网站页面设计图片建设银行客户投诉网站
  • 柳市网站制作如何在百度能搜索到公司网站
  • 西宁市建设网站价格低基层建设杂志网站
  • 济南 域名注册 网站建设物流企业网站模板
  • 电子商务网站开发的流程建设网站上海
  • 怎么做公司网站制作公司官网网站如何建立
  • 江西做网站优化好的wordpress 区块链主题
  • 查降权网站小程序开发平台售后有保障
  • 局域网网站建设教程建网站程序工具
  • 网站制作从零开始北海网站制作公司
  • 专业的外贸网站建设公司价格网站免费建站的方法
  • django 电商网站开发腾讯qq企业邮箱登录入口
  • 学校网站设计及代码山西省城乡建设厅网站
  • 网站建设流程报价网站推广有哪些常用的方法
  • 建设部网站被黑昆明中国建设银行网站
  • 信用门户网站建设观摩佛山林镜全