From 55e19618f88cc097e375612d47d489a41b8682b6 Mon Sep 17 00:00:00 2001 From: David Hofmann Date: Thu, 3 Aug 2017 07:28:21 -0400 Subject: [PATCH] fix connection leak in JTA managed transactions (#1077) --- .../server/transaction/JtaTransactionManager.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/io/ebeaninternal/server/transaction/JtaTransactionManager.java b/src/main/java/io/ebeaninternal/server/transaction/JtaTransactionManager.java index ca27383af..1a0c0043c 100644 --- a/src/main/java/io/ebeaninternal/server/transaction/JtaTransactionManager.java +++ b/src/main/java/io/ebeaninternal/server/transaction/JtaTransactionManager.java @@ -18,6 +18,7 @@ import javax.transaction.Synchronization; import javax.transaction.SystemException; import javax.transaction.TransactionSynchronizationRegistry; import javax.transaction.UserTransaction; +import io.ebeaninternal.util.JdbcClose; /** * Hook into external JTA transaction manager. @@ -233,6 +234,8 @@ public class JtaTransactionManager implements ExternalTransactionManager { } } + // No matter the completion status of the transaction, we release the connection we got from the pool. + JdbcClose.close(transaction.getInternalConnection()); } }