首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是使用JobExecution.beforeJob()还是使用Tasklet?

是使用JobExecution.beforeJob()还是使用Tasklet?
EN

Stack Overflow用户
提问于 2018-07-04 19:16:07
回答 1查看 585关注 0票数 0

我的Spring应用程序首先将zip文件解压到单个文件中,然后再将它们按步骤发送。

对于这个任务,在Tasklet上使用JobExecutionListener.beforeJob()有什么好处?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-04 21:07:46

在以下情况下,我将使用侦听器

  1. 支持非主要任务(如 )的功能
    • 日志记录
    • 报告

我问自己一个问题,如果我移除听者,会不会给工作带来任何问题。如果回答为“否”,则表示侦听器的设计是正确的。

  1. 在事务之外工作。下面是监听器/方法是外部事务
代码语言:javascript
复制
- beforeJob
- afterJob
- beforeStep
- afterStep
- afterChunk

  1. 内部事务处理。下面是侦听器/方法在事务中
代码语言:javascript
复制
- beforeChunk
- beforeRead/afterRead/onReadError
- beforeProcess/afterProcess/onProcessError
- beforeWrite/afterWrite/onWriteError
- onSkipInRead/onSkipInWrite/onSkipInProcess

  1. 当异常发生时,我们不希望通过将异常标记为非回滚异常来回滚。
  2. 初始化一些缓存或概要数据,这些缓存或配置文件数据将在作业中重复使用。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51179747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档