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 @@
-
+
-
+