public void initialize() throws SQLException {
    synchronized (lock) {
      source = createConnectionPool();
      try {
        source.initializeFrom(this);
      } catch (Exception e) {
        throw new PSQLException(GT.tr("Failed to setup DataSource."), PSQLState.UNEXPECTED_ERROR,
            e);
      }

      while (available.size() < initialConnections) {
        available.push(source.getPooledConnection());
      }

      initialized = true;
    }
  }
public void initialize ( ) throws SQLException { synchronized ( lock ) { source = createConnectionPool ( ) ; try { source . initializeFrom ( this ) ; } catch ( Exception e ) { throw new PSQLException ( GT . tr ( "Failed to setup DataSource." ) , PSQLState . UNEXPECTED_ERROR , e ) ; } while ( available . size ( ) < initialConnections ) { available . push ( source . getPooledConnection ( ) ) ; } initialized = true ; } }
Initializes this DataSource. If the initialConnections is greater than zero, that number of
connections will be created. After this method is called, the DataSource properties cannot be
changed. If you do not call this explicitly, it will be called the first time you get a
connection from the DataSource.

@throws SQLException Occurs when the initialConnections is greater than zero, but the
DataSource is not able to create enough physical connections.