亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 Spring boot 2.0.x 中覆蓋默認連接池限制

如何在 Spring boot 2.0.x 中覆蓋默認連接池限制

叮當貓咪 2022-09-01 18:14:38
在我的項目中,我們使用的是spring boot 2.0.3.Release。我們已經配置了多個數據源,默認情況下,Spring Boot選擇Hikari數據源作為連接池。下面是我的代碼。應用程序.屬性first.datasource.jdbcUrl=jdbc:sqlserver://localhost:1433;databaseName=test1first.datasource.username=adminfirst.datasource.password=adminfirst.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDeriver first.datasource.hikari.maximumlPoolSize=50# Second Datasourcesecond.datasource.jdbcUrl=jdbc:postgresql://db-server-bar:5432/test2second.datasource.username=adminsecond.datasource.password=adminsecond.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDeriver second.datasource.hikari.maximumlPoolSize=50第一配置.java@Configuration@EnableTransactionManagement@EnableJpaRepositories(  entityManagerFactoryRef = "entityManagerFactory",  basePackages = { "com.org.first.repo" })public class FirstConfig {  @Primary  @Bean(name = "dataSource")  @ConfigurationProperties(prefix = "first.datasource")  public DataSource dataSource() {    return DataSourceBuilder.create().build();  }  @Primary  @Bean(name = "entityManagerFactory")  public LocalContainerEntityManagerFactoryBean   entityManagerFactory(    EntityManagerFactoryBuilder builder,    @Qualifier("dataSource") DataSource dataSource  ) {    return builder      .dataSource(dataSource)      .packages("com.org.first.entity")      .persistenceUnit("first")      .build();  }  @Primary  @Bean(name = "transactionManager")  public PlatformTransactionManager transactionManager(    @Qualifier("entityManagerFactory") EntityManagerFactory     entityManagerFactory  ) {    return new JpaTransactionManager(entityManagerFactory);  }}配置未選取我在屬性文件中設置的最大池大小。當我簽入顯示為10的數據源對象時。如何覆蓋在光數據源中設置的默認值?
查看完整描述

2 回答

?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

@Configuration

@ConfigurationProperties(prefix = "params.datasource")

public class JpaConfig extends HikariConfig {


    @Bean

    public DataSource dataSource() throws SQLException {

        return new HikariDataSource(this);

    }


}

應用程序.yml


params:

  datasource:

    driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDeriver

    jdbcUrl: jdbc:sqlserver://localhost:1433;databaseName=test1

    username: login

    password: password

    maximumPoolSize: 5


查看完整回答
反對 回復 2022-09-01
?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

正如我所看到的,您尚未添加數據源屬性 Bean。


請制作一個數據源屬性豆。


 @Bean

  @Primary

  @ConfigurationProperties(prefix = "first.datasource")

  public DataSourceProperties dataSourceProperties() {

    return new DataSourceProperties();

  }


  @Primary

  @Bean(name = "dataSource")

  @ConfigurationProperties(prefix = "first.datasource")

  public DataSource dataSource() {

    return dataSourceProperties().initializeDataSourceBuilder().build();

  }

這對我有用。


查看完整回答
反對 回復 2022-09-01
  • 2 回答
  • 0 關注
  • 135 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號