RuneHive-Game
Loading...
Searching...
No Matches
ForumService.java
Go to the documentation of this file.
1package com.runehive.game.service;
2
3import com.runehive.Config;
4import com.zaxxer.hikari.HikariConfig;
5import com.zaxxer.hikari.HikariDataSource;
6import org.apache.logging.log4j.LogManager;
7import org.apache.logging.log4j.Logger;
8
9import java.sql.Connection;
10import java.sql.SQLException;
11
12public final class ForumService {
13
14 private static final Logger logger = LogManager.getLogger(ForumService.class);
15
16 private static HikariDataSource connectionPool;
17
18 public static void start() throws Exception {
19 HikariConfig config = new HikariConfig();
20 config.setDriverClassName("com.mysql.jdbc.Driver");
21 config.setJdbcUrl(Config.FORUM_DB_URL);
22 config.setUsername(Config.FORUM_DB_USER);
23 config.setPassword(Config.FORUM_DB_PASS);
24 config.setMaximumPoolSize(10);
25 config.setConnectionTimeout(5_000);
26 config.setIdleTimeout(0);
27 config.setMaxLifetime(0);
28 config.addDataSourceProperty("cachePrepStmts", "true");
29 connectionPool = new HikariDataSource(config);
30 logger.info("Successfully connected to forum database.");
31 }
32
33 public static HikariDataSource getConnectionPool() {
34 return connectionPool;
35 }
36
37 public static Connection getConnection() throws SQLException {
38 return connectionPool.getConnection();
39 }
40
41}
The class that contains setting-related constants for the server.
Definition Config.java:24
static final String FORUM_DB_PASS
This is used for mySQL to authenticate username and passwords from the forum.
Definition Config.java:126
static final String FORUM_DB_URL
This is used for mySQL to authenticate username and passwords from the forum.
Definition Config.java:120
static final String FORUM_DB_USER
This is used for mySQL to authenticate username and passwords from the forum.
Definition Config.java:123
static HikariDataSource getConnectionPool()
static HikariDataSource connectionPool