Connection leak if the DBMS is not mapped into the ModifierFactory or if the DBMS does not
support multiple connections
-----------------------------------------------------------------------------------------------------------------------
Key: JBTM-532
URL:
https://jira.jboss.org/jira/browse/JBTM-532
Project: JBoss Transaction Manager
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: JTA
Affects Versions: 4.6.0, 4.5.0
Environment: Spring + JBossJTA
Reporter: Mauro Molinari
Priority: Blocker
When a close() is issued on a ConnectionImple() before transaction termination (and this
can happen because of Spring JTA infrastructure calling
org.springframework.jdbc.datasource.DataSourceUtils.ConnectionSynchronization.beforeCompletion())
and either:
- the ModifierFactory has no information about the DBMS in use (PostgreSQL, for
instance...)
or
- the modifier for the DBMS says that it does not support multiple connections in a single
transaction
then, the synchronization that should close the connection after transaction completion is
not registered and the connection is lost!
This is at lines 349-359 of com.arjuna.ats.internal.jdbc.ConnectionImple in JBossTS 4.5.0
GA codebase.
IMHO, the synchronization should always be registered unless we are sure that multiple
connections in a single transaction are not supported. I have no idea of what should
happen in the latter case...
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira