activitiは複数の並行子プロセスをどのように呼び出すのか。
Activitiでは、複数の並行ゲートウェイを使用して複数の並行サブプロセスを作成することができます。以下は、複数の並行サブプロセスをActivitiで呼び出す方法を示すサンプルコードです。
// 创建流程引擎
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
// 部署流程定义
RepositoryService repositoryService = processEngine.getRepositoryService();
repositoryService.createDeployment()
.addClasspathResource("myProcess.bpmn")
.deploy();
// 启动流程实例
RuntimeService runtimeService = processEngine.getRuntimeService();
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("myProcess");
// 获取并行子流程的执行实例
List<Execution> executions = runtimeService.createExecutionQuery()
.processInstanceId(processInstance.getId())
.list();
// 向每个并行子流程发送信号
for (Execution execution : executions) {
runtimeService.signal(execution.getId());
}
上記の例では、まず複数の並行サブプロセスを含むプロセス定義を展開し、その後プロセスインスタンスを開始しました。その後、クエリを使用してすべての並行サブプロセスの実行インスタンスを取得し、それぞれの並行サブプロセスにシグナルを送信して実行を開始しました。
BPMNで複数の並行サブプロセスを使用する場合は、これらのサブプロセスを並行ゲートウェイで接続する必要があります。このようにすると、プロセスが並行ゲートウェイに到達すると、複数の並行実行パスが作成され、それぞれのパスが1つの並行サブプロセスに対応します。