package com.cadrlife.devsearch.agent.service.oracle; import java.io.IOException; import java.util.Properties; import javax.sql.DataSource; import org.apache.tomcat.jdbc.pool.DataSourceFactory; import com.google.common.base.Throwables; public class DataSourceProvider { DataSourceFactory factory = new DataSourceFactory(); public DataSource createFromProperties(String connectionName, Properties properties) { Properties translatedProps = new Properties(); translatedProps.put("driverClassName", properties.getProperty(connectionName + ".driverClassName", "oracle.jdbc.driver.OracleDriver")); translatedProps.put("url", properties.getProperty(connectionName + ".url")); translatedProps.put("username", properties.getProperty(connectionName + ".username")); translatedProps.put("password", properties.getProperty(connectionName + ".password")); translatedProps.put("minIdle", properties.getProperty(connectionName + ".minConnections" , "5")); translatedProps.put("initialSize", properties.getProperty(connectionName + ".minConnections", "5")); translatedProps.put("maxActive", properties.getProperty(connectionName + ".maxConnections","20")); translatedProps.put("maxIdle", properties.getProperty(connectionName + ".maxConnections","20")); translatedProps.put("maxIdle", properties.getProperty(connectionName + ".maxConnections","20")); try { return factory.createDataSource(translatedProps); } catch (Exception e) { Throwables.propagate(e); } return null; } public static void main(String[] args) throws IOException { Properties properties = new Properties(); properties.load(DataSourceProvider.class.getResourceAsStream("connect.properties")); DataSource dataSource = new DataSourceProvider().createFromProperties("test", properties); System.out.println(new OracleService(dataSource).findAllProjects()); } }