欢迎访问 生活随笔!

凯发ag旗舰厅登录网址下载

当前位置: 凯发ag旗舰厅登录网址下载 > 前端技术 > javascript >内容正文

javascript

springbatch 监听器之job监听器(jobexecutionlistener)和step监听器(stepexecutionlistener)(五) -凯发ag旗舰厅登录网址下载

发布时间:2025/1/21 javascript 17 豆豆
凯发ag旗舰厅登录网址下载 收集整理的这篇文章主要介绍了 springbatch 监听器之job监听器(jobexecutionlistener)和step监听器(stepexecutionlistener)(五) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

    • 一、job监听器-jobexecutionlistener
    • 二、step监听器-stepexecutionlistener

前言:例我们在执行job时候,可能需要在job执行之前预先对一些数据做处理,或者在job执行之后需要做一些处理。这时候我们就可以使用到监听器来帮做我们处理,springbatch已经帮我们预先留好接口了。

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

在spring batch中主要以以下七种监听器为主:

  • step监听器 :监听step的执行开始和结束;
  • job监听器 :监听job的执行开始和结束;
  • skiplistener监听器 :在读、处理、写的过程中,监听跳过的异常;
  • chunklistener监听器 :监听的chunk的执行开始和结束,或者监听chunk出错
  • itemreadlistener监听器:监听 读之前、读之后、读的时候发生错误
  • itemprocesslistener监听器:监听 处理之前、处理之后、处理的时候发生错误
  • itemwritelistener监听器:监听 写之前、写之后、写的时候发生错误

springbatch其它文章直通车:

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

一、job监听器-jobexecutionlistener

job监听器有两种实现方式:
1、使用注解@beforejob、@afterjob
2、实现接口jobexecutionlistener
我们以第二种实现方式为例 实现jobexecutionlistener

catjoblistener

package com.sl.listener;import org.springframework.batch.core.jobexecution; import org.springframework.batch.core.jobexecutionlistener; import org.springframework.stereotype.component;/*** job监听器* @author shuliangzhao* @title: catjoblistener* @projectname spring-boot-learn* @description: todo* @date 2019/9/11 19:24*/ @component public class catjoblistener implements jobexecutionlistener {@overridepublic void beforejob(jobexecution jobexecution) {system.out.println("job执行执行做处理");}@overridepublic void afterjob(jobexecution jobexecution) {system.out.println("job执行执行做处理");} }

在创建job时候添加监听器

@beanpublic job catjob() {return jobbuilderfactory.get("catjob").start(catstep()).listener(catjoblistener).build();}

二、step监听器-stepexecutionlistener

step监听器有两种实现方式:
1、使用注解@beforestep、@afterstep
2、实现接口stepexecutionlistener
我们以第二种实现方式为例 实现stepexecutionlistener

catsteplistener

package com.sl.listener;import org.springframework.batch.core.exitstatus; import org.springframework.batch.core.stepexecution; import org.springframework.batch.core.stepexecutionlistener; import org.springframework.stereotype.component;/*** @author shuliangzhao* @title: catsteplistener* @projectname spring-boot-learn* @description: todo* @date 2019/9/11 19:48*/ @component public class catsteplistener implements stepexecutionlistener {@overridepublic void beforestep(stepexecution stepexecution) {system.out.println("step执行之前");}@overridepublic exitstatus afterstep(stepexecution stepexecution) {system.out.println("step执行之后");return null;} }

在创建step添加监听器

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

以上是job监听器和step监听器的简单用法。我们可以根据自己的业务场景灵活运用,会对你的代码有很大帮助。

总结

以上是凯发ag旗舰厅登录网址下载为你收集整理的springbatch 监听器之job监听器(jobexecutionlistener)和step监听器(stepexecutionlistener)(五)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得凯发ag旗舰厅登录网址下载网站内容还不错,欢迎将凯发ag旗舰厅登录网址下载推荐给好友。

网站地图