diff --git a/pom.xml b/pom.xml index 45475f4..c3d9781 100644 --- a/pom.xml +++ b/pom.xml @@ -40,6 +40,16 @@ commons-cli 1.5.0 + + org.mariadb.jdbc + mariadb-java-client + 2.7.2 + + + org.json + json + 20210307 + diff --git a/src/main/java/org/leolo/nrdatad/App.java b/src/main/java/org/leolo/nrdatad/App.java index bb55ab4..8f4f4ce 100644 --- a/src/main/java/org/leolo/nrdatad/App.java +++ b/src/main/java/org/leolo/nrdatad/App.java @@ -71,9 +71,12 @@ public class App { ) { log.atFatal().log("Unable to create instance of {}", databaseManagerClass); System.exit(1); + return; } catch (ClassCastException e){ log.atFatal().log("{} is not a DatabaseManager", databaseManagerClass); System.exit(1); + return; } + config.getDatabaseManager().initPool(); } } diff --git a/src/main/java/org/leolo/nrdatad/db/mariadb/DatabaseManager.java b/src/main/java/org/leolo/nrdatad/db/mariadb/DatabaseManager.java index 5646143..0388714 100644 --- a/src/main/java/org/leolo/nrdatad/db/mariadb/DatabaseManager.java +++ b/src/main/java/org/leolo/nrdatad/db/mariadb/DatabaseManager.java @@ -1,8 +1,30 @@ package org.leolo.nrdatad.db.mariadb; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.leolo.nrdatad.ConfigurationManager; +import org.mariadb.jdbc.MariaDbPoolDataSource; + public class DatabaseManager implements org.leolo.nrdatad.db.DatabaseManager{ + Logger logger = LogManager.getLogger(); + private MariaDbPoolDataSource ds; @Override public void initPool() { - + logger.atDebug().log("Start initialize the database pool"); + ConfigurationManager conf = ConfigurationManager.getInstance(); + if( + !conf.containsKey("db.host")|| + !conf.containsKey("db.user")|| + !conf.containsKey("db.pwd")|| + !conf.containsKey("db.name") + ) { + logger.atFatal().log("Missing required property"); + System.exit(1); + return; + } + String url = "jdbc:mariadb://"+conf.getProperty("db.host")+ + ":"+conf.getProperty("db.port", "3306")+ + "/"+conf.getProperty("db.name"); + logger.atDebug().log("URL={}",url); } }