Switched to using HikariCP for connection pool
All checks were successful
Locusworks Team/eight-track/pipeline/head This commit looks good
All checks were successful
Locusworks Team/eight-track/pipeline/head This commit looks good
This commit is contained in:
32
pom.xml
32
pom.xml
@ -14,16 +14,16 @@
|
|||||||
</organization>
|
</organization>
|
||||||
|
|
||||||
<scm>
|
<scm>
|
||||||
<url>git@gitea.locusworks.net:Locusworks/eight-track.git</url>
|
<url>ssh://gitea@gitea.locusworks.net:7999/locusworks/eight-track.git</url>
|
||||||
</scm>
|
</scm>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<flyway.version>6.1.3</flyway.version>
|
<flyway.version>6.4.2</flyway.version>
|
||||||
<mariadb.version>2.5.2</mariadb.version>
|
<mysql.version>8.0.20</mysql.version>
|
||||||
<hibernate.version>5.4.10.Final</hibernate.version>
|
<hibernate.version>5.4.16.Final</hibernate.version>
|
||||||
<spring.version>5.2.2.RELEASE</spring.version>
|
<spring.version>5.2.6.RELEASE</spring.version>
|
||||||
<spring.boot.version>2.2.2.RELEASE</spring.boot.version>
|
<spring.boot.version>2.3.0.RELEASE</spring.boot.version>
|
||||||
<spring.data.version>2.2.2.RELEASE</spring.data.version>
|
<spring.data.version>2.3.0.RELEASE</spring.data.version>
|
||||||
<jackson.version>2.10.1</jackson.version>
|
<jackson.version>2.10.1</jackson.version>
|
||||||
<log4j.version>2.12.1</log4j.version>
|
<log4j.version>2.12.1</log4j.version>
|
||||||
<slf4j.version>1.7.28</slf4j.version>
|
<slf4j.version>1.7.28</slf4j.version>
|
||||||
@ -116,7 +116,7 @@
|
|||||||
<artifactId>flyway-maven-plugin</artifactId>
|
<artifactId>flyway-maven-plugin</artifactId>
|
||||||
<version>${flyway.version}</version>
|
<version>${flyway.version}</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<url>jdbc:mariadb://localhost:3306/</url>
|
<url>jdbc:mysql://localhost:3306/</url>
|
||||||
<outOfOrder>false</outOfOrder>
|
<outOfOrder>false</outOfOrder>
|
||||||
<schemas>
|
<schemas>
|
||||||
<schema>eighttrack</schema>
|
<schema>eighttrack</schema>
|
||||||
@ -128,9 +128,9 @@
|
|||||||
</configuration>
|
</configuration>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.mariadb.jdbc</groupId>
|
<groupId>mysql</groupId>
|
||||||
<artifactId>mariadb-java-client</artifactId>
|
<artifactId>mysql-connector-java</artifactId>
|
||||||
<version>${mariadb.version}</version>
|
<version>${mysql.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</plugin>
|
</plugin>
|
||||||
@ -184,17 +184,11 @@
|
|||||||
<version>${flyway.version}</version>
|
<version>${flyway.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.mariadb.jdbc</groupId>
|
|
||||||
<artifactId>mariadb-java-client</artifactId>
|
|
||||||
<version>${mariadb.version}</version>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
|
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>mysql</groupId>
|
<groupId>mysql</groupId>
|
||||||
<artifactId>mysql-connector-java</artifactId>
|
<artifactId>mysql-connector-java</artifactId>
|
||||||
<version>8.0.18</version>
|
<version>${mysql.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
@ -206,7 +200,7 @@
|
|||||||
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-c3p0 -->
|
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-c3p0 -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.hibernate</groupId>
|
<groupId>org.hibernate</groupId>
|
||||||
<artifactId>hibernate-c3p0</artifactId>
|
<artifactId>hibernate-hikaricp</artifactId>
|
||||||
<version>${hibernate.version}</version>
|
<version>${hibernate.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
@ -30,21 +30,19 @@ package net.locusworks.discord.eighttrack.database.config;
|
|||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Properties;
|
|
||||||
import java.util.TimeZone;
|
import java.util.TimeZone;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import javax.sql.DataSource;
|
import javax.sql.DataSource;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.mariadb.jdbc.MariaDbDataSource;
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.jdbc.DataSourceBuilder;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Primary;
|
import org.springframework.context.annotation.Primary;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import com.mchange.v2.c3p0.ComboPooledDataSource;
|
|
||||||
import net.locusworks.discord.eighttrack.services.ConfigurationService;
|
import net.locusworks.discord.eighttrack.services.ConfigurationService;
|
||||||
|
|
||||||
@Primary
|
@Primary
|
||||||
@ -76,35 +74,22 @@ public class EightTrackDataSource {
|
|||||||
*/
|
*/
|
||||||
@Bean
|
@Bean
|
||||||
public DataSource dataSource() throws Exception {
|
public DataSource dataSource() throws Exception {
|
||||||
return getDataSource(false);
|
logger.debug("Getting datasource");
|
||||||
|
return getDataSource(confService.getDatabaseUsername(),
|
||||||
|
confService.getDatabasePassword(),
|
||||||
|
"/eighttrack");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public DataSource flywayDataSource() throws Exception {
|
public DataSource flywayDataSource() throws Exception {
|
||||||
logger.debug("Logging in with flyway for migrations");
|
logger.debug("Logging in with flyway for migrations");
|
||||||
|
|
||||||
String user = confService.getDatabaseRootUsername();
|
return getDataSource(confService.getDatabaseRootUsername(),
|
||||||
String passwd = confService.getDatabaseRootPassword();
|
confService.getDatabaseRootPassword(),
|
||||||
|
"");
|
||||||
String url = String.format("jdbc:mariadb://%s:%d?user=%s&password=%s",
|
|
||||||
confService.getDatabaseHost(), confService.getDatabasePort(),
|
|
||||||
user, passwd);
|
|
||||||
|
|
||||||
MariaDbDataSource mariadbDS = new MariaDbDataSource(url);
|
|
||||||
|
|
||||||
return mariadbDS;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private DataSource getDataSource(Boolean isFlyway) throws Exception {
|
private DataSource getDataSource(String user, String passwd, String db) throws Exception {
|
||||||
logger.debug("Getting datasource");
|
|
||||||
|
|
||||||
String user = confService.getDatabaseUsername();
|
|
||||||
String passwd = confService.getDatabasePassword();
|
|
||||||
|
|
||||||
Properties props = new Properties();
|
|
||||||
props.setProperty("user", user);
|
|
||||||
props.setProperty("password", passwd);
|
|
||||||
|
|
||||||
List<String> params = mysqlProperties
|
List<String> params = mysqlProperties
|
||||||
.entrySet()
|
.entrySet()
|
||||||
.stream()
|
.stream()
|
||||||
@ -114,22 +99,19 @@ public class EightTrackDataSource {
|
|||||||
String host = confService.getDatabaseHost();
|
String host = confService.getDatabaseHost();
|
||||||
int port = confService.getDatabasePort();
|
int port = confService.getDatabasePort();
|
||||||
|
|
||||||
String url = String.format(JNDI_STRING, host, port, "/eighttrack");
|
String url = String.format(JNDI_STRING, host, port, db);
|
||||||
|
|
||||||
url = String.format("%s?%s", url, StringUtils.join(params, "&"));
|
url = String.format("%s?%s", url, StringUtils.join(params, "&"));
|
||||||
|
|
||||||
logger.debug("Database connection string: %s", url);
|
logger.debug("Database connection string: %s", url);
|
||||||
|
|
||||||
ComboPooledDataSource cpds = new ComboPooledDataSource();
|
return DataSourceBuilder
|
||||||
cpds.setDriverClass(DRIVER);
|
.create()
|
||||||
cpds.setJdbcUrl(url);
|
.username(user)
|
||||||
cpds.setUser(user);
|
.password(passwd)
|
||||||
cpds.setPassword(passwd);
|
.url(url)
|
||||||
cpds.setMinPoolSize(5);
|
.driverClassName(DRIVER)
|
||||||
cpds.setMaxPoolSize(100);
|
.build();
|
||||||
cpds.setAcquireIncrement(10);
|
|
||||||
|
|
||||||
return cpds;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -44,7 +44,6 @@ import net.locusworks.discord.eighttrack.database.entities.GuildPlaylist;
|
|||||||
import net.locusworks.discord.eighttrack.database.entities.GuildPlaylistSong;
|
import net.locusworks.discord.eighttrack.database.entities.GuildPlaylistSong;
|
||||||
import net.locusworks.discord.eighttrack.database.entities.GuildSong;
|
import net.locusworks.discord.eighttrack.database.entities.GuildSong;
|
||||||
import net.locusworks.discord.eighttrack.events.playlist.AbstractPlaylistEventHandler;
|
import net.locusworks.discord.eighttrack.events.playlist.AbstractPlaylistEventHandler;
|
||||||
import net.locusworks.discord.eighttrack.handlers.GuildMusicHandler;
|
|
||||||
import net.locusworks.discord.eighttrack.services.RepositoryService;
|
import net.locusworks.discord.eighttrack.services.RepositoryService;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
|
@ -42,7 +42,6 @@ import net.locusworks.discord.eighttrack.database.entities.GuildPlaylist;
|
|||||||
import net.locusworks.discord.eighttrack.database.entities.GuildPlaylistSong;
|
import net.locusworks.discord.eighttrack.database.entities.GuildPlaylistSong;
|
||||||
import net.locusworks.discord.eighttrack.database.entities.GuildSong;
|
import net.locusworks.discord.eighttrack.database.entities.GuildSong;
|
||||||
import net.locusworks.discord.eighttrack.events.playlist.AbstractPlaylistEventHandler;
|
import net.locusworks.discord.eighttrack.events.playlist.AbstractPlaylistEventHandler;
|
||||||
import net.locusworks.discord.eighttrack.handlers.GuildMusicHandler;
|
|
||||||
import net.locusworks.discord.eighttrack.handlers.ReactionHandler;
|
import net.locusworks.discord.eighttrack.handlers.ReactionHandler;
|
||||||
import net.locusworks.discord.eighttrack.listeners.ReactionListener;
|
import net.locusworks.discord.eighttrack.listeners.ReactionListener;
|
||||||
import net.locusworks.discord.eighttrack.services.RepositoryService;
|
import net.locusworks.discord.eighttrack.services.RepositoryService;
|
||||||
|
@ -36,7 +36,6 @@ import net.locusworks.discord.eighttrack.database.entities.GuildPlaylist;
|
|||||||
import net.locusworks.discord.eighttrack.database.entities.GuildPlaylistSong;
|
import net.locusworks.discord.eighttrack.database.entities.GuildPlaylistSong;
|
||||||
import net.locusworks.discord.eighttrack.database.entities.GuildSong;
|
import net.locusworks.discord.eighttrack.database.entities.GuildSong;
|
||||||
import net.locusworks.discord.eighttrack.events.playlist.AbstractPlaylistEventHandler;
|
import net.locusworks.discord.eighttrack.events.playlist.AbstractPlaylistEventHandler;
|
||||||
import net.locusworks.discord.eighttrack.handlers.GuildMusicHandler;
|
|
||||||
import net.locusworks.discord.eighttrack.services.RepositoryService;
|
import net.locusworks.discord.eighttrack.services.RepositoryService;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
|
@ -67,7 +67,7 @@ public class AESService {
|
|||||||
AESService service = new AESService();
|
AESService service = new AESService();
|
||||||
service.init();
|
service.init();
|
||||||
|
|
||||||
System.out.println(service.encrypt("zeGAPgbH9HFbqmjRjmwzUDKv"));
|
System.out.println(service.encrypt("yqwAK!H5KAc0d2xWdN6*S0w4"));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,8 +59,7 @@ public class GuildMusicService {
|
|||||||
private void init() {
|
private void init() {
|
||||||
logger = ApplicationLoggerFactory.getLogger(GuildMusicService.class);
|
logger = ApplicationLoggerFactory.getLogger(GuildMusicService.class);
|
||||||
for (DiscordGuild dg : guildRepoService.getGuildRepo().findAll()) {
|
for (DiscordGuild dg : guildRepoService.getGuildRepo().findAll()) {
|
||||||
GuildMusicHandler gmh = new GuildMusicHandler(dg.getGuildId(), guildRepoService);
|
GuildMusicHandler gmh = createMusicHandler(dg.getGuildId());
|
||||||
gmh.accept((id) -> handlerMap.remove(id));
|
|
||||||
handlerMap.put(dg.getGuildId(), gmh);
|
handlerMap.put(dg.getGuildId(), gmh);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -112,11 +111,20 @@ public class GuildMusicService {
|
|||||||
|
|
||||||
public GuildMusicHandler getMusicHandler(Long guildId) {
|
public GuildMusicHandler getMusicHandler(Long guildId) {
|
||||||
if (!handlerMap.containsKey(guildId)) {
|
if (!handlerMap.containsKey(guildId)) {
|
||||||
GuildMusicHandler gmh = new GuildMusicHandler(guildId, guildRepoService);
|
GuildMusicHandler gmh = createMusicHandler(guildId);
|
||||||
gmh.accept((id) -> handlerMap.remove(id));
|
|
||||||
handlerMap.put(guildId, gmh);
|
handlerMap.put(guildId, gmh);
|
||||||
}
|
}
|
||||||
|
|
||||||
return handlerMap.get(guildId);
|
return handlerMap.get(guildId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param guildId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private GuildMusicHandler createMusicHandler(Long guildId) {
|
||||||
|
GuildMusicHandler gmh = new GuildMusicHandler(guildId, guildRepoService);
|
||||||
|
gmh.accept((id) -> handlerMap.remove(id));
|
||||||
|
return gmh;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,10 +9,6 @@
|
|||||||
<class>net.locusworks.discord.eighttrack.database.entities.GuildPlaylistSong</class>
|
<class>net.locusworks.discord.eighttrack.database.entities.GuildPlaylistSong</class>
|
||||||
<class>net.locusworks.discord.eighttrack.database.entities.Log</class>
|
<class>net.locusworks.discord.eighttrack.database.entities.Log</class>
|
||||||
<properties>
|
<properties>
|
||||||
<property name="javax.persistence.jdbc.url" value="jdbc:mariadb://devops.locusworks.net:3306/eighttrack"/>
|
|
||||||
<property name="javax.persistence.jdbc.user" value="root"/>
|
|
||||||
<property name="javax.persistence.jdbc.driver" value="org.mariadb.jdbc.Driver"/>
|
|
||||||
<property name="javax.persistence.jdbc.password" value="0a0wNt6aX4e66LNhA5uKLdnnN"/>
|
|
||||||
</properties>
|
</properties>
|
||||||
</persistence-unit>
|
</persistence-unit>
|
||||||
</persistence>
|
</persistence>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
dbAdmin=root
|
dbAdmin=root
|
||||||
dbAdminPassword=gSkjsvZbQTQtogOrPYqorCuuzp4WUpGFVtPYtMVj47U=
|
dbAdminPassword=bDNuBX0IqflafBFBfr10MQkdGgamC3UeZ0GcsWUWeCI=
|
||||||
dbUser=eighttrackAdmin
|
dbUser=eighttrackAdmin
|
||||||
dbUserPassword=RaamWDMgA2p09R3kAiKHqauu6mmKU2HLQ4nAfEGMNOs=
|
dbUserPassword=RaamWDMgA2p09R3kAiKHqauu6mmKU2HLQ4nAfEGMNOs=
|
||||||
dbHost=localhost
|
dbHost=localhost
|
||||||
|
Reference in New Issue
Block a user