Return-Path: Delivered-To: apmail-jakarta-commons-dev-archive@www.apache.org Received: (qmail 19334 invoked from network); 22 Jan 2007 04:45:55 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 22 Jan 2007 04:45:55 -0000 Received: (qmail 72346 invoked by uid 500); 22 Jan 2007 04:46:01 -0000 Delivered-To: apmail-jakarta-commons-dev-archive@jakarta.apache.org Received: (qmail 71824 invoked by uid 500); 22 Jan 2007 04:45:59 -0000 Mailing-List: contact commons-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Jakarta Commons Developers List" Reply-To: "Jakarta Commons Developers List" Delivered-To: mailing list commons-dev@jakarta.apache.org Received: (qmail 71813 invoked by uid 500); 22 Jan 2007 04:45:59 -0000 Received: (qmail 71810 invoked by uid 99); 22 Jan 2007 04:45:59 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 21 Jan 2007 20:45:59 -0800 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 21 Jan 2007 20:45:51 -0800 Received: by eris.apache.org (Postfix, from userid 65534) id BA7121A981A; Sun, 21 Jan 2007 20:44:45 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r498524 - /jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolingConnection.java Date: Mon, 22 Jan 2007 04:44:45 -0000 To: commons-cvs@jakarta.apache.org From: psteitz@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070122044445.BA7121A981A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: psteitz Date: Sun Jan 21 20:44:45 2007 New Revision: 498524 URL: http://svn.apache.org/viewvc?view=rev&rev=498524 Log: Removed synchronization from prepareStatement methods in PoolingConnection. Synchronization in these methods was causing deadlocks. No resources other than the prepared statement pool are accessed by these methods, and the pool methods are synchronized. Fixes DBCP-65 and DBCP-202. See discussion in DBCP-65. Modified: jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolingConnection.java Modified: jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolingConnection.java URL: http://svn.apache.org/viewvc/jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolingConnection.java?view=diff&rev=498524&r1=498523&r2=498524 ============================================================================== --- jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolingConnection.java (original) +++ jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolingConnection.java Sun Jan 21 20:44:45 2007 @@ -87,7 +87,7 @@ * Create or obtain a {@link PreparedStatement} from my pool. * @return a {@link PoolablePreparedStatement} */ - public synchronized PreparedStatement prepareStatement(String sql) throws SQLException { + public PreparedStatement prepareStatement(String sql) throws SQLException { try { return(PreparedStatement)(_pstmtPool.borrowObject(createKey(sql))); } catch(NoSuchElementException e) { @@ -103,7 +103,7 @@ * Create or obtain a {@link PreparedStatement} from my pool. * @return a {@link PoolablePreparedStatement} */ - public synchronized PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException { + public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException { try { return(PreparedStatement)(_pstmtPool.borrowObject(createKey(sql,resultSetType,resultSetConcurrency))); } catch(NoSuchElementException e) { --------------------------------------------------------------------- To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org For additional commands, e-mail: commons-dev-help@jakarta.apache.org