diff --git a/CHANGELOG b/CHANGELOG index 710eb2f066ffa2eff4ad0d5b2426aaa7fa715282..035de1d969ec9da564f07e79a39241753c973bf3 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,9 +2,10 @@ minerva (14.0.0~alpha.0) unstable; urgency=low * Feature: log4j is replaced with log4j2 logging mechanism (#291) * Feature: database installed via debian package is done via dbconfig-commons (#469) + * Feature: Replaced connection pool manager C3P0 with better maintained Hikari (#564) * Feature removal: BioCompendium annotator removed (#32) - -- Piotr Gawron <piotr.gawron@uni.lu> Thu, 16 May 2019 15:00:00 +0200 + -- Sascha Herzinger <sascha.herzinger@uni.lu> Wed, 22 May 2019 10:30:00 +0200 minerva (13.1.0~alpha.0) unstable; urgency=low * Feature: annotators are more flexible - you can define set of input and diff --git a/persist/pom.xml b/persist/pom.xml index 1cd475a7c2fc433bcf38725a17f8eb30ce260b5b..65060bdc1202e34adaffc9324194582d2609a835 100644 --- a/persist/pom.xml +++ b/persist/pom.xml @@ -158,15 +158,23 @@ <version>${postgresql-jdbc.version}</version> </dependency> - <!--<dependency>--> - <!--<groupId>com.zaxxer</groupId>--> - <!--<artifactId>HikariCP</artifactId>--> - <!--<version>${hikari.version}</version>--> - <!--</dependency>--> - <dependency> - <groupId>c3p0</groupId> - <artifactId>c3p0</artifactId> - <version>${c3p0.version}</version> + <dependency> + <groupId>com.zaxxer</groupId> + <artifactId>HikariCP</artifactId> + <version>${hikari.version}</version> + </dependency> + + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <version>${slf4jVersion}</version> + <scope>compile</scope> + </dependency> + + <dependency> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-slf4j-impl</artifactId> + <version>${log4j-slf4jVersion}</version> </dependency> <dependency> diff --git a/persist/src/main/java/lcsb/mapviewer/persist/SpringPersistConfig.java b/persist/src/main/java/lcsb/mapviewer/persist/SpringPersistConfig.java index a9149c5cbca5b80095b42747c29739be16cb3cf0..6f41100fd89646799417b43959ef947b504cbdd6 100644 --- a/persist/src/main/java/lcsb/mapviewer/persist/SpringPersistConfig.java +++ b/persist/src/main/java/lcsb/mapviewer/persist/SpringPersistConfig.java @@ -1,10 +1,6 @@ package lcsb.mapviewer.persist; -import java.beans.PropertyVetoException; -import java.util.Properties; - -import javax.sql.DataSource; - +import com.zaxxer.hikari.HikariDataSource; import org.hibernate.SessionFactory; import org.hibernate.cfg.Environment; import org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy; @@ -19,7 +15,8 @@ import org.springframework.security.crypto.password.MessageDigestPasswordEncoder import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.transaction.annotation.EnableTransactionManagement; -import com.mchange.v2.c3p0.ComboPooledDataSource; +import javax.sql.DataSource; +import java.util.Properties; @Configuration @EnableTransactionManagement @@ -31,29 +28,16 @@ public class SpringPersistConfig { return new ConfigurationHolder(); } -// @Bean -// public HikariDataSource dataSource(ConfigurationHolder config) { -// HikariDataSource dataSource = new HikariDataSource(); -// dataSource.setDriverClassName("org.postgresql.Driver"); -// dataSource.setJdbcUrl(config.getDbUri()); -// dataSource.setUsername(config.getDbUsername()); -// dataSource.setPassword(config.getDbPassword()); -// dataSource.setIdleTimeout(30000); -// dataSource.setMaximumPoolSize(90); -// dataSource.setConnectionTestQuery("select 1"); -// return dataSource; -// } - @Bean(destroyMethod = "close") - public ComboPooledDataSource dataSource(ConfigurationHolder config) throws PropertyVetoException { - ComboPooledDataSource dataSource = new ComboPooledDataSource(); - dataSource.setDriverClass("org.postgresql.Driver"); + public HikariDataSource dataSource(ConfigurationHolder config) { + HikariDataSource dataSource = new HikariDataSource(); + dataSource.setDriverClassName("org.postgresql.Driver"); dataSource.setJdbcUrl(config.getDbUri()); - dataSource.setUser(config.getDbUsername()); + dataSource.setUsername(config.getDbUsername()); dataSource.setPassword(config.getDbPassword()); - dataSource.setMinPoolSize(5); - dataSource.setMaxPoolSize(90); - dataSource.setMaxStatements(5); + dataSource.setIdleTimeout(30000); + dataSource.setMaximumPoolSize(10); + dataSource.setConnectionTestQuery("select 1"); return dataSource; } diff --git a/pom.xml b/pom.xml index b120da1a7ab3beb8a43340be82601719e2f588fe..cde479fb9efcf05792c3f28c0a85b1df756d68fa 100644 --- a/pom.xml +++ b/pom.xml @@ -67,8 +67,9 @@ <postgresql-jdbc.version>42.2.5</postgresql-jdbc.version> - <hikari.version>3.2.0</hikari.version> - <c3p0.version>0.9.1.2</c3p0.version> + <hikari.version>3.3.1</hikari.version> + <slf4jVersion>1.7.25</slf4jVersion> + <log4j-slf4jVersion>2.11.2</log4j-slf4jVersion> <cglib.version>3.2.8</cglib.version>