All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.resthub.jpa.pool.HikariCPDataSourceFactory Maven / Gradle / Ivy

package org.resthub.jpa.pool;

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 HikariDataSource instance from a set of configuration
 * properties.
 * 

* It removes necessity to provide additional hikariConfig spring bean to pass as constructor arg of * HikaridataSource. *

* Check Hikari documentation * for a full list of configuration properties. *

* Be aware that some specific datasource properties must be prefixed by 'dataSource.'. cf * Hikari datasource initialization * * @see org.resthub.jpa.pool.AbstractDataSourceFactory#create(java.util.Properties) * @see org.resthub.jpa.pool.AbstractDataSourceFactory */ public class HikariCPDataSourceFactory extends AbstractDataSourceFactory { public HikariCPDataSourceFactory() { this.setDsClass(HikariDataSource.class); } /** * Initialize a new {@link com.zaxxer.hikari.HikariDataSource} instance with given configuration * properties * * @see org.resthub.jpa.pool.AbstractDataSourceFactory#callConstructor(Class, java.util.Properties) */ @Override protected DataSource callConstructor(Class clazz, Properties configProperties) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException { HikariConfig config = new HikariConfig(configProperties); return (DataSource) clazz.getConstructor(HikariConfig.class).newInstance(config); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy