Tasklet介绍
Tasklet介绍
tasklet元素定义任务的具体执行逻辑。
tasklet的属性
属性 | 说明 | 默认值 |
---|---|---|
ref | 引用自定义实现Tasklet接口的Bean。当使用自定义的Tasklet业务的时候,必须使用ref来引用,如果使用Spring batch提供的chunk组件,需要使用chunk元素来定义业务。 | |
method | 引用自定义的业务Bean,需要调用的操作,对操作的要求:参数需要和Tasklet.execute具有相同的参数。返回值:可以是void、Boolean或者RepeatStatus | execute |
start-limit | Step能够启动的最大次数,超过最大次数后会抛出异常 | Integer.MAX_VALUE |
allow-start-if-complete | 是否允许完成(状态为"COMPLETED")的Step重新启动 | false |
transaction-manager | tasklet配置的事务管理器,控制业务的处理操作 | |
task-executor | 任务执行处理器,定义后表示采用多线程执行任务,需要考虑多线程执行任务时候的安全性 | |
throttle-limit | 最大使用线程池的数目 |
tasklet的子元素
子元素 | 说明 |
---|---|
chunk | 定义面向批的业务操作,使用chunk可以复用Spring Batch提供的基础设施 |
transaction-attributes | 定义任务具体的事务属性,例如隔离级别、事务传播方式、超时时间等 |
no-rollback-exception-classes | 定义不会触发事务回滚的异常。通常情况下,作业处理过程中发生的任何异常都会导致作业事务的回顾,Spring Batch框架提供指定异常不影响事务的能力 |
listeners | 定义具体任务级别的拦截器 |