子流程提供了几个流程要使用的通用活动序列。您可以像包含活动和工具一样将子流程包括在流中。您也可以用相同的方法将子流程连接到其他节点。
子流程提供了以下好处:
- 可重用性和缩短开发时间。
- 一致性和增强的类似流程的可维护性(考虑一个类似于编程宏的子流程,或者内联编写一次但在许多地方使用的代码)。
- 灵活地定制特定上下文的子流程(例如,通过更新输出队列或数据源信息)。
- 异步子流程可以执行耗时的任务,例如将数据写入外部数据库或通过电子邮件发送消息,而不会拖延主流程,即触发其执行的流程。
子流程的类型
1.同步
子流程同步运行(相对于触发其执行的流),并始终继承触发流所采用的处理策略和异常策略。子流程正在运行时,触发流程的处理暂停,只有在子流程完成处理后才能恢复,并将消息传递回触发流程。
情况1:标准同步子流程
情况2:在流程中多次使用子流程。
情况3:多个流使用相同的子流
2.异步
异步流程与触发其执行的流程同时并行异步运行。当一个流程触发一个异步流程,从而触发它的执行时,它将同时流入到它自己的流程中的下一个活动处理器。因此,两个流程 - 触发和触发 - 同时独立执行,各自完成。这种类型的流程不会从触发流程中继承处理或异常策略。
情况1:标准异步子流程
情况2:多个流程使用相同的子流程