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()));
}
java类org.springframework.boot.autoconfigure.jdbc.DataSourceProperties的实例源码
SqlServerFlywayTestMigrationStrategy.java 文件源码
项目:infobip-spring-data-jpa-querydsl
阅读 31
收藏 0
点赞 0
评论 0
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;
}