Activiti的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。 用途也和服务的API对应。

  • ACT_RE_*: 'RE'表示repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。
  • ACT_RU_*: 'RU'表示runtime。 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。 Activiti只在流程实例执行过程中保存这些数据, 在流程结束时就会删除这些记录。 这样运行时表可以一直很小速度很快。
  • ACT_ID_*: 'ID'表示identity。 这些表包含身份信息,比如用户,组等等。
  • ACT_HI_*: 'HI'表示history。 这些表包含历史数据,比如历史流程实例, 变量,任务等等。
  • ACT_GE_*: 通用数据, 用于不同场景下。
  • ACT_EVT_*: EVT表示EVENT,目前只有一张表ACT_EVT_LOG,存储事件处理日志,方便管理员跟踪处理。

部署流程相关表

# repositoryService 

SELECT * FROM act_re_deployment #部署对象表

select* from act_re_procdef  #流程定义表

select * from act_ge_bytearray #资源文件表

select * from act_ge_property #主键生成策略表

Repositoryservice 部署流程相关表

SELECT * FROM act_re_deployment #部署对象表

select* from act_re_procdef  #流程定义表

select * from act_ge_bytearray #资源文件表

select * from act_ge_property #主键生成策略表

RuntimeService TaskService

######流程实例,执行对象,任务#######
select * from act_ru_execution #正在执行的执行对象表  流程启动一次只要没有执行完,就会有一条数据

select * from act_ru_task #正在执行的任务表(只有节点是UserTask的时候,该表中存在数据) 可能有多条数据

select * from act_ru_variable ; #记录流程运行时的流程变量

select * from act_ru_identitylink ; ##存放流程办理人的信息

select * from act hi procinst ; #历史流程实例  流程实例的历史表
select * from act_hi_taskinst ;  #历史任务实例 任务历史表
select * from act_hi_actinst;  #历史活动节点表 所有活动节点的历史表
select * from act_hi_varinst ;   #历史流程变量表
select * from act_hi_identitylink ;   ##历史办理人表
select * from act_hi_comment ;   #批注表
select * from act_hi_attachment ;#附件表

helloWorld


/**
 * 
 * @author THE GIFTED
 * 部署流程定义
 */
public class DeployProcessDefi {
	
	ProcessEngine proEng = ProcessEngines.getDefaultProcessEngine();
	
	@Test
	public void deploy() {
//		部署流程
		Deployment dep = proEng.getRepositoryService()
				.createDeployment()
				.name("部署Name")
				.addClasspathResource("diagrams/one.bpmn")
				.addClasspathResource("diagrams/one.png").deploy();
			
		System.out.println(dep.getId());
		
	}
	
	/**
	 * 启动流程
	 */
	@Test
	public void startProcess() {
		
		String processDefinitionId = "";
		ProcessInstance proces = proEng.getRuntimeService()
//		.startProcessInstanceById(processDefinitionId)
		.startProcessInstanceByKey("hy");
		
		System.out.println(proces.getName());
	}

	/**
	 * 查询任务
	 */
	@Test
	public void findTask() {
		TaskService taskService = proEng.getTaskService();
//		String assignee="张三";
// 		String assignee="李四";
 		String assignee="王五";
		List<Task> list = taskService.createTaskQuery().taskAssignee(assignee).list();
		if(null!=list&&list.size()>0) {
			for (Task task : list) {
				System.out.println("任务ID:"+task.getId());
				System.out.println("流程实例ID:"+task.getProcessInstanceId());
				System.out.println("执行实例ID:"+task.getExecutionId());
				System.out.println("流程定义ID:"+task.getProcessDefinitionId());
				System.out.println("任务名称:"+task.getName());
				System.out.println("任务办理人:"+task.getAssignee());
				System.out.println("################################");
			}
		}
	}
	
	/**
	 * 办理任务
	 */
	@Test
	public void doTask(){
		TaskService taskService = proEng.getTaskService();
		String taskId="7502";
//		taskService.
		taskService.complete(taskId);
		System.out.println("任务完成");
	}
}