欢迎访问 生活随笔!

凯发k8官方网

当前位置: 凯发k8官方网 > 前端技术 > javascript >内容正文

javascript

springbatch 多线程(taskexecutor)启动job详解 (七) -凯发k8官方网

发布时间:2025/1/21 javascript 17 豆豆
凯发k8官方网 收集整理的这篇文章主要介绍了 springbatch 多线程(taskexecutor)启动job详解 (七) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

    • 一、springbatch配置多线程
    • 二、springbatch多线程的tasklet配置

前言:使用单线程,单个进程作业可以解决许多批处理问题,如果我们想要job执行的速度更快,springbatch提供了对多线程的支持。只需要简单的配置,我们的job就可以使用多线程运行。

代码已上传github上面地址:https://github.com/fadehub/spring-boot-learn/tree/master/spring-boot-springbatch

springbatch其它文章直通车:

  • springbatch读单个文件(flatfileitemreader)和写单个文件(flatfileitemwriter)(一)
  • springbatch顺序读取多文件(multiresourceitemreader)和顺序写文件(multiresourceitemwriter)(二)
  • springbatch读数据库(mybatispagingitemreader)(三)
  • springbatch读文件(flatfileitemreader)写据库(mybatisbatchitemwriter)(四)
  • springbatch 监听器之job监听器(jobexecutionlistener)和step监听器(stepexecutionlistener)(五)
  • springbatch 监听器之chunk监听器(chunklistener)和skip监听器(skiplistener)(六)

一、springbatch配置多线程

配置多线程最简单的方法是,在step配置中添加一个taskexecutor

多线程step

@beanpublic step catthreadstep() {return stepbuilderfactory.get("catthreadstep")// .listener(catsteplistener).listener(catchunklistener).chunk(10).reader(catcommonmybatisitemreader()).processor(cafecatprocessor).writer(cafecatcommonfileitemwriter()).taskexecutor(taskexecutor()).build();}

taskexecutor实现类

@beanpublic taskexecutor taskexecutor(){return new simpleasynctaskexecutor("spring_batch");}

注意:上述配置的结果是step通过在单独的执行线程中读取,处理和写入每个块(每个提交间隔)来执行。作业的执行没有固定的顺序。

二、springbatch多线程的tasklet配置

多线程tasklet默认t配置为4,您可能需要增加tasklet以确保线程池充分利用。
在step中提供了对tasklet数量配置,关键字为:throttlelimit

@beanpublic step catthreadstep() {return stepbuilderfactory.get("catthreadstep")// .listener(catsteplistener).listener(catchunklistener).chunk(10).reader(catcommonmybatisitemreader()).processor(cafecatprocessor).writer(cafecatcommonfileitemwriter()).taskexecutor(taskexecutor()).throttlelimit(8).build();}

我们在用springbatch多线程时候,一定要注意作业的执行没有固定的顺序。所以多线程用的时候一定要慎用。

总结

以上是凯发k8官方网为你收集整理的springbatch 多线程(taskexecutor)启动job详解 (七)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得凯发k8官方网网站内容还不错,欢迎将凯发k8官方网推荐给好友。

网站地图