При закрытии моего проекта приложения JavaEE на основе WebSphere распределенные транзакции иногда остаются в базе данных SQLServer 2005. Они навсегда сохраняют свои замки и должны быть уничтожены вручную. Обычно они описаны в этой самой хорошая статья.
В статье рассказывается о том, как координатор транзакций не может координировать участников распределенных транзакций и поэтому помечает транзакцию с идентификатором процесса -2.
Учитывая, что мы сталкиваемся с этой проблемой нечасто, но всегда происходит, когда мы закрываем приложение, я не уверен, что это сбой MSDTC. Скорее всего, это как-то связано с WebSphere и тем, как она завершает работу приложений.
Я хотел бы проверить это. Но я не могу надежно заставить это произойти.
Есть ли способ заставить MSDTC отказаться от распределенной транзакции SQLServer?