У создаваемых классов есть свойство MTSTransactionMode отвечающее за то, как будет реализована поддержка транзакций в MTS.
Это свойство может принимать следующие значения:
- NotAnMTSObject - компонент не поддерживает MTS.
- NoTransactions - нет поддержки транзакций.
- RequiresTransaction - компонент должен быть выполнен в пределах транзакции, она будет либо унаследована либо создана заново.
- UsesTransaction - компонент должен выполняться в пределах транзакций клиента, если его нет он будет создан.
- RequiresNewTransaction - компонент должен выполняться в пределах своей транзакции, эта транзакция будет автоматически создана.
Одна из главных мыслей этих установок связана с использованием контекста транзакций несколькими компонентами. То есть выполнение транзакции может быть связана с выполнением серии действий несколькими компонентами. Все они должны быть включены в одну транзакцию для выполнения.