/** * This methods adds a new data source to cache * * @param log * @param databaseMeta * @param partitionId * @param initialSize * @param maximumSize * @throws KettleDatabaseException */ private static void addPoolableDataSource( LogChannelInterface log, DatabaseMeta databaseMeta, String partitionId, int initialSize, int maximumSize ) throws KettleDatabaseException { if ( log.isBasic() ) { log.logBasic( BaseMessages.getString( PKG, "Database.CreatingConnectionPool", databaseMeta.getName() ) ); } BasicDataSource ds = new BasicDataSource(); configureDataSource( ds, databaseMeta, partitionId, initialSize, maximumSize ); // check if datasource is valid testDataSource( ds ); // register data source dataSources.put( getDataSourceName( databaseMeta, partitionId ), ds ); if ( log.isBasic() ) { log.logBasic( BaseMessages.getString( PKG, "Database.CreatedConnectionPool", databaseMeta.getName() ) ); } }