您的位置:首页 > 其它

activiti工作楼04-启动流程

2016-08-18 16:13 465 查看
部署流程完成后,可以通过

ProcessDefinitionQuery query = repositoryService.createProcessDefinitionQuery().active().orderByDeploymentId().desc();

List<ProcessDefinition> list = query.list();

来获取全部的已经部署的流程,这些已经部署的流程可在act_re_deployment表中找到。我们要特别注意这些流程的id,以为启动流程的时候,我们需要用到这些流程的id。

启动流程方法一:

若想启动某个已经部署的流程,必须获其id(processInstanceId)。获取id的方法就不再介绍,获取到id后,调用

org.activiti.engine.FormService的submitStartFormData(processDefinitionId, formProperties)来启动一个特定的流程。

参数1:流程实例id(已经部署的流程的id)

参数2:表单数据

启动流程方法二:

通过org.activiti.engine.RuntimeService的startProcessBy...里面的启动流程的方法来启动

常用的有:

1,startProcessInstanceById(String processDefinitionId)

Starts a new process instance in the exactly specified version of the process definition with the given id.

(通过给定的流程id,来启动一个特定的版本的新流程实例)。

2,startProcessInstanceById(String processDefinitionId, Map<String,Object> variables)

Starts a new process instance in the exactly specified version of the process definition with the given id.

(通过给定的流程id,来启动一个特定的版本的新流程实例)。Map存放的是表单的数据。

3,startProcessInstanceById(String processDefinitionId, String businessKey)

Starts a new process instance in the exactly specified version of the process definition with the given id.

(通过给定的流程id,来启动一个特定的版本的新流程实例)。businessKey是表单的Id。建议自动生成表单的id

4,startProcessInstanceById(String processDefinitionId, String businessKey, Map<String,Object> variables)

Starts a new process instance in the exactly specified version of the process definition with the given id.

所涉及到的参数上面都有介绍。

另外,RuntimeService中还定义了很多启动流程的方法,详情可查看API文档。

       
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息