Ejemplo n.º 1
0
  @Bean
  public BoneCPDataSource dataSource() {

    BoneCPDataSource dataSource = new BoneCPDataSource();

    dataSource.setDriverClass(environment.getRequiredProperty(PROPERTY_NAME_DATABASE_DRIVER));
    dataSource.setJdbcUrl(environment.getRequiredProperty(PROPERTY_NAME_DATABASE_URL));
    dataSource.setUsername(environment.getRequiredProperty(PROPERTY_NAME_DATABASE_USERNAME));
    dataSource.setPassword(environment.getRequiredProperty(PROPERTY_NAME_DATABASE_PASSWORD));

    // https://github.com/wwadge/bonecp/blob/master/bonecp/src/main/resources/bonecp-default-config.xml
    dataSource.setConnectionTestStatement("SELECT 1 FROM DUAL");
    dataSource.setMinConnectionsPerPartition(0);
    dataSource.setMaxConnectionsPerPartition(10);
    dataSource.setMaxConnectionAge(0, TimeUnit.SECONDS);
    dataSource.setConnectionTimeout(5, TimeUnit.SECONDS);
    dataSource.setIdleMaxAge(60, TimeUnit.MINUTES);
    dataSource.setAcquireIncrement(1);
    dataSource.setPartitionCount(1);
    dataSource.setIdleConnectionTestPeriod(240, TimeUnit.MINUTES);
    dataSource.setStatementsCacheSize(500);
    dataSource.setCloseConnectionWatch(false);
    dataSource.setAcquireRetryDelay(7000, TimeUnit.MILLISECONDS);
    dataSource.setAcquireRetryAttempts(5);
    dataSource.setQueryExecuteTimeLimit(1, TimeUnit.MILLISECONDS);
    dataSource.setLazyInit(false);
    dataSource.setLogStatementsEnabled(true);

    return dataSource;
  }
Ejemplo n.º 2
0
 @com.google.inject.Inject(optional = true)
 public void setCloseConnectionWatch(
     @Named("bonecp.closeConnectionWatch") boolean closeConnectionWatch) {
   dataSource.setCloseConnectionWatch(closeConnectionWatch);
 }