简单的 Java 工具类:Tasklet
jopen
10年前
Tasklet是一个简单的 Java 工具类,主要用于将一个大任务分割成许多较小的子任务,然后对这些子任务进行协调管理。Tasklet主要有以下4个类:
-
Task : 任务/子任务,多个Task组成一个完整的任务/功能。
-
Manager : 任务/子任务的执行入口。通过内部维护一个Task容器来管理要运行的Task。
-
Context : 为子任务提供运行环境的上下文消息和服务。
-
Launcher: 启动一个完整的任务,主要用于配置任务的执行入口和Context环境信息。
Tasklet 的主要思想是将一个大型任务分解为一个任务树,每个结点都是一个Task/Manager实例。 一个或多个Task组成一个子功能,其入口就是Manager;一个或多个Manager组成一个完整的任务,其入口就是Launcher。
Tasklet主要有如下特点:
-
简单灵活:Tasklet只有4个主类,可以通过继承Task或Manager实现更高级的功能与控制。
-
重试机制:不同的Manager实现提供了不同的重试策略。
示例程序hiapk通过使用StackManager实现了即时重试(详情参见Step01.java)
目录结构
-
tasklet: tasklet源工程, 可以从target文件夹中下载已编译好的jar文件。
-
hiapk : 示例程序, 简单模拟了从m.apk.hiapk.com上搜索并下载指定应用的功能。