You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ad...@apache.org on 2013/06/09 11:24:49 UTC
svn commit: r1491165 -
/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/connection/DBCPConnectionFactory.java
Author: adrianc
Date: Sun Jun 9 09:24:49 2013
New Revision: 1491165
URL: http://svn.apache.org/r1491165
Log:
Fixed a thread deadlock issue that seems to be specific to loading the MS SQL JDBC driver.
https://issues.apache.org/jira/browse/OFBIZ-5216
Modified:
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/connection/DBCPConnectionFactory.java
Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/connection/DBCPConnectionFactory.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/connection/DBCPConnectionFactory.java?rev=1491165&r1=1491164&r2=1491165&view=diff
==============================================================================
--- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/connection/DBCPConnectionFactory.java (original)
+++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/connection/DBCPConnectionFactory.java Sun Jun 9 09:24:49 2013
@@ -81,11 +81,14 @@ public class DBCPConnectionFactory imple
maxIdle = maxIdle > minSize ? maxIdle : minSize;
// load the driver
Driver jdbcDriver;
- try {
- jdbcDriver = (Driver) Class.forName(driverName, true, Thread.currentThread().getContextClassLoader()).newInstance();
- } catch (Exception e) {
- Debug.logError(e, module);
- throw new GenericEntityException(e.getMessage(), e);
+ synchronized (DBCPConnectionFactory.class) {
+ // Sync needed for MS SQL JDBC driver. See OFBIZ-5216.
+ try {
+ jdbcDriver = (Driver) Class.forName(driverName, true, Thread.currentThread().getContextClassLoader()).newInstance();
+ } catch (Exception e) {
+ Debug.logError(e, module);
+ throw new GenericEntityException(e.getMessage(), e);
+ }
}
// connection factory properties