HistoryEvents are fired during process execution.
We maintain history information on 2 levels: process instance and activity instance.
Process instance start and process instance end generate history events are fired directly
from within the implementation.
ActivityBehaviour implementations are responsible for calling the historyXxx methods that
are exposed on the ActivityExecution
All the HistoryEvents are delegated to a HistorySession. The default HistorySessionImpl
will invoke the process() method on the history events themselves.
The HistoryEvents are temporary events. In the process method, they build up the
information in the history model. There is a HistoryProcessInstance and there is a whole
class hierarchy starting with HistoryActivityInstance.
In the HistoryEvent.process methods, the history events create model entities or merge
information into the model entities. For instance, a ProcessInstanceStart history event
will create a HistoryProcessInstance entity/record. And the ProcessInstanceEnd will set
the endTime property in the existing HistoryProcessInstance entity/record.
Similar pattern for the activities. But for automatic activities, there is an
optimisation so that only 1 event is created and all the information is stored in one
single insert (as all this happens inside 1 transaction).
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4209523#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...