Advertisement
Guest User

Untitled

a guest
May 24th, 2018
255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.80 KB | None | 0 0
  1. package com.nixsolutions;
  2.  
  3. import org.apache.logging.log4j.LogManager;
  4. import org.apache.logging.log4j.Logger;
  5. import org.h2.jdbcx.JdbcConnectionPool;
  6.  
  7. import java.io.IOException;
  8. import java.io.InputStream;
  9. import java.sql.Connection;
  10. import java.sql.SQLException;
  11. import java.util.Properties;
  12.  
  13. public class ConnectionManager {
  14.  
  15.     private static final Logger log = LogManager
  16.             .getLogger(ConnectionManager.class.getName());
  17.  
  18.     private static volatile JdbcConnectionPool instance;
  19.  
  20.     public static Connection getConnection() throws SQLException {
  21.         log.traceEntry();
  22.         log.traceExit();
  23.         return getInstance().getConnection();
  24.     }
  25.  
  26.     public static JdbcConnectionPool getInstance() {
  27.         log.traceEntry();
  28.         JdbcConnectionPool localInstance = instance;
  29.         if (localInstance == null) {
  30.             synchronized (JdbcConnectionPool.class) {
  31.                 localInstance = instance;
  32.                 if (localInstance == null) {
  33.                     Properties properties = new Properties();
  34.                     try (InputStream input = getClass()
  35.                             .getResourceAsStream("/jdbc.properties")) {
  36.                         properties.load(input);
  37.                     } catch (IOException e) {
  38.                         log.catching(e);
  39.                     }
  40.  
  41.                     String url = properties.getProperty("jdbc.url");
  42.                     String username = properties.getProperty("jdbc.username");
  43.                     String password = properties.getProperty("jdbc.password");
  44.  
  45.                     instance = localInstance = JdbcConnectionPool
  46.                             .create(url, username, password);
  47.                 }
  48.             }
  49.         }
  50.         log.traceExit();
  51.         return localInstance;
  52.     }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement