Details
-
Bug
-
Resolution: Unresolved
-
Minor
-
None
-
5.9.6.Final
-
None
Description
The tx driver conn pooling leaks, as
if (!con.inUse() && isSameConnection(dbUrl, user, passwd, dynamic, xaDataSource, con.connectionControl()))
is ineffective at permitting connection reuse, as isSameConnection equality requires that
dynamic.equals(connControl.dynamicClass())
which does not hold as BaseTransactionalDriverXAConnection.dynamicClass() is not overridden by DirectRecoverableConnection.
proposed fix: make BaseTransactionalDriverXAConnection.dynamicClass() non-final, add
@Override
public final String dynamicClass()
to DirectRecoverableConnection. Add test coverage.