Я использую API-интерфейс поставщика, чтобы получить соединение JDBC с базой данных приложения. API работает при запуске на сервере приложений или при работе в автономном режиме. Я хочу запустить серию операторов SQL в одной транзакции. Я в порядке с ними, возникающими в контексте транзакции JTA, если он существует. Однако, если это не так, мне нужно использовать методы демаркации транзакций JDBC. (Вызов этих методов в соединении JDBC, участвующем в транзакции JTA, вызывает SQLException.)Как вы определяете, было ли соединение JDBC получено из управляемого источника JTA или прямого JDBC?
Поэтому мне нужно определить, связано ли соединение с данным источником данных JTA или если это просто прямое соединение JDBC.
Есть ли прямой способ сделать это определение?
Спасибо!
Auto commit - это поведение, в котором говорится, что фиксация в любом случае не передается, если что-то XA или транзакция и т. Д. – 2011-02-09 08:45:53