经过几年的学习,现在才感觉,了解源码是多么的重要,甚至如今火热的培训班的老师也是这样过来的吧!一点一点的分析源码,再加上一点一点的思考和总结,才能够对知识了解的那么深刻吧!原来学习就是如此的简单。
废话不多说了,本篇博客,来详解一下Activiti中有关Task任务的API。
任务的增删改
在Activiti中有关任务对象的增删改与之前讲解的用户或者用户组的增删改,都是一样的,看一下用到的方法
Task newTask();
Task newTask(String taskId);
void saveTask(Task task);
void deleteTask(String taskId);
void deleteTasks(Collection<String> taskIds);
void deleteTask(String taskId, boolean cascade);
void deleteTasks(Collection<String> taskIds, boolean cascade);
void deleteTask(String taskId, String deleteReason);
void deleteTasks(Collection<String> taskIds, String deleteReason);
基本上TaskService接口中关于任务的增删改的就这么多,英文差不多的就可以看懂上面方法是什么意思了,就不多解释了,直接来一个Demo尝一下鲜吧
<span style="font-family:Comic Sans MS;font-size:18px;">public class DeleteTask { public static void main(String[] args) { // 创建流程引擎 ProcessEngine engine = ProcessEngines.getDefaultProcessEngine(); //获取任务服务组件 TaskService taskService = engine.getTaskService(); // 保存若干个Task for (int i = 1; i < 10; i++) { saveTask(taskService, String.valueOf(i)); } // 删除task(不包括历史数据和子任务) taskService.deleteTask("1"); // 删除task(包括历史数据和子任务) taskService.deleteTask("2", true); // 删除多个task(不包括历史数据和子任务) List<String> ids = new ArrayList<String>(); ids.add("3"); ids.add("4"); taskService.deleteTasks(ids); //删除多个task(包括历史数据和子任务) ids = new ArrayList<String>(); ids.add("5"); ids.add("6"); taskService.deleteTasks(ids, true); // 再删除ID为3的task,此时3的历史数据也会被删除(如果有的话) taskService.deleteTask("3", true); } //保存一个task static void saveTask(TaskService taskService, String id) { Task task1 = taskService.newTask(id); taskService.saveTask(task1); }}</span>
<