Я пытаюсь понять JTA и использую Bitronix в качестве диспетчера транзакций по выбору (просто ради обучения и понимания ). Я смотрю код внутри справочного руководства Bitronix здесь и задаюсь вопросом про себя:Если я использую JDBC, который сам является транзакционным(Connection
можно зафиксировать/откатить ), зачем мне писать такой код?!?!
Возможно, смысл этого фрагмента кода заключался в том, чтобы просто продемонстрировать, как использовать Bitronix/JTA с существующим транзакционным хранилищем данных, но я до сих пор не понимаю, какие неотъемлемые преимущества он предлагает.
Затем этот фрагмент кода заставил меня задуматься :" Если единственными двумя основными источниками данных, которые вы используете, являются базы данных и брокеры сообщений, и вы используете JDBC/JMS для связи с ними соответственно, и эти два стандарта (JDBC/ JMS )уже являются транзакционными, тогда зачем вам вообще нужно использовать JTA?!?! "
Является ли JTA своего рода «внутренним» API Java EE, который используют JDBC, JPA, JMS и т. д.; и публично -разоблачается только для 1%-ых, которые хотят сделать с ним что-то сумасшедшее? Или я вообще упускаю идею/применимость JTA?
Я думаю, я мог бы представить себе два варианта использования не -JDBC и не -JMS для прямого попадания в JTA, но, поскольку я настолько туманен в JTA, в первую очередь, я понятия не имею, являются ли эти случаи неправильными -или нет:
Я думаю, в корне моего вопроса:
Заранее спасибо!