
li.rudin.jooq.cdi.extension.DSLConnectionProvider Maven / Gradle / Ivy
The newest version!
package li.rudin.jooq.cdi.extension;
import java.sql.Connection;
import java.sql.SQLException;
import li.rudin.jooq.cdi.DatabaseConfiguration;
import org.jooq.ConnectionProvider;
import org.jooq.exception.DataAccessException;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class DSLConnectionProvider implements ConnectionProvider
{
public DSLConnectionProvider(DatabaseConfiguration config)
{
try
{
dataSource = new ComboPooledDataSource();
dataSource.setDriverClass(config.getDriverClass());
dataSource.setUser(config.getUserName());
dataSource.setPassword(config.getPassword());
dataSource.setJdbcUrl(config.getDatabaseUrl());
dataSource.setInitialPoolSize(5);
dataSource.setMinPoolSize(5);
dataSource.setAcquireIncrement(5);
dataSource.setMaxPoolSize(50);
}
catch (Exception e)
{
throw new IllegalArgumentException("init", e);
}
}
public void close()
{
dataSource.close();
}
private ComboPooledDataSource dataSource;
@Override
public Connection acquire() throws DataAccessException
{
try
{
Connection connection = dataSource.getConnection();
return connection;
}
catch (SQLException e)
{
throw new DataAccessException("acquire", e);
}
}
@Override
public void release(Connection connection) throws DataAccessException
{
try
{
connection.close();
}
catch (SQLException e)
{
throw new DataAccessException("acquire", e);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy