java类org.springframework.boot.autoconfigure.jdbc.DataSourceProperties的实例源码

SqlServerFlywayTestMigrationStrategy.java 文件源码 项目:infobip-spring-data-jpa-querydsl 阅读 31 收藏 0 点赞 0 评论 0
public SqlServerFlywayTestMigrationStrategy(DataSourceProperties dataSourceProps) {
    Pattern jdbcBaseUrlWithDbNamePattern = Pattern.compile(DB_URL_PATTERN);
    Matcher matcher = jdbcBaseUrlWithDbNamePattern.matcher(dataSourceProps.getUrl());

    if(!matcher.matches()) {
        throw new IllegalArgumentException(dataSourceProps.getUrl() + " does not match " + DB_URL_PATTERN);
    }

    String jdbcBaseUrl = matcher.group("jdbcBaseUrl");
    String databaseName = matcher.group("databaseName");
    databaseExistsQuery = String.format("SELECT count(*) FROM sys.databases WHERE name='%s'", databaseName);
    createDatabaseQuery = String.format("CREATE DATABASE %s", databaseName);
    this.template = new JdbcTemplate(new SimpleDriverDataSource(
            getDriver(jdbcBaseUrl),
            jdbcBaseUrl,
            dataSourceProps.getUsername(),
            dataSourceProps.getPassword()));
}
DatabaseConfiguration.java 文件源码 项目:jhipster-ribbon-hystrix 阅读 27 收藏 0 点赞 0 评论 0
@Bean(destroyMethod = "close")
@ConditionalOnExpression("#{!environment.acceptsProfiles('" + Constants.SPRING_PROFILE_CLOUD + "') && !environment.acceptsProfiles('" + Constants.SPRING_PROFILE_HEROKU + "')}")
@ConfigurationProperties(prefix = "spring.datasource.hikari")
public DataSource dataSource(DataSourceProperties dataSourceProperties) {
    log.debug("Configuring Datasource");
    if (dataSourceProperties.getUrl() == null) {
        log.error("Your database connection pool configuration is incorrect! The application" +
                " cannot start. Please check your Spring profile, current profiles are: {}",
            Arrays.toString(env.getActiveProfiles()));

        throw new ApplicationContextException("Database connection pool is not configured correctly");
    }
    HikariDataSource hikariDataSource =  (HikariDataSource) DataSourceBuilder
            .create(dataSourceProperties.getClassLoader())
            .type(HikariDataSource.class)
            .driverClassName(dataSourceProperties.getDriverClassName())
            .url(dataSourceProperties.getUrl())
            .username(dataSourceProperties.getUsername())
            .password(dataSourceProperties.getPassword())
            .build();

    if (metricRegistry != null) {
        hikariDataSource.setMetricRegistry(metricRegistry);
    }
    return hikariDataSource;
}
_HerokuDatabaseConfiguration.java 文件源码 项目:jhipster-ribbon-hystrix 阅读 31 收藏 0 点赞 0 评论 0
@Bean
    @ConfigurationProperties(prefix = "spring.datasource.hikari")
    public DataSource dataSource(DataSourceProperties dataSourceProperties<% if (hibernateCache == 'hazelcast') { %>, CacheManager cacheManager<% } %>) {
        log.debug("Configuring Heroku Datasource");

        String herokuUrl = System.getenv("JDBC_DATABASE_URL");
        if (herokuUrl != null) {
            return DataSourceBuilder
                .create(dataSourceProperties.getClassLoader())
                .type(HikariDataSource.class)
                .url(herokuUrl)
                .build();
        } else {
            throw new ApplicationContextException("Heroku database URL is not configured, you must set $JDBC_DATABASE_URL");
        }
    }
}
DatabaseConfiguration.java 文件源码 项目:jhipster-ribbon-hystrix 阅读 34 收藏 0 点赞 0 评论 0
@Bean(destroyMethod = "close")
@ConditionalOnExpression("#{!environment.acceptsProfiles('" + Constants.SPRING_PROFILE_CLOUD + "') && !environment.acceptsProfiles('" + Constants.SPRING_PROFILE_HEROKU + "')}")
@ConfigurationProperties(prefix = "spring.datasource.hikari")
public DataSource dataSource(DataSourceProperties dataSourceProperties) {
    log.debug("Configuring Datasource");
    if (dataSourceProperties.getUrl() == null) {
        log.error("Your database connection pool configuration is incorrect! The application" +
                " cannot start. Please check your Spring profile, current profiles are: {}",
            Arrays.toString(env.getActiveProfiles()));

        throw new ApplicationContextException("Database connection pool is not configured correctly");
    }
    HikariDataSource hikariDataSource =  (HikariDataSource) DataSourceBuilder
            .create(dataSourceProperties.getClassLoader())
            .type(HikariDataSource.class)
            .driverClassName(dataSourceProperties.getDriverClassName())
            .url(dataSourceProperties.getUrl())
            .username(dataSourceProperties.getUsername())
            .password(dataSourceProperties.getPassword())
            .build();

    if (metricRegistry != null) {
        hikariDataSource.setMetricRegistry(metricRegistry);
    }
    return hikariDataSource;
}
HealthIndicatorAutoConfigurationTests.java 文件源码 项目:https-github.com-g0t4-jenkins2-course-spring-boot 阅读 30 收藏 0 点赞 0 评论 0
@Test
public void dataSourceHealthIndicatorWithCustomValidationQuery() {
    this.context.register(PropertyPlaceholderAutoConfiguration.class,
            ManagementServerProperties.class, DataSourceProperties.class,
            DataSourceConfig.class,
            DataSourcePoolMetadataProvidersConfiguration.class,
            HealthIndicatorAutoConfiguration.class);
    EnvironmentTestUtils.addEnvironment(this.context,
            "spring.datasource.test.validation-query:SELECT from FOOBAR",
            "management.health.diskspace.enabled:false");
    this.context.refresh();
    Map<String, HealthIndicator> beans = this.context
            .getBeansOfType(HealthIndicator.class);
    assertThat(beans).hasSize(1);
    HealthIndicator healthIndicator = beans.values().iterator().next();
    assertThat(healthIndicator.getClass()).isEqualTo(DataSourceHealthIndicator.class);
    DataSourceHealthIndicator dataSourceHealthIndicator = (DataSourceHealthIndicator) healthIndicator;
    assertThat(dataSourceHealthIndicator.getQuery()).isEqualTo("SELECT from FOOBAR");
}
DataSourceConfig.java 文件源码 项目:haven-platform 阅读 31 收藏 0 点赞 0 评论 0
@Bean
@Primary
public DataSourceProperties dataSourceProperties() {
    DataSourceProperties properties = new DataSourceProperties();
    properties.setInitialize(false);
    // dbName.serviceName example: user-db.mysql (we must )
    final String serviceId = environment.getProperty(MYSQL_SERVICE_ID);
    if (discoveryClient != null && serviceId != null) {
        List<ServiceInstance> instances = discoveryClient.getInstances(serviceId);
        if (!instances.isEmpty()) {
            properties.setUrl(getJdbcUrl(instances, fetchDBName(serviceId)));
        }  else {
            LOGGER.warn("there is no services with id {} in service discovery", serviceId);
        }
    }
    return properties;
}
DatabaseConfiguration.java 文件源码 项目:blackhole 阅读 38 收藏 0 点赞 0 评论 0
@Bean(destroyMethod = "close")
@ConditionalOnExpression("#{!environment.acceptsProfiles('" + Constants.SPRING_PROFILE_CLOUD + "') && !environment.acceptsProfiles('" + Constants.SPRING_PROFILE_HEROKU + "')}")
@ConfigurationProperties(prefix = "spring.datasource.hikari")
public DataSource dataSource(DataSourceProperties dataSourceProperties) {
    log.debug("Configuring Datasource");
    if (dataSourceProperties.getUrl() == null) {
        log.error("Your database connection pool configuration is incorrect! The application" +
                " cannot start. Please check your Spring profile, current profiles are: {}",
            Arrays.toString(env.getActiveProfiles()));

        throw new ApplicationContextException("Database connection pool is not configured correctly");
    }
    HikariDataSource hikariDataSource =  (HikariDataSource) DataSourceBuilder
            .create(dataSourceProperties.getClassLoader())
            .type(HikariDataSource.class)
            .driverClassName(dataSourceProperties.getDriverClassName())
            .url(dataSourceProperties.getUrl())
            .username(dataSourceProperties.getUsername())
            .password(dataSourceProperties.getPassword())
            .build();

    if (metricRegistry != null) {
        hikariDataSource.setMetricRegistry(metricRegistry);
    }
    return hikariDataSource;
}
HerokuDatabaseConfiguration.java 文件源码 项目:oyd-pia 阅读 30 收藏 0 点赞 0 评论 0
@Bean
public DataSource dataSource(DataSourceProperties dataSourceProperties, JHipsterProperties jHipsterProperties) {
    log.debug("Configuring Heroku Datasource");

    String herokuUrl = System.getenv("JDBC_DATABASE_URL");
    if (herokuUrl != null) {
 HikariConfig config = new HikariConfig();

 //MySQL optimizations, see https://github.com/brettwooldridge/HikariCP/wiki/MySQL-Configuration
 if ("com.mysql.jdbc.jdbc2.optional.MysqlDataSource".equals(dataSourceProperties.getDriverClassName())) {
            config.addDataSourceProperty("cachePrepStmts", jHipsterProperties.getDatasource().isCachePrepStmts());
            config.addDataSourceProperty("prepStmtCacheSize", jHipsterProperties.getDatasource().getPrepStmtCacheSize());
            config.addDataSourceProperty("prepStmtCacheSqlLimit", jHipsterProperties.getDatasource().getPrepStmtCacheSqlLimit());
        }

        config.setDataSourceClassName(dataSourceProperties.getDriverClassName());
        config.addDataSourceProperty("url", herokuUrl);
        return new HikariDataSource(config);
    } else {
        throw new ApplicationContextException("Heroku database URL is not configured, you must set $JDBC_DATABASE_URL");
    }
}
HealthIndicatorAutoConfigurationTests.java 文件源码 项目:spring-boot-concourse 阅读 31 收藏 0 点赞 0 评论 0
@Test
public void dataSourceHealthIndicatorWithCustomValidationQuery() {
    this.context.register(PropertyPlaceholderAutoConfiguration.class,
            ManagementServerProperties.class, DataSourceProperties.class,
            DataSourceConfig.class,
            DataSourcePoolMetadataProvidersConfiguration.class,
            HealthIndicatorAutoConfiguration.class);
    EnvironmentTestUtils.addEnvironment(this.context,
            "spring.datasource.test.validation-query:SELECT from FOOBAR",
            "management.health.diskspace.enabled:false");
    this.context.refresh();
    Map<String, HealthIndicator> beans = this.context
            .getBeansOfType(HealthIndicator.class);
    assertThat(beans).hasSize(1);
    HealthIndicator healthIndicator = beans.values().iterator().next();
    assertThat(healthIndicator.getClass()).isEqualTo(DataSourceHealthIndicator.class);
    DataSourceHealthIndicator dataSourceHealthIndicator = (DataSourceHealthIndicator) healthIndicator;
    assertThat(dataSourceHealthIndicator.getQuery()).isEqualTo("SELECT from FOOBAR");
}
HealthIndicatorAutoConfigurationTests.java 文件源码 项目:contestparser 阅读 29 收藏 0 点赞 0 评论 0
@Test
public void dataSourceHealthIndicatorWithCustomValidationQuery() {
    this.context.register(PropertyPlaceholderAutoConfiguration.class,
            ManagementServerProperties.class, DataSourceProperties.class,
            DataSourceConfig.class,
            DataSourcePoolMetadataProvidersConfiguration.class,
            HealthIndicatorAutoConfiguration.class);
    EnvironmentTestUtils.addEnvironment(this.context,
            "spring.datasource.validation-query:SELECT from FOOBAR",
            "management.health.diskspace.enabled:false");
    this.context.refresh();
    Map<String, HealthIndicator> beans = this.context
            .getBeansOfType(HealthIndicator.class);
    assertEquals(1, beans.size());
    HealthIndicator healthIndicator = beans.values().iterator().next();
    assertEquals(DataSourceHealthIndicator.class, healthIndicator.getClass());
    DataSourceHealthIndicator dataSourceHealthIndicator = (DataSourceHealthIndicator) healthIndicator;
    assertEquals("SELECT from FOOBAR", dataSourceHealthIndicator.getQuery());
}
HerokuDatabaseConfiguration.java 文件源码 项目:p2p-webtv 阅读 35 收藏 0 点赞 0 评论 0
@Bean
public DataSource dataSource(DataSourceProperties dataSourceProperties, ApplicationProperties applicationProperties) {
  log.debug("Configuring Heroku Datasource");

  String herokuUrl = System.getenv("JDBC_DATABASE_URL");
  if (herokuUrl != null) {
    HikariConfig config = new HikariConfig();

    //MySQL optimizations, see https://github.com/brettwooldridge/HikariCP/wiki/MySQL-Configuration
    if ("com.mysql.jdbc.jdbc2.optional.MysqlDataSource".equals(dataSourceProperties.getDriverClassName())) {
      config.addDataSourceProperty("cachePrepStmts", applicationProperties.getDatasource().isCachePrepStmts());
      config.addDataSourceProperty("prepStmtCacheSize", applicationProperties.getDatasource().getPrepStmtCacheSize());
      config.addDataSourceProperty("prepStmtCacheSqlLimit", applicationProperties.getDatasource().getPrepStmtCacheSqlLimit());
    }

    config.setDataSourceClassName(dataSourceProperties.getDriverClassName());
    config.addDataSourceProperty("url", herokuUrl);
    return new HikariDataSource(config);
  } else {
    throw new ApplicationContextException("Heroku database URL is not configured, you must set $JDBC_DATABASE_URL");
  }
}
DatabaseConfiguration.java 文件源码 项目:p2p-webtv 阅读 32 收藏 0 点赞 0 评论 0
@Bean(destroyMethod = "close")
@ConditionalOnExpression("#{!environment.acceptsProfiles('cloud') && !environment.acceptsProfiles('heroku')}")
public DataSource dataSource(DataSourceProperties dataSourceProperties, ApplicationProperties applicationProperties) {
  log.debug("Configuring Datasource");
  if (dataSourceProperties.getUrl() == null) {
    log.error("Your database connection pool configuration is incorrect! The application cannot start. " +
      "Please check your Spring profile, current profiles are: {}", Arrays.toString(environment.getActiveProfiles()));
    throw new ApplicationContextException("Database connection pool is not configured correctly");
  }
  HikariConfig config = new HikariConfig();
  config.setDataSourceClassName(dataSourceProperties.getDriverClassName());
  config.addDataSourceProperty("url", dataSourceProperties.getUrl());
  config.addDataSourceProperty("user", dataSourceProperties.getUsername() != null ? dataSourceProperties.getUsername() : "");
  config.addDataSourceProperty("password", dataSourceProperties.getPassword() != null ? dataSourceProperties.getPassword() : "");
  if (metricRegistry != null) {
    config.setMetricRegistry(metricRegistry);
  }
  return new HikariDataSource(config);
}
DatasourceConfig.java 文件源码 项目:orchestrator 阅读 26 收藏 0 点赞 0 评论 0
private XADataSource createXaDataSource(DataSourceProperties properties)
    throws ClassNotFoundException, LinkageError {
  String className = Optional
      .ofNullable(properties.getXa())
      .map(Xa::getDataSourceClassName)
      .map(String::trim)
      .map(Strings::emptyToNull)
      .orElseGet(() -> DatabaseDriver
          .fromJdbcUrl(properties.determineUrl())
          .getXaDataSourceClassName());
  Assert.state(StringUtils.hasLength(className),
      "No XA DataSource class name specified or inferred");
  XADataSource dataSource = createXaDataSourceInstance(className);
  bindXaProperties(dataSource, properties);
  return dataSource;
}
DatabaseConfiguration.java 文件源码 项目:buenojo 阅读 32 收藏 0 点赞 0 评论 0
@Bean(destroyMethod = "close")
@ConditionalOnExpression("#{!environment.acceptsProfiles('cloud') && !environment.acceptsProfiles('heroku')}")
public DataSource dataSource(DataSourceProperties dataSourceProperties, JHipsterProperties jHipsterProperties) {
    log.debug("Configuring Datasource");
    if (dataSourceProperties.getUrl() == null) {
        log.error("Your database connection pool configuration is incorrect! The application" +
                " cannot start. Please check your Spring profile, current profiles are: {}",
            Arrays.toString(env.getActiveProfiles()));

        throw new ApplicationContextException("Database connection pool is not configured correctly");
    }
    HikariConfig config = new HikariConfig();
    config.setDataSourceClassName(dataSourceProperties.getDriverClassName());
    config.addDataSourceProperty("url", dataSourceProperties.getUrl());
    if (dataSourceProperties.getUsername() != null) {
        config.addDataSourceProperty("user", dataSourceProperties.getUsername());
    } else {
        config.addDataSourceProperty("user", ""); // HikariCP doesn't allow null user
    }
    if (dataSourceProperties.getPassword() != null) {
        config.addDataSourceProperty("password", dataSourceProperties.getPassword());
    } else {
        config.addDataSourceProperty("password", ""); // HikariCP doesn't allow null password
    }

    if (metricRegistry != null) {
        config.setMetricRegistry(metricRegistry);
    }
    return new HikariDataSource(config);
}
AuditDsConfig.java 文件源码 项目:springboot-security-wechat 阅读 37 收藏 0 点赞 0 评论 0
/**
 * 数据源配置对象
 * Primary 表示默认的对象,Autowire可注入,不是默认的得明确名称注入
 * @return
 */
