日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringBatch 监听器之Job监听器(JobExecutionListener)和Step监听器(StepExecutionListener)(五)

發布時間:2025/1/21 javascript 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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).<Cat, CafeCat>chunk(10).reader(catCommonMybatisItemReader()).processor(cafeCatProcessor).writer(cafeCatCommonFileItemWriter()).build();}

以上是Job監聽器和Step監聽器的簡單用法。我們可以根據自己的業務場景靈活運用,會對你的代碼有很大幫助。

總結

以上是生活随笔為你收集整理的SpringBatch 监听器之Job监听器(JobExecutionListener)和Step监听器(StepExecutionListener)(五)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。