40 private static final Logger logger = LogManager.getLogger(
PostgreService.class);
42 private static HikariDataSource connectionPool;
44 public static void start()
throws Exception {
45 HikariConfig config =
new HikariConfig();
46 config.setDriverClassName(
"org.postgresql.Driver");
47 config.setJdbcUrl(
Config.POSTGRE_URL);
48 config.setUsername(
Config.POSTGRE_USER);
49 config.setPassword(
Config.POSTGRE_PASS);
50 config.setMaximumPoolSize(50);
51 config.setConnectionTimeout(10_000);
52 config.setIdleTimeout(0);
53 config.setMaxLifetime(0);
54 config.addDataSourceProperty(
"cachePrepStmts",
"true");
55 connectionPool =
new HikariDataSource(config);
56 logger.info(
"Successfully connected to game database.");
59 public static HikariDataSource getConnectionPool() {
60 return connectionPool;
63 public static Connection getConnection()
throws SQLException {
65 return DriverManager.getConnection(
Config.POSTGRE_URL,
Config.POSTGRE_USER,
Config.POSTGRE_PASS);
67 return connectionPool.getConnection();