事件主题可能支持可阻止事件和可回复事件。工作流订阅的行为取决于主题是否支持这些事件类型以及您对工作流订阅的配置方式。

不可阻止事件主题

不可阻止事件主题仅允许创建非阻止订阅。系统以异步方式触发非阻止订阅,您不能依赖订阅的触发顺序或 vRealize Orchestrator 工作流的运行顺序。如果主题是可回复的,则非阻止订阅只会返回响应。

可阻止事件主题

有些事件主题支持阻止。如果工作流订阅被标记为阻止,则在第一个工作流完成之前,具有匹配条件的任何其他工作流订阅无法收到满足已配置条件的所有消息。如果同一个事件主题有多个阻止工作流订阅,您可以设置订阅的优先级。

阻止订阅按优先级顺序运行。最高优先级值是 0(零)。如果同一个事件主题有多个优先级相同的阻止订阅,这些订阅将基于名称按字母顺序运行。处理完所有阻止订阅后,消息会同时发送到所有非阻止订阅。由于阻止工作流订阅以同步方式运行,因此当后续工作流订阅收到通知时,已更改的事件负载包含已更新的事件。

您可以对一个或多个工作流订阅应用阻止,具体取决于所选工作流和目标。

例如,您有两个置备工作流订阅,其中第二个工作流取决于第一个工作流的结果。如果第一个工作流在置备期间更改某个属性,则第二个工作流会在文件系统中记录该新属性(例如计算机名称)。如果 ChangeProperty 订阅的优先级值设置为 0,则 RecordProperty 的优先级值设置为 1,因为后者使用 ChangeProperty 订阅的结果。置备计算机时,ChangeProperty 订阅会开始运行。由于 RecordProperty 订阅条件基于置备后条件,因此消息会触发 RecordProperty 订阅。但是,由于 ChangeProperty 工作流是阻止工作流,因此在完成之前,此工作流不会收到该消息。当名称已更改并且第一个工作流已完成后,第二个工作流会开始运行并在文件系统中记录该名称。

即使事件主题支持阻止,您也可以创建非阻止工作流订阅,前提是该工作流订阅没有任何从属的后续工作流。该工作流订阅会被触发并运行 vRealize Orchestrator 工作流,而不会进一步与 vRealize Automation 或外部系统交互。

可回复事件主题

有些事件主题支持来自已订阅服务的回复。注册可回复事件主题的服务可以接受提供工作流输出的回复事件,该工作流输出通常在与系统或用户交互后生成。回复输出参数必须满足在回复架构中定义的标准,以便发布原始可回复事件的 vRealize Automation 服务可以处理它。例如,批准前工作流订阅和批准后工作流订阅是可回复的。如果您创建一个工作流以向外部系统发送批准请求,则 vRealize Automation 将对回复(已批准或已拒绝)进行处理并置备目录项,否则会通知用户该请求被拒绝。

回复可以是来自 vRealize Orchestrator 工作流的输出,但如果工作流超时或失败,则回复可能会失败。如果回复来自工作流输出参数,则该回复必须采用正确的回复架构格式。