diff --git a/ebean-datasource/src/main/java/io/ebean/datasource/pool/PooledConnection.java b/ebean-datasource/src/main/java/io/ebean/datasource/pool/PooledConnection.java index 3bdb37e..5e0c77e 100644 --- a/ebean-datasource/src/main/java/io/ebean/datasource/pool/PooledConnection.java +++ b/ebean-datasource/src/main/java/io/ebean/datasource/pool/PooledConnection.java @@ -245,6 +245,7 @@ void closeConnectionFully(boolean logErrors) { Log.error("Error checking if connection [" + name + "] is closed", ex); } } + lock.lock(); try { for (ExtendedPreparedStatement ps : pstmtCache.values()) { ps.closeDestroy(); @@ -253,6 +254,8 @@ void closeConnectionFully(boolean logErrors) { if (logErrors) { Log.warn("Error when closing connection Statements", ex); } + } finally { + lock.unlock(); } try { connection.close();