diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 61731dd..e0c71e7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,15 +9,25 @@ cache: - .m2/repository/ - target/ -build: - stage: build +stages: + - compile + - test + - package + +compile: + stage: compile script: - - "mvn --batch-mode package" - artifacts: - paths: - - target/netneutrality-jar-with-dependencies.jar + - "mvn --batch-mode compile" test: stage: test script: - "mvn --batch-mode test" + +package: + stage: package + script: + - "mvn --batch-mode package" + artifacts: + paths: + - target/netneutrality-jar-with-dependencies.jar \ No newline at end of file diff --git a/pom.xml b/pom.xml index 99ea899..ead73f4 100644 --- a/pom.xml +++ b/pom.xml @@ -108,9 +108,9 @@ - org.mariadb.jdbc - mariadb-java-client - 2.7.4 + mysql + mysql-connector-java + 8.0.26 org.apache.logging.log4j @@ -130,7 +130,7 @@ commons-logging commons-logging - 1.1.1 + 1.2 diff --git a/src/main/java/netneutrality/db/MysqlConnector.java b/src/main/java/netneutrality/db/MysqlConnector.java index b892f41..1f6034a 100644 --- a/src/main/java/netneutrality/db/MysqlConnector.java +++ b/src/main/java/netneutrality/db/MysqlConnector.java @@ -1,7 +1,6 @@ package netneutrality.db; - -import org.mariadb.jdbc.MariaDbPoolDataSource; +import com.mysql.cj.jdbc.MysqlDataSource; import java.sql.Connection; import java.sql.SQLException; @@ -27,14 +26,16 @@ public class MysqlConnector { * @return {@link MysqlConnector} */ public MysqlConnector connect() throws SQLException { - - MariaDbPoolDataSource dataSource = new MariaDbPoolDataSource(); + MysqlDataSource dataSource = new MysqlDataSource(); dataSource.setUser(dbUser); dataSource.setPassword(dbPass); dataSource.setServerName(dbHost); dataSource.setPort(3306); dataSource.setDatabaseName(dbName); + dataSource.setAutoReconnect(true); + dataSource.setAutoReconnectForPools(true); c = dataSource.getConnection(); + return this; } diff --git a/src/main/java/netneutrality/db/MysqlDatabase.java b/src/main/java/netneutrality/db/MysqlDatabase.java index 39a8484..bb0f00a 100644 --- a/src/main/java/netneutrality/db/MysqlDatabase.java +++ b/src/main/java/netneutrality/db/MysqlDatabase.java @@ -8,9 +8,7 @@ import java.sql.SQLException; import java.sql.Statement; import java.sql.Timestamp; import java.sql.Types; -import java.util.ArrayList; import java.util.Calendar; -import java.util.List; import netneutrality.MusicBot; import netneutrality.db.entities.EntityInterface; @@ -24,13 +22,13 @@ import org.slf4j.LoggerFactory; public class MysqlDatabase { private final static Logger logger = LoggerFactory.getLogger(MysqlDatabase.class); - private Connection connection; + protected Connection connection; private final String dbName; protected enum CommandType { SELECT("SELECT"), INSERT("INSERT"), UPDATE("UPDATE"), DELETE("DELETE"); - private String type; + private final String type; CommandType(String type) { this.type = type; @@ -49,10 +47,10 @@ public class MysqlDatabase { String dbHost = Settings.getInstance().get("mysql.host"); try { - logger.info("Connecting to database..."); + logger.info(String.format("Connecting to database '%1$s' at %2$s:3306", dbName, dbHost)); connection = new MysqlConnector(dbName, dbUser, dbHost, dbPass).connect().getConnection(); } catch (SQLException e) { - logger.error("Error connecting to database. Shutting down.."); + logger.error("Error connecting to database. Shutting down..", e); MusicBot.shutdown(); } } @@ -114,13 +112,9 @@ public class MysqlDatabase { return executeUpdate(sql, params); } - public synchronized boolean exists(String table, String key, String value) { - ResultSet rs = prepareAndExecute("SELECT 1 FROM " + table + " WHERE " + key + " = ?", value); - try { - return rs.next(); - } catch (SQLException e) { - return false; - } + public boolean exists(String table, String key, String value) { + return prepareAndExecuteAsync("SELECT 1 FROM " + table + " WHERE " + key + " = ?", value).blocking().isEmpty(); + } private synchronized int executeUpdate(String sql, Object[] params) { diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml index 9bc2e7f..c27bace 100644 --- a/src/main/resources/log4j2.xml +++ b/src/main/resources/log4j2.xml @@ -2,11 +2,11 @@ - + - +