Activiti(新手)工作流如何开启流程

本文中简单介绍如何开启Activiti工作流引擎,百度上已经有了N多环境搭建的栗子,这边就不再介绍。

 

在开始之前先看看下图,对整个对象结构有个了解,再结合下面的详细介绍理解。 

核心 API介绍作用
ProcessEngineConfiguration流程引擎配置对象添加数据库连接配置和数据库建表策略
ProcessEngine核心对象, 流程引擎对象大管家, 管理各种服务
ProcessDefinition流程定义对象规定了流程包含了哪些活动, 以及各种活动的执行顺序
ProcessInsctance流程实例对象按照规则实际的一次执行

 

 

 

 

 

 

 

 

 

 

 

 

 对以上有了解之后会更快的理解下面的内容

RuntimeService执行管理, 启动, 推进, 删除流程实例

 

 

 

 


API为我们提供了20种开启流程的方法,总有一种是你的菜。
startProcessInstanceById(String processDefinitionId) 
startProcessInstanceById(String processDefinitionId, Map<String,Object> variables) 
startProcessInstanceById(String processDefinitionId, String businessKey) 

startProcessInstanceById(String processDefinitionId, String businessKey, 

Map<String,Object> variables) 

startProcessInstanceByKey(String processDefinitionKey) 
startProcessInstanceByKey(String processDefinitionKey, Map<String,Object> variables) 
startProcessInstanceByKey(String processDefinitionKey, String businessKey) 

startProcessInstanceByKey(String processDefinitionKey, String businessKey, 

Map<String,Object> variables) 


startProcessInstanceByKeyAndTenantId(String processDefinitionKey, 

Map<String,Object> variables, String tenantId) 

startProcessInstanceByKeyAndTenantId(String processDefinitionKey, String tenantId) 

startProcessInstanceByKeyAndTenantId(String processDefinitionKey, String businessKey, 

Map<String,Object> variables, String tenantId) 

startProcessInstanceByKeyAndTenantId(String processDefinitionKey, String businessKey, 

String tenantId) 

startProcessInstanceByMessage(String messageName) 
startProcessInstanceByMessage(String messageName, Map<String,Object> processVariables) 
startProcessInstanceByMessage(String messageName, String businessKey) 

startProcessInstanceByMessage(String messageName, String businessKey, 

Map<String,Object> processVariables) 

startProcessInstanceByMessageAndTenantId(String messageName, 

Map<String,Object> processVariables, String tenantId) 

startProcessInstanceByMessageAndTenantId(String messageName, String tenantId) 

startProcessInstanceByMessageAndTenantId(String messageName, String businessKey, 

Map<String,Object> processVariables, String tenantId) 

startProcessInstanceByMessageAndTenantId(String messageName, String businessKey, String tenantId) 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
    开启流程相关代码
//设置流程开启人,这个是必要方法  
Authentication.setAuthenticatedUserId(startUser);  
  
//这边使用的是多租户 tenantId  
//variables 是流程需要的集合变量  
//id 是uuid 唯一  
//key 是流程部署的key  
ProcessInstance processInstance = runtimeService.startProcessInstanceByKeyAndTenantId(key, id, variables,tenantId);  
  
//取得流程当前任务信息  
Task task = taskService.createTaskQuery().processInstanceId(processInstance.getId()).taskTenantId(tenantId).singleResult();  
 
  • 本次介绍完。如有不足和疑问请留言,共同讨论
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值