28.8. 异步信号事件
当来自不同进程定义的多个进程实例等待相同的信号时,它们会在同一线程中按顺序执行。但是,如果其中一个进程实例引发运行时异常,则所有其他进程实例都会受到影响,通常会导致回滚事务。为了避免这种情况,Red Hat Process Automation Manager 支持使用异步信号事件:
- 抛出中间信号事件
- 结束事件
28.8.1. 为中间事件配置异步信号
中间事件驱动业务流程的流。中间事件用于在执行业务流程期间捕获或抛出事件。中间事件处理进程执行过程中发生的特定情况。引发信号中间事件根据定义的属性生成信号对象。
您可以为 Business Central 中的中间事件配置异步信号。
先决条件
- 您已在 Business Central 中创建了一个项目,它至少包含一个业务流程资产。
- 已在 Business Central 中部署了带有进程定义的项目。
流程
- 开启业务流程资产。
- 在进程设计器 canvas 中,从左侧工具栏中拖放 Intermediate Signal。
- 在右上角,点 打开 Properties 面板。
- 展开 数据分配。
- 单击 Assignments 子部分下的框。此时会打开 Task Data I/O 对话框。
- 单击 Data Inputs 和 Assignments 旁边的 Add。
- 在 Name 字段中输入抛出事件的名称作为 async。
- 将 Data Type 和 Source 字段留空。
- 点击 确定。
它将在每个会话中自动设置 executor 服务。这样可保证每个进程实例在不同的事务中都发出信号。
28.8.2. 为结束事件配置异步信号
结束事件表示完成业务流程。除 none 和终止结束事件外,所有结束事件都会抛出事件。引发信号结束事件用于完成进程或子进程流。当执行流进入元素时,执行流将完成并生成由其 SignalRef
属性标识的信号。
您可以为 Business Central 中结束事件配置异步信号。
先决条件
- 您已在 Business Central 中创建了一个项目,它至少包含一个业务流程资产。
- 已在 Business Central 中部署了带有进程定义的项目。
流程
- 开启业务流程资产。
- 在进程设计器 canvas 中,从左侧工具栏拖放 End Signal。
- 在右上角,点 打开 Properties 面板。
- 展开 数据分配。
- 单击 Assignments 子部分下的框。此时会打开 Task Data I/O 对话框。
- 单击 Data Inputs 和 Assignments 旁边的 Add。
- 在 Name 字段中输入抛出事件的名称作为 async。
- 将 Data Type 和 Source 字段留空。
- 点击 确定。
它将在每个会话中自动设置 executor 服务。这样可保证每个进程实例在不同的事务中都发出信号。