@Bean
@Primary
@ConfigurationProperties("first.datasource")
public DataSourceProperties firstDataSourceProperties() {
    return new DataSourceProperties();
}
DataSourceAutoConfiguration.java 文件源码 项目:spring-boot-multidatasource 阅读 34 收藏 0 点赞 0 评论 0
@Bean
@ConditionalOnProperty(name = "spring.datasource1.url")
@ConfigurationProperties(prefix = "spring.datasource1")
public DataSourceInitializer dataSourceInitializer1(DataSourceProperties properties,
        ApplicationContext applicationContext) {
    return new DataSourceInitializer(properties, applicationContext, 1);
}
DataSourceAutoConfiguration.java 文件源码 项目:spring-boot-multidatasource 阅读 26 收藏 0 点赞 0 评论 0
@Bean
@ConditionalOnProperty(name = "spring.datasource2.url")
@ConfigurationProperties(prefix = "spring.datasource2")
public DataSourceInitializer dataSourceInitializer2(DataSourceProperties properties,
        ApplicationContext applicationContext) {
    return new DataSourceInitializer(properties, applicationContext, 2);
}
DataSourceAutoConfiguration.java 文件源码 项目:spring-boot-multidatasource 阅读 39 收藏 0 点赞 0 评论 0
@Bean
@ConditionalOnProperty(name = "spring.datasource3.url")
@ConfigurationProperties(prefix = "spring.datasource3")
public DataSourceInitializer dataSourceInitializer3(DataSourceProperties properties,
        ApplicationContext applicationContext) {
    return new DataSourceInitializer(properties, applicationContext, 3);
}
DataSourceAutoConfiguration.java 文件源码 项目:spring-boot-multidatasource 阅读 46 收藏 0 点赞 0 评论 0
@Bean
@ConditionalOnProperty(name = "spring.datasource4.url")
@ConfigurationProperties(prefix = "spring.datasource4")
public DataSourceInitializer dataSourceInitializer4(DataSourceProperties properties,
        ApplicationContext applicationContext) {
    return new DataSourceInitializer(properties, applicationContext, 4);
}
DataSourceAutoConfiguration.java 文件源码 项目:spring-boot-multidatasource 阅读 34 收藏 0 点赞 0 评论 0
@Bean
@ConditionalOnProperty(name = "spring.datasource5.url")
@ConfigurationProperties(prefix = "spring.datasource5")
public DataSourceInitializer dataSourceInitializer5(DataSourceProperties properties,
        ApplicationContext applicationContext) {
    return new DataSourceInitializer(properties, applicationContext, 5);
}
DataSourceAutoConfiguration.java 文件源码 项目:spring-boot-multidatasource 阅读 31 收藏 0 点赞 0 评论 0
@Bean
@ConditionalOnProperty(name = "spring.datasource6.url")
@ConfigurationProperties(prefix = "spring.datasource6")
public DataSourceInitializer dataSourceInitializer6(DataSourceProperties properties,
        ApplicationContext applicationContext) {
    return new DataSourceInitializer(properties, applicationContext, 6);
}
DataSourceConfiguration.java 文件源码 项目:spring-boot-multidatasource 阅读 33 收藏 0 点赞 0 评论 0
protected org.apache.tomcat.jdbc.pool.DataSource createTomcatDataSource(DataSourceProperties properties) {
    org.apache.tomcat.jdbc.pool.DataSource dataSource = createDataSource(
            properties, org.apache.tomcat.jdbc.pool.DataSource.class);
    DatabaseDriver databaseDriver = DatabaseDriver
            .fromJdbcUrl(properties.determineUrl());
    String validationQuery = databaseDriver.getValidationQuery();
    if (validationQuery != null) {
        dataSource.setTestOnBorrow(true);
        dataSource.setValidationQuery(validationQuery);
    }
    return dataSource; 
}
DataSourceConfiguration.java 文件源码 项目:spring-boot-multidatasource 阅读 34 收藏 0 点赞 0 评论 0
@Bean
@Primary
@ConfigurationProperties(prefix = "spring.datasource.tomcat")
public org.apache.tomcat.jdbc.pool.DataSource dataSource(
        @Qualifier("dataSourceProperties") DataSourceProperties properties) {
    return createTomcatDataSource(properties);
}
DataSourceConfiguration.java 文件源码 项目:spring-boot-multidatasource 阅读 27 收藏 0 点赞 0 评论 0
@Bean
@Primary
@ConfigurationProperties(prefix = "spring.datasource.dbcp2")
public org.apache.commons.dbcp2.BasicDataSource dataSource(
        @Qualifier("dataSourceProperties") DataSourceProperties properties) {
    return createDataSource(properties,
            org.apache.commons.dbcp2.BasicDataSource.class);
}
DatabaseConfiguration.java 文件源码 项目:shoucang 阅读 35 收藏 0 点赞 0 评论 0
@Bean(destroyMethod = "close")
@ConditionalOnExpression("#{!environment.acceptsProfiles('cloud') && !environment.acceptsProfiles('heroku')}")
public DataSource dataSource(DataSourceProperties dataSourceProperties, JHipsterProperties jHipsterProperties) {
    log.debug("Configuring Datasource");
    if (dataSourceProperties.getUrl() == null) {
        log.error("Your database connection pool configuration is incorrect! The application" +
                " cannot start. Please check your Spring profile, current profiles are: {}",
            Arrays.toString(env.getActiveProfiles()));

        throw new ApplicationContextException("Database connection pool is not configured correctly");
    }
    HikariConfig config = new HikariConfig();
    config.setDataSourceClassName(dataSourceProperties.getDriverClassName());
    config.addDataSourceProperty("url", dataSourceProperties.getUrl());
    if (dataSourceProperties.getUsername() != null) {
        config.addDataSourceProperty("user", dataSourceProperties.getUsername());
    } else {
        config.addDataSourceProperty("user", ""); // HikariCP doesn't allow null user
    }
    if (dataSourceProperties.getPassword() != null) {
        config.addDataSourceProperty("password", dataSourceProperties.getPassword());
    } else {
        config.addDataSourceProperty("password", ""); // HikariCP doesn't allow null password
    }

    if (metricRegistry != null) {
        config.setMetricRegistry(metricRegistry);
    }
    return new HikariDataSource(config);
}
GcpCloudSqlAutoConfiguration.java 文件源码 项目:spring-cloud-gcp 阅读 37 收藏 0 点赞 0 评论 0
@Bean
@Primary
public DataSourceProperties cloudSqlDataSourceProperties(DataSourceProperties properties,
        CloudSqlJdbcInfoProvider cloudSqlJdbcInfoProvider) {
    if (StringUtils.isEmpty(properties.getUsername())) {
        properties.setUsername("root");
        LOGGER.warn("spring.datasource.username is not specified. Setting default username.");
    }
    if (StringUtils.isEmpty(properties.getDriverClassName())) {
        properties.setDriverClassName(cloudSqlJdbcInfoProvider.getJdbcDriverClass());
    }
    else {
        LOGGER.warn(
                "spring.datasource.driver-class-name is specified. Not using generated Cloud SQL configuration");
    }
    if (StringUtils.isEmpty(properties.getUrl())) {
        properties.setUrl(cloudSqlJdbcInfoProvider.getJdbcUrl());
    }
    else {
        LOGGER.warn("spring.datasource.jdbc-url is specified. Not using generated Cloud SQL configuration");
    }
    return properties;
}
DatabaseConfiguration.java 文件源码 项目:klask-io 阅读 33 收藏 0 点赞 0 评论 0
@Bean(destroyMethod = "close")
@ConditionalOnExpression("#{!environment.acceptsProfiles('" + Constants.SPRING_PROFILE_CLOUD + "') && !environment.acceptsProfiles('" + Constants.SPRING_PROFILE_HEROKU + "')}")
@ConfigurationProperties(prefix = "spring.datasource.hikari")
public DataSource dataSource(DataSourceProperties dataSourceProperties) {
    log.debug("Configuring Datasource");
    if (dataSourceProperties.getUrl() == null) {
        log.error("Your database connection pool configuration is incorrect! The application" +
                " cannot start. Please check your Spring profile, current profiles are: {}",
            Arrays.toString(env.getActiveProfiles()));

        throw new ApplicationContextException("Database connection pool is not configured correctly");
    }
    HikariDataSource hikariDataSource =  (HikariDataSource) DataSourceBuilder
            .create(dataSourceProperties.getClassLoader())
            .type(HikariDataSource.class)
            .driverClassName(dataSourceProperties.getDriverClassName())
            .url(dataSourceProperties.getUrl())
            .username(dataSourceProperties.getUsername())
            .password(dataSourceProperties.getPassword())
            .build();

    if (metricRegistry != null) {
        hikariDataSource.setMetricRegistry(metricRegistry);
    }
    return hikariDataSource;
}
HerokuDatabaseConfiguration.java 文件源码 项目:blogAggr 阅读 24 收藏 0 点赞 0 评论 0
@Bean
public DataSource dataSource(DataSourceProperties dataSourceProperties, JHipsterProperties jHipsterProperties) {
    log.debug("Configuring Heroku Datasource");

    String herokuUrl = System.getenv("JDBC_DATABASE_URL");
    if (herokuUrl != null) {
 HikariConfig config = new HikariConfig();

 //MySQL optimizations, see https://github.com/brettwooldridge/HikariCP/wiki/MySQL-Configuration
 if ("com.mysql.jdbc.jdbc2.optional.MysqlDataSource".equals(dataSourceProperties.getDriverClassName())) {
            config.addDataSourceProperty("cachePrepStmts", jHipsterProperties.getDatasource().isCachePrepStmts());
            config.addDataSourceProperty("prepStmtCacheSize", jHipsterProperties.getDatasource().getPrepStmtCacheSize());
            config.addDataSourceProperty("prepStmtCacheSqlLimit", jHipsterProperties.getDatasource().getPrepStmtCacheSqlLimit());
        }

        config.setDataSourceClassName(dataSourceProperties.getDriverClassName());
        config.addDataSourceProperty("url", herokuUrl);
        return new HikariDataSource(config);
    } else {
        throw new ApplicationContextException("Heroku database URL is not configured, you must set $JDBC_DATABASE_URL");
    }
}
DatabaseConfiguration.java 文件源码 项目:ugc-bot-redux 阅读 33 收藏 0 点赞 0 评论 0
@Bean(destroyMethod = "close")
@ConditionalOnExpression("#{!environment.acceptsProfiles('cloud') && !environment.acceptsProfiles('heroku')}")
public DataSource dataSource(DataSourceProperties dataSourceProperties, LeagueProperties leagueProperties) {
    log.debug("Configuring Datasource");
    if (dataSourceProperties.getUrl() == null) {
        log.error("Your database connection pool configuration is incorrect! The application" +
                " cannot start. Please check your Spring profile, current profiles are: {}",
            Arrays.toString(env.getActiveProfiles()));

        throw new ApplicationContextException("Database connection pool is not configured correctly");
    }
    HikariConfig config = new HikariConfig();
    config.setDataSourceClassName(dataSourceProperties.getDriverClassName());
    config.addDataSourceProperty("url", dataSourceProperties.getUrl());
    if (dataSourceProperties.getUsername() != null) {
        config.addDataSourceProperty("user", dataSourceProperties.getUsername());
    } else {
        config.addDataSourceProperty("user", ""); // HikariCP doesn't allow null user
    }
    if (dataSourceProperties.getPassword() != null) {
        config.addDataSourceProperty("password", dataSourceProperties.getPassword());
    } else {
        config.addDataSourceProperty("password", ""); // HikariCP doesn't allow null password
    }

    //MySQL optimizations, see https://github.com/brettwooldridge/HikariCP/wiki/MySQL-Configuration
    if ("com.mysql.jdbc.jdbc2.optional.MysqlDataSource".equals(dataSourceProperties.getDriverClassName())) {
        config.addDataSourceProperty("cachePrepStmts", leagueProperties.getDatasource().isCachePrepStmts());
        config.addDataSourceProperty("prepStmtCacheSize", leagueProperties.getDatasource().getPrepStmtCacheSize());
        config.addDataSourceProperty("prepStmtCacheSqlLimit", leagueProperties.getDatasource().getPrepStmtCacheSqlLimit());
    }
    if (metricRegistry != null) {
        config.setMetricRegistry(metricRegistry);
    }
    if (healthCheckRegistry != null) {
        config.setHealthCheckRegistry(healthCheckRegistry);
    }
    return new HikariDataSource(config);
}
DatabaseConfiguration.java 文件源码 项目:jhipster-ribbon-hystrix 阅读 29 收藏 0 点赞 0 评论 0
@Bean(destroyMethod = "close")
@ConditionalOnExpression("#{!environment.acceptsProfiles('" + Constants.SPRING_PROFILE_CLOUD + "') && !environment.acceptsProfiles('" + Constants.SPRING_PROFILE_HEROKU + "')}")
@ConfigurationProperties(prefix = "spring.datasource.hikari")
public DataSource dataSource(DataSourceProperties dataSourceProperties) {
    log.debug("Configuring Datasource");
    if (dataSourceProperties.getUrl() == null) {
        log.error("Your database connection pool configuration is incorrect! The application" +
                " cannot start. Please check your Spring profile, current profiles are: {}",
            Arrays.toString(env.getActiveProfiles()));

        throw new ApplicationContextException("Database connection pool is not configured correctly");
    }
    HikariDataSource hikariDataSource =  (HikariDataSource) DataSourceBuilder
            .create(dataSourceProperties.getClassLoader())
            .type(HikariDataSource.class)
            .driverClassName(dataSourceProperties.getDriverClassName())
            .url(dataSourceProperties.getUrl())
            .username(dataSourceProperties.getUsername())
            .password(dataSourceProperties.getPassword())
            .build();

    if (metricRegistry != null) {
        hikariDataSource.setMetricRegistry(metricRegistry);
    }
    return hikariDataSource;
}


问题


面经


文章

微信
公众号

扫码关注公众号