管理孤标记

孤标记是一个与已从业务流程定义 (BPD) 中除去的活动相关联的指针。您可以使用策略文件、REST API 或流程检验器来管理孤标记。

将标记视作流程内的一个活动的执行步骤。 标记将存在于每项激活的活动上以及激活的活动上的计时器和消息事件上。

如果从已迁移 Snapshot 的 BPD 中除去与标记关联的活动,那么此标记将变成孤标记。您需要确定如何应对潜在的孤标记,否则将面临过程实例无法完成的风险。例如,您已安装全新版本的流程应用程序。新版本已清除早期版本不再使用的几项活动。但是,对于一部分未使用的活动而言,仍存在一些标记。您必须删除或移动这些孤标记,否则迁移的流程实例可能无法完成。删除或移动孤标记后,流程实例将尝试在包含标记的下一个活动恢复。 如果无法从修订的 BPD 确定下一步,那么实例将在无更多活动标记时完成。例如,如果您有一个包含三个任务(任务 A、任务 B 和任务 C)的活动,并且任务 A 当前正在运行,那么此任务具有标记。 如果您在任务 A 运行期间删除此标记,那么任务 B 和任务 C 将不会运行,并且流程实例会被视为完成。

请考虑另一个示例。您再度安装了全新版本的流程应用程序。系统已从一部分嵌套流程中除去几个明显的异常事件。这一除去过程可能导致在将实例迁移到新版本时生成孤标记。在不使实例中止的情况下,将其从流程的旧版本迁移到新版本时,应能够删除(也即忽略)这些标记。

识别和管理孤标记的最简单的方法是生成策略文件,并用它来指定是否应在实例迁移期间移动或删除每个潜在的孤标记。如果在不使用策略文件的情况下迁移 Snapshot 实例,那么可能会创建孤标记。在此情况下,您可以使用 REST API 客户机来删除或移动这些孤标记。也可以使用 Web 流程检验器删除孤标记。这些方法在以下随附主题中进行描述。

重要注意事项

在决定是删除还是移动标记时,请谨慎。以下是在您选择时应记住的几个特殊用例:

表 1. 可移动标记的位置
源活动位置 同一流程中的目标 父进程中的目标 子进程中的目标 子事件子进程中的目标 子链接流程中的目标
流程 不适用
子进程
事件子进程
链接流程