javascript
springbatch 监听器之job监听器(jobexecutionlistener)和step监听器(stepexecutionlistener)(五) -凯发ag旗舰厅登录网址下载
文章目录
- 一、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).以上是job监听器和step监听器的简单用法。我们可以根据自己的业务场景灵活运用,会对你的代码有很大帮助。
总结
以上是凯发ag旗舰厅登录网址下载为你收集整理的springbatch 监听器之job监听器(jobexecutionlistener)和step监听器(stepexecutionlistener)(五)的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得凯发ag旗舰厅登录网址下载网站内容还不错,欢迎将凯发ag旗舰厅登录网址下载推荐给好友。
- 上一篇: springbatch读文件(flatf
- 下一篇: springbatch 多线程(task