![JAR search and dependency download from the Maven repository](/logo.png)
org.resthub.jpa.pool.BoneCPDataSourceFactory Maven / Gradle / Ivy
package org.resthub.jpa.pool;
import com.jolbox.bonecp.BoneCPConfig;
import com.jolbox.bonecp.BoneCPDataSource;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import javax.sql.DataSource;
import java.lang.reflect.InvocationTargetException;
import java.util.Properties;
/**
* This factory allows to create directly a BoneCPDataSource instance from a set of configuration
* properties.
*
* Check BoneCP documentation
* for a full list of configuration properties.
*
* @see AbstractDataSourceFactory#create(java.util.Properties)
* @see AbstractDataSourceFactory
*/
public class BoneCPDataSourceFactory extends AbstractDataSourceFactory {
public BoneCPDataSourceFactory() {
this.setDsClass(BoneCPDataSource.class);
}
/**
* Initialize a new {@link com.jolbox.bonecp.BoneCPDataSource} instance with given configuration
* properties
*
* @see AbstractDataSourceFactory#callConstructor(Class, java.util.Properties)
*/
@Override
protected DataSource callConstructor(Class clazz, Properties configProperties) throws Exception {
BoneCPConfig config = new BoneCPConfig(configProperties);
BoneCPDataSource dataSource = (BoneCPDataSource) clazz.getConstructor(BoneCPConfig.class).newInstance(config);
dataSource.setDriverClass(configProperties.getProperty("driverClass"));
return dataSource;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy