]
Mark Little commented on JBTM-532:
----------------------------------
Additional modification for Postgres.
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.5.0, 4.6.0
Environment: Spring + JBossJTA
Reporter: Mauro Molinari
Assignee: Mark Little
Priority: Blocker
Fix For: 4.8.0
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: