第 9 章 历史 9.1. 概述 在流程执行过程中都会触发HistoryEvents. 我们在两个级别维护历史信息:流程实例和活动实例。 流程实例启动和流程实例结束生成历史事件 会从实现中直接触发。 ActivityBehaviour实现负责调用historyXxx方法 被ActivityExection中暴露。 所有HistoryEvent被委派给一个HistorySession.默认的HistorySessionImpl 将调用历史事件它们自己的process()方法。 HistoryEvent是临时事件。在process方法中,它们在历史模型中建立信息。 这是一个HistoryProcessInstance,这里还有一个从HistoryActivityInstance 开始的完全类继承结构。 在HistoryEvent.process方法中,历史事件创建模型实体或者在模型实体中合并信息。 比如,一个ProcessInstanceStart历史事件会创建一个HistoryProcessInstance实例或记录。 ProcessInstanceEnd会设置已存在的HistoryProcessInstance实例或记录的 结束属性。 与活动的模式相同。但是对于自动活动,这里有一个优化 所以只有一个事件被创建,所以信息被存储在一个单独的insert中 (所有这些都发生在一个事务中)。 (责任编辑:admin) |