From 4543e65d0860bf6778cc9b5a0b5f9cacd06e0ea2 Mon Sep 17 00:00:00 2001 From: Graham Triggs Date: Wed, 20 Sep 2017 14:08:36 +0100 Subject: [PATCH] Replace c3p0 with dbcp2, so there is only one pooling library in use --- .../impl/sdb/ContentTripleSourceSDB.java | 16 ++++--- .../triplesource/impl/sdb/SDBDataSource.java | 42 +++++++++---------- dependencies/pom.xml | 5 --- 3 files changed, 31 insertions(+), 32 deletions(-) diff --git a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/impl/sdb/ContentTripleSourceSDB.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/impl/sdb/ContentTripleSourceSDB.java index e192b9d07..430d539dc 100644 --- a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/impl/sdb/ContentTripleSourceSDB.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/impl/sdb/ContentTripleSourceSDB.java @@ -26,7 +26,7 @@ import org.apache.jena.sdb.sql.SDBConnection; import org.apache.jena.sdb.store.DatabaseType; import org.apache.jena.sdb.store.LayoutType; import org.apache.jena.sdb.util.StoreUtils; -import com.mchange.v2.c3p0.ComboPooledDataSource; +import org.apache.commons.dbcp2.BasicDataSource; import edu.cornell.mannlib.vitro.webapp.config.ConfigurationProperties; import edu.cornell.mannlib.vitro.webapp.dao.jena.RDFServiceDataset; @@ -86,7 +86,7 @@ public class ContentTripleSourceSDB extends ContentTripleSource { static final boolean DEFAULT_TESTONRETURN = true; private ServletContext ctx; - private ComboPooledDataSource ds; + private BasicDataSource ds; private RDFServiceFactory rdfServiceFactory; private RDFService rdfService; private Dataset dataset; @@ -233,10 +233,14 @@ public class ContentTripleSourceSDB extends ContentTripleSource { this.rdfService.close(); } if (ds != null) { - String driverClassName = ds.getDriverClass(); - ds.close(); - attemptToDeregisterJdbcDriver(driverClassName); - cleanupAbandonedConnectionThread(driverClassName); + String driverClassName = ds.getDriverClassName(); + try { + ds.close(); + } catch (SQLException e) { + }finally { + attemptToDeregisterJdbcDriver(driverClassName); + cleanupAbandonedConnectionThread(driverClassName); + } } } diff --git a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/impl/sdb/SDBDataSource.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/impl/sdb/SDBDataSource.java index 896ba7a33..8c8911d46 100644 --- a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/impl/sdb/SDBDataSource.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/triplesource/impl/sdb/SDBDataSource.java @@ -10,7 +10,7 @@ import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import com.mchange.v2.c3p0.ComboPooledDataSource; +import org.apache.commons.dbcp2.BasicDataSource; import edu.cornell.mannlib.vitro.webapp.config.ConfigurationProperties; @@ -48,26 +48,26 @@ public class SDBDataSource { this.configProps = ConfigurationProperties.getBean(ctx); } - public ComboPooledDataSource getDataSource() { - try { - ComboPooledDataSource cpds = new ComboPooledDataSource(); - cpds.setDriverClass(getDbDriverClassName()); - cpds.setJdbcUrl(getJdbcUrl()); - cpds.setUser(configProps.getProperty(PROPERTY_DB_USERNAME)); - cpds.setPassword(configProps.getProperty(PROPERTY_DB_PASSWORD)); - cpds.setMaxPoolSize(getMaxActive()); - cpds.setMinPoolSize(getMaxIdle()); - cpds.setMaxIdleTime(getMaxIdleTime()); - cpds.setMaxIdleTimeExcessConnections(getMaxIdleTimeExcess()); - cpds.setAcquireIncrement(5); - cpds.setNumHelperThreads(6); - cpds.setTestConnectionOnCheckout(DEFAULT_TESTONBORROW); - cpds.setTestConnectionOnCheckin(DEFAULT_TESTONRETURN); - cpds.setPreferredTestQuery(getValidationQuery()); - return cpds; - } catch (PropertyVetoException pve) { - throw new RuntimeException(pve); - } + public BasicDataSource getDataSource() { + BasicDataSource cpds = new BasicDataSource(); + cpds.setDriverClassName(getDbDriverClassName()); + cpds.setUrl(getJdbcUrl()); + cpds.setUsername(configProps.getProperty(PROPERTY_DB_USERNAME)); + cpds.setPassword(configProps.getProperty(PROPERTY_DB_PASSWORD)); + cpds.setMaxTotal(getMaxActive()); + cpds.setMaxIdle(getMaxIdle()); + cpds.setMinEvictableIdleTimeMillis(getMaxIdleTime()); + cpds.setTestOnBorrow(DEFAULT_TESTONBORROW); + cpds.setTestOnReturn(DEFAULT_TESTONRETURN); + cpds.setValidationQuery(getValidationQuery()); + return cpds; +// try { +// cpds.setMaxIdleTimeExcessConnections(getMaxIdleTimeExcess()); +// cpds.setAcquireIncrement(5); +// cpds.setNumHelperThreads(6); +// } catch (PropertyVetoException pve) { +// throw new RuntimeException(pve); +// } } private String getDbDriverClassName() { diff --git a/dependencies/pom.xml b/dependencies/pom.xml index 1d2c3f0c7..7ed96ce81 100644 --- a/dependencies/pom.xml +++ b/dependencies/pom.xml @@ -70,11 +70,6 @@ icu4j 3.4.4 - - com.mchange - c3p0 - 0.9.5.2 - com.twelvemonkeys.imageio imageio-jpeg