if XA transaction runs in database longer than timeout it rollbacks - and it's expected behavior.
But at the same time the DataSource marked as invalid and I no longer can get any connection from this datasource - its failing with:
java.sql.SQLException: Unexpected exception while enlisting XAConnection java.sql.SQLException: XA error: XAResource.XAER_RMFAIL start() failed on resource 'jdbc/*********': XAER_RMFAIL : Resource manager is unavailable
My expectation that Datasource should not fail just because the database exceeded timeout - it should gracefully rollback.
I created isolated testcase and this behavior 100% reproducible on the following stack:
ojdbc6 22.214.171.124 and 126.96.36.199
Please help to resolve / workaround,