@Override
    public Connection newConnection(
        final String uri,
        final String username,
        final char[] password
    ) {
        try {
            final Connection connection = DriverManager.getConnection(uri, username, charsToString(password));
            LOGGER_CONNECTION.debug("New external connection: %s", connection);
            try {
                connectionDecorator.configure(connection);
            } catch (SQLException sqle) {
                LOGGER_CONNECTION.warn(sqle, "Unable to configure connection. Configuration might be ignored.");
            }
            return connection;
        } catch (final SQLException ex) {
            final String msg = "Unable to get connection using url \"" + uri
                + "\", user = \"" + username
                + "\", password = \"********\".";

            LOGGER_CONNECTION.error(ex, msg);
            throw new SpeedmentException(msg, ex);
        }
    }
A fully concurrent implementation of a connection pool.

@author Per Minborg
runtime-parent/runtime-core/src/main/java/com/speedment/runtime/core/internal/component/ConnectionPoolComponentImpl.java