I think XA transaction type needs to be used if we need to do a transaction management across different database (more than one database). Is my understanding correct?
We have a scenario and need your assistance to choose the correct transaction type
All adapter services are configured to use one JDBC connection and a single application database. We have built wrapper flow services to start transaction, commit transaction, rollback transaction (kind of utility services)
Main service calls utility start transaction service to start transactions
Main service again calls utility commit transaction to commit transaction
Main service again calls utility rollback transactions to rollback transaction
If i set Local transaction, transactions are not working properly, meaning not doing the rollback properly.
If i set XA, it is working perfectly
I do not understand why we need to set XA even we have single database transaction.
Is it mandatory to have direct wm start, commit, rollback steps in main service instead of using wrapper utility service. Will there be any boundary issue in this scenario?
I am not convinced with setting XA as during the load in production, I have noticed the below error related to Distributed locking stuffs and i guess it is because transaction type is XA, even for single database transactions
ORA-02049: timeout: distributed transaction waiting for lock " ORA-02049: timeout: distributed transaction waiting for lock