Реакторы Транзакции
Операционный менеджер имеет список реакторов, через которые это уведомляет клиентов относительно событий, уместных операционной модели. В настоящее время, имеются четыре события, которые посылают уведомление:
virtual void
transactionStarted( int& numTransactions);
virtual void
transactionEnded( int& numTransactions);
virtual void
transactionAborted( int& numTransactions);
virtual void
endCalledOnOutermostTransaction( int& numTransactions);
Первые три уведомления обстреляны, когда любая транзакция, включая вложенные, начата, закончена, или прервана. Вы можете использовать эти уведомления в конъюнкции с
AcTransactionManager::numActiveTransactions () чтобы определить транзакцию, которая является уместной уведомлению. Например, если запрос к AcTransactionManager::numActiveTransactions () возвращает нуль в
Ваша перегрузка AcTransactionReactor:: transactionEnded () или AcTransactionReactor:: transactionAborted (), Вы знаете, что наиболее удаленная транзакция заканчивается или прерывание выполнения.
EndCalledOnOutermostTransaction () уведомление сообщает о начале передающегося{*совершающегося*} процесса всех модификаций, сделанных во всех транзакциях. Вы можете использовать этот повторный вызов, чтобы делать любую необходимую работу уборки прежде, чем передают{*совершают*}, начинает.
Параметр во всех уведомлениях представляет число транзакций, которые являются активными плюс те, которые закончили успешно. Это не включает транзакции, которые были начаты и прерваны.