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:
@ -30,21 +30,19 @@ package net.locusworks.discord.eighttrack.database.config;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
import java.util.TimeZone;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.mariadb.jdbc.MariaDbDataSource;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.jdbc.DataSourceBuilder;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Primary;
|
||||
import org.springframework.stereotype.Component;
|
||||
import com.mchange.v2.c3p0.ComboPooledDataSource;
|
||||
import net.locusworks.discord.eighttrack.services.ConfigurationService;
|
||||
|
||||
@Primary
|
||||
@ -76,35 +74,22 @@ public class EightTrackDataSource {
|
||||
*/
|
||||
@Bean
|
||||
public DataSource dataSource() throws Exception {
|
||||
return getDataSource(false);
|
||||
logger.debug("Getting datasource");
|
||||
return getDataSource(confService.getDatabaseUsername(),
|
||||
confService.getDatabasePassword(),
|
||||
"/eighttrack");
|
||||
}
|
||||
|
||||
@Bean
|
||||
public DataSource flywayDataSource() throws Exception {
|
||||
logger.debug("Logging in with flyway for migrations");
|
||||
|
||||
String user = confService.getDatabaseRootUsername();
|
||||
String passwd = 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;
|
||||
return getDataSource(confService.getDatabaseRootUsername(),
|
||||
confService.getDatabaseRootPassword(),
|
||||
"");
|
||||
}
|
||||
|
||||
private DataSource getDataSource(Boolean isFlyway) 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);
|
||||
|
||||
private DataSource getDataSource(String user, String passwd, String db) throws Exception {
|
||||
List<String> params = mysqlProperties
|
||||
.entrySet()
|
||||
.stream()
|
||||
@ -114,22 +99,19 @@ public class EightTrackDataSource {
|
||||
String host = confService.getDatabaseHost();
|
||||
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, "&"));
|
||||
|
||||
logger.debug("Database connection string: %s", url);
|
||||
|
||||
ComboPooledDataSource cpds = new ComboPooledDataSource();
|
||||
cpds.setDriverClass(DRIVER);
|
||||
cpds.setJdbcUrl(url);
|
||||
cpds.setUser(user);
|
||||
cpds.setPassword(passwd);
|
||||
cpds.setMinPoolSize(5);
|
||||
cpds.setMaxPoolSize(100);
|
||||
cpds.setAcquireIncrement(10);
|
||||
|
||||
return cpds;
|
||||
return DataSourceBuilder
|
||||
.create()
|
||||
.username(user)
|
||||
.password(passwd)
|
||||
.url(url)
|
||||
.driverClassName(DRIVER)
|
||||
.build();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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.GuildSong;
|
||||
import net.locusworks.discord.eighttrack.events.playlist.AbstractPlaylistEventHandler;
|
||||
import net.locusworks.discord.eighttrack.handlers.GuildMusicHandler;
|
||||
import net.locusworks.discord.eighttrack.services.RepositoryService;
|
||||
|
||||
@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.GuildSong;
|
||||
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.listeners.ReactionListener;
|
||||
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.GuildSong;
|
||||
import net.locusworks.discord.eighttrack.events.playlist.AbstractPlaylistEventHandler;
|
||||
import net.locusworks.discord.eighttrack.handlers.GuildMusicHandler;
|
||||
import net.locusworks.discord.eighttrack.services.RepositoryService;
|
||||
|
||||
@Component
|
||||
|
@ -67,7 +67,7 @@ public class AESService {
|
||||
AESService service = new AESService();
|
||||
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() {
|
||||
logger = ApplicationLoggerFactory.getLogger(GuildMusicService.class);
|
||||
for (DiscordGuild dg : guildRepoService.getGuildRepo().findAll()) {
|
||||
GuildMusicHandler gmh = new GuildMusicHandler(dg.getGuildId(), guildRepoService);
|
||||
gmh.accept((id) -> handlerMap.remove(id));
|
||||
GuildMusicHandler gmh = createMusicHandler(dg.getGuildId());
|
||||
handlerMap.put(dg.getGuildId(), gmh);
|
||||
}
|
||||
}
|
||||
@ -112,11 +111,20 @@ public class GuildMusicService {
|
||||
|
||||
public GuildMusicHandler getMusicHandler(Long guildId) {
|
||||
if (!handlerMap.containsKey(guildId)) {
|
||||
GuildMusicHandler gmh = new GuildMusicHandler(guildId, guildRepoService);
|
||||
gmh.accept((id) -> handlerMap.remove(id));
|
||||
GuildMusicHandler gmh = createMusicHandler(guildId);
|
||||
handlerMap.put(guildId, gmh);
|
||||
}
|
||||
|
||||
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.Log</class>
|
||||
<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>
|
||||
</persistence-unit>
|
||||
</persistence>
|
||||
|
@ -1,5 +1,5 @@
|
||||
dbAdmin=root
|
||||
dbAdminPassword=gSkjsvZbQTQtogOrPYqorCuuzp4WUpGFVtPYtMVj47U=
|
||||
dbAdminPassword=bDNuBX0IqflafBFBfr10MQkdGgamC3UeZ0GcsWUWeCI=
|
||||
dbUser=eighttrackAdmin
|
||||
dbUserPassword=RaamWDMgA2p09R3kAiKHqauu6mmKU2HLQ4nAfEGMNOs=
|
||||
dbHost=localhost
|
||||
|
Reference in New Issue
Block a user