2017-04-20 36 views
0

這是我與HikariDatasource的logback配置:如何使用HikariDataSource在logBack中配置DBappender的池大小?

<appender name="AUDIT-DB" class="ch.qos.logback.classic.db.DBAppender"> 
    <connectionSource class="ch.qos.logback.core.db.DataSourceConnectionSource"> 
     <dataSource class="com.zaxxer.hikari.HikariDataSource"> 
      <driverClassName>com.mysql.jdbc.Driver</driverClassName> 
      <jdbcUrl>jdbc:mysql://myurl:3306/audit?useUnicode=true&amp;characterEncoding=utf8&amp;useSSL=false</jdbcUrl> 
      <username>mysqlciuser</username> 
      <password>mysqlcipwd</password> 
     </dataSource> 
    </connectionSource> 
</appender> 

在的logback https://logback.qos.ch/manual/appenders.html的文檔,我沒有找到一個方法來限制由數據源創建的默認池大小(10)。 我嘗試使用標籤:<maxPoolSize>5</maxPoolSize>但它不起作用。

感謝您的幫助。

回答

1

你,你應該使用下面的配置行:

<maximumPoolSize>50</maximumPoolSize> 

的問題是,二傳手和字段名的矛盾在HikariConfig:

@Override 
    public void setMaximumPoolSize(int maxPoolSize) 
    { 
     if (maxPoolSize < 1) { 
     throw new IllegalArgumentException("maxPoolSize cannot be less than 1"); 
     } 
     this.maxPoolSize = maxPoolSize; 
    } 
+1

感謝@Sergey,那作品 – Antelop