AsyncTask 是个人编写的一个 Java 异步调用框架,支持以下功能:
1)自定义 Task,并可设置Task的类型(Type), 子类型(subType),超时时间(TImeout),标识(Flag- 可用来区分不同的 Task),Task 的输入参数(input)等。
2)可通过 submitTask,提交 到框架中异步执行,框架查找对应的 TaskExectuor,多线程执行。
3)可自定义对应 TaskExecutor,通过配置添加到框架中。TaskExecutor 支持 Execotor Chain, 多个 Executor 可以组合在一起顺序执行。并且支持在 Task 执行过程中,实时通知任务调用者 Task 的状态,进度等。
4)用户可使用 TaskCollector 通过 TaskManager 查询所有的 Task,支持按 Task Id,Task Type, Task SubType, Task State, Task Flag, Task beginTIme, Task finishTime 等多种方式的组合查询。
5)支持持久化,用户提交的 Task 可以被存储在数据库中。即使 Task 在执行过程中被中断,重新启动后会从数据库中恢复后继续执行。
6)用户可通过查询接口可获取 Task 的引用 ITaskReference,通过 ITaskReference 可实时获取 Task 的状态(State)和进度 Progress。
7)用户可定义 Task 的 FinishedCallBack 回调,在 Submit Task 时传入,在 Task 完成后自动回调。
8)通过 ITaskReference 的 waitForTask,支持用户以同步方式使用。
9)用户可通过 ITaskReference 获取 Task 的执行结果或错误信息。
代码:https://git.oschina.net/jmpp/AsyncTask