关于activiti这里就不作介绍了,网上资料也是大把,这里只是把之前在印象笔记上面记录的东西搬运过来。
1.创建核心引擎对象processEngine
2.通过引擎对象获取相关服务对象
3.通过服务对象完成相关操作
几个重要service的作用以及说明:
RepositoryService : 管理和控制发布包
和流程定义(包含了一个流程每个环节的结构和行为)
的操作
除此之外,服务可以
-
查询引擎中的发布包和流程定义。
-
暂停或激活发布包,对应全部和特定流程定义。 暂停意味着它们不能再执行任何操作了,激活是对应的反向操作。
-
获得多种资源,像是包含在发布包里的文件, 或引擎自动生成的流程图。
-
获得流程定义的pojo版本, 可以用来通过java解析流程,而不必通过xml。
RuntimeService :负责启动一个流程定义的新实例,获取和保存流程变量,查询流程实例和执行
TaskService :所有与任务有关的功能
IdentityService: 管理(创建,更新,删除,查询...)群组和用户
FormService: 一个可选服务,这个服务提供了启动表单和任务表单两个概念
HistoryService: 提供了Activiti引擎的所有历史数据
ManagementService :在使用Activiti的定制环境中基本上不会用到。 它可以查询数据库的表和表的元数据。另外,它提供了查询和管理异步操作的功能。
//1.发布流程规则
@Test
public
void
test()
throws
Exception{
//1.创建核心引擎流程对象processEngine
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
//2.使用processEngine获取需要的服务对象
RepositoryService repositoryService = processEngine.getRepositoryService();
//3.使用服务对象相关方法完成操作
//创建发布配置对象
DeploymentBuilder builder = repositoryService.createDeployment();
//指定发布相关文件
builder.addClasspathResource(
"leaveBill.bpmn"
).addClasspathResource(
"leaveBill.png"
).deploy();
}
//2.启动流程实例
@Test
public
void
startFlow()
throws
Exception{
//1.创建核心引擎流程对象processEngine
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
//2.使用processEngine获取需要的服务对象
RuntimeService runtimeService = processEngine.getRuntimeService();
//3.使用服务对象相关方法完成操作
runtimeService.startProcessInstanceByKey(
"myProcess"
);
}
//3.查看任务
@Test
public
void
queryTask()
throws
Exception{
//1.创建核心引擎流程对象processEngine
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
//2.使用processEngine获取需要的服务对象
TaskService taskService = processEngine.getTaskService();
//3.使用服务对象相关方法完成操作
List<Task> tasks = taskService.createTaskQuery()
//创建查询对象
.taskAssignee(
"老板"
)
//添加过滤条件
.list();
for
(Task task : tasks){
System.
out
.println(
"id:"
+task.getId()+
",name:"
+task.getName()+
",assignee:"
+task.getAssignee()+
",时间:"
+task.getCreateTime());
}
}
//4.办理任务
@Test
public
void
completeTask()
throws
Exception{
//1.创建核心引擎流程对象processEngine
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
//2.使用processEngine获取需要的服务对象
TaskService taskService = processEngine.getTaskService();
//3.使用服务对象相关方法完成操作
taskService.complete(
"202"
);
}
以上就是几个基本service的简单使用