ObjectARX, AutoCAD. Среда программирования библиотеки C++

       

Реакторы Транзакции


Операционный менеджер имеет список реакторов, через которые это уведомляет клиентов относительно событий, уместных операционной модели. В настоящее время, имеются четыре события, которые посылают уведомление:

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 () уведомление сообщает о начале передающегося{*совершающегося*} процесса всех модификаций, сделанных во всех транзакциях. Вы можете использовать этот повторный вызов, чтобы делать любую необходимую работу уборки прежде, чем передают{*совершают*}, начинает.

Параметр во всех уведомлениях представляет число транзакций, которые являются активными плюс те, которые закончили успешно. Это не включает транзакции, которые были начаты и прерваны.



Содержание раздела