Esempio n. 1
1
  public static Connection getConnection() {

    Iterator<ConnectionWrapper> poolIter = connectionPool.iterator();
    while (poolIter.hasNext()) {
      ConnectionWrapper conn = poolIter.next();
      try {
        if (conn == null || conn.isReallyClosed()) {
          poolIter.remove();
        } else if (!conn.isClosed()) {
          return conn;
        }
      } catch (SQLException e) {
        log.error("Bad connection", e);
        poolIter.remove();
      }
    }

    // No valid connections
    ConnectionWrapper conn = createConnection();
    if (conn != null) {
      connectionPool.add(conn);
      log.info("Connection pool size: " + connectionPool.size());
    }
    return conn;
  }