Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.nixsolutions;
- import org.apache.logging.log4j.LogManager;
- import org.apache.logging.log4j.Logger;
- import org.h2.jdbcx.JdbcConnectionPool;
- import java.io.IOException;
- import java.io.InputStream;
- import java.sql.Connection;
- import java.sql.SQLException;
- import java.util.Properties;
- public class ConnectionManager {
- private static final Logger log = LogManager
- .getLogger(ConnectionManager.class.getName());
- private static volatile JdbcConnectionPool instance;
- public static Connection getConnection() throws SQLException {
- log.traceEntry();
- log.traceExit();
- return getInstance().getConnection();
- }
- public static JdbcConnectionPool getInstance() {
- log.traceEntry();
- JdbcConnectionPool localInstance = instance;
- if (localInstance == null) {
- synchronized (JdbcConnectionPool.class) {
- localInstance = instance;
- if (localInstance == null) {
- Properties properties = new Properties();
- try (InputStream input = getClass()
- .getResourceAsStream("/jdbc.properties")) {
- properties.load(input);
- } catch (IOException e) {
- log.catching(e);
- }
- String url = properties.getProperty("jdbc.url");
- String username = properties.getProperty("jdbc.username");
- String password = properties.getProperty("jdbc.password");
- instance = localInstance = JdbcConnectionPool
- .create(url, username, password);
- }
- }
- }
- log.traceExit();
- return localInstance;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement