流程的发起有多种方式,咱们选其一进行分析。
粗略来说有这么几大类:
- 通过消息来启动【比如流程的开始节点是消息开始节点,就可以通过这个api来实现流程的启动,消息是实例范围内的,所以无法通过抛出事件来启动,当然以消息事件开始的流程也可以通过通用api启动】
- 通过流程定义的key或者id
- 参数相互组合,比如业务key,变量,租户等。
处理方式大体相同,在这儿咱们跟踪参数最少的一个,看起来会清晰一些,当然思路是相同的。
1. runtimeService.startProcessInstanceByKey("key");
启动是通过引擎提供的runtimeService接口来完成
直接看它的实现