как разделить одну транзакцию между несколькими потоками

Мы встречаем сценарий, который работает с многопоточностью.

В основном потоке выполните некоторую логику и обновите базу данных, в какой-то момент он вызовет другую службу для обновления базы данных, которая запускается в другом потоке.

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

Но поработав несколько дней, я обнаружил, что в некоторых сообщениях говорится, что JTA не поддерживает многопоточность. в настоящее время мы используем Bitronix в качестве поставщика JTA, знает ли кто-нибудь, поддерживает ли Bitronix многопоточность в одной транзакции? или есть ли другой поставщик JTA, поддерживающий это (автономный поставщик JTA, а не контейнер J2EE)?

10
задан Thilo 5 August 2011 в 06:39
поделиться