From e2fdbb4a87b389909c8448ccb4cf8405cc400609 Mon Sep 17 00:00:00 2001
From: sherzinger <sascha.herzinger@uni.lu>
Date: Fri, 9 Nov 2018 15:43:01 +0100
Subject: [PATCH] Reverting to C3P0 for now because of logging issues

---
 persist/pom.xml                               | 13 +++++---
 .../persist/SpringPersistConfig.java          | 31 ++++++++++++++-----
 pom.xml                                       |  1 +
 3 files changed, 33 insertions(+), 12 deletions(-)

diff --git a/persist/pom.xml b/persist/pom.xml
index bca311aecf..f0e6cd9134 100644
--- a/persist/pom.xml
+++ b/persist/pom.xml
@@ -147,10 +147,15 @@
 			<version>${postgresql-jdbc.version}</version>
 		</dependency>
 
-		<dependency>
-			<groupId>com.zaxxer</groupId>
-			<artifactId>HikariCP</artifactId>
-			<version>${hikari.version}</version>
+		<!--<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>
 
 		<dependency>
diff --git a/persist/src/main/java/lcsb/mapviewer/persist/SpringPersistConfig.java b/persist/src/main/java/lcsb/mapviewer/persist/SpringPersistConfig.java
index 651f68bdad..01a6cb68a7 100644
--- a/persist/src/main/java/lcsb/mapviewer/persist/SpringPersistConfig.java
+++ b/persist/src/main/java/lcsb/mapviewer/persist/SpringPersistConfig.java
@@ -1,6 +1,6 @@
 package lcsb.mapviewer.persist;
 
-import com.zaxxer.hikari.HikariDataSource;
+import com.mchange.v2.c3p0.ComboPooledDataSource;
 import org.hibernate.SessionFactory;
 import org.hibernate.cfg.Environment;
 import org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy;
@@ -15,6 +15,7 @@ import org.springframework.security.authentication.encoding.Md5PasswordEncoder;
 import org.springframework.transaction.annotation.EnableTransactionManagement;
 
 import javax.sql.DataSource;
+import java.beans.PropertyVetoException;
 import java.util.Properties;
 
 @Configuration
@@ -27,15 +28,29 @@ public class SpringPersistConfig {
         return new ConfigurationHolder();
     }
 
-    @Bean
-    public HikariDataSource dataSource(ConfigurationHolder config) {
-        HikariDataSource dataSource = new HikariDataSource();
-        dataSource.setDriverClassName("org.postgresql.Driver");
+//  @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");
         dataSource.setJdbcUrl(config.getDbUri());
-        dataSource.setUsername(config.getDbUsername());
+        dataSource.setUser(config.getDbUsername());
         dataSource.setPassword(config.getDbPassword());
-        dataSource.setIdleTimeout(30000);
-        dataSource.setMaximumPoolSize(90);
+        dataSource.setMinPoolSize(5);
+        dataSource.setMaxPoolSize(90);
+        dataSource.setMaxStatements(5);
         return dataSource;
     }
 
diff --git a/pom.xml b/pom.xml
index fc0f710b61..28413ac14f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -65,6 +65,7 @@
 		<postgresql-jdbc.version>42.2.5</postgresql-jdbc.version>
 
 		<hikari.version>3.2.0</hikari.version>
+		<c3p0.version>0.9.1.2</c3p0.version>
 
 		<cglib.version>3.2.8</cglib.version>
 
-- 
GitLab