Как работает MSDTC в Websphere Mq v.7.5.2.?

Я обновляю клиент C# Websphere версии 7.0 до версии 7.5.2 в первую очередь для того, чтобы воспользоваться преимуществами новой функции MSDTC. Однако мой первоначальный PoC выявил ряд проблем, одна из которых заключается в том, как транзакции фиксируются и откатываются.

В версии 7.0 фиксации и откаты выполнялись синхронно, однако в версии 7.5.2 с использованием MSDTC фиксации и откаты выполняются асинхронно.

Это критическое изменение, поэтому мой вопрос:

  1. Есть ли какой-то WaitHandle, чтобы вы могли дождаться завершения фиксации или отката?
  2. Есть ли параметр, который вы можете установить, который синхронизирует фиксацию и откат MSDTC?

Спасибо, Слинд.


person Slind    schedule 29.01.2014    source источник


Ответы (1)


В MQ v7.5, если вы используете глобальные транзакции (XA), транзакции координируются MSDTC, который решает, когда фиксировать или откатывать транзакцию. Вы можете посмотреть это ссылка, которая далее объясняет поведение.

Событие завершения транзакции может быть обработано в вашем приложении, чтобы узнать, когда транзакция завершена. См. эту ссылку для примера.

person Shashi    schedule 30.01.2014
comment
Я уже пробовал это, но это не MSDTC портит шоу. Именно менеджер транзакций Mq инициирует асинхронный откат, когда DTC запрашивает откат. Таким образом, DTC думает, что я откатился, но mq все еще обрабатывает запрос в другом потоке. - person Slind; 05.02.2014