2016-09-12 54 views
1

我試圖改變HikariCP的maximumPoolSizeconnectionTimeout參數我光滑的數據庫,這裏是application.conf油滑不能改變HikariCP connectionTimeout

testNet3DatabaseUrl { 
    dataSourceClass = "slick.jdbc.DatabaseUrlDataSource" 
    driver = "slick.driver.PostgresDriver$" 
    db { 
    driver="org.postgresql.Driver" 
    url="jdbc:postgresql://localhost:5432/bitcoins-spv-node-testnet3" 
    user="bitcoins-spv-node-admin" 
    password="" 
    queueSize=5000 
    numThreads=8 
    } 
    connectionTimeout=3000 
    maximumPoolSize=100 
} 

在我的設置現在,當我嘗試使用我的數據庫,我得到一個錯誤,說Exception: java.sql.SQLTimeoutException: Timeout after 1000ms of waiting for a connection.爲什麼不是超時設置爲3000ms就像我在我的application.conf中指定的那樣?

+0

你是如何應用在你的應用這些設置嗎?你是否期望這些設置被自動應用,因爲它們在'''application.conf'''中? – Barry

+0

@Barry,是的,它似乎(從我讀過的),你可以設置這些設置裏面的'application.conf'爲Slick應用程序? –

+0

不確定Play/Slick的版本是什麼版本,但是我看到一些最新版本的版本,它有一些默認的密鑰以及自定義密鑰的方法,所以你可以使用像你這樣的配置,但是到目前爲止正如我可以告訴開箱,如果你想它自動使用你的配置你的佈局/鍵在配置需要匹配他們的expecatations – Barry

回答

2

這是我的一個愚蠢的錯誤,這是什麼設置n EED是:

testNet3DatabaseUrl { 
    dataSourceClass = "slick.jdbc.DatabaseUrlDataSource" 
    driver = "slick.driver.PostgresDriver$" 
    db { 
    driver="org.postgresql.Driver" 
    url="jdbc:postgresql://localhost:5432/bitcoins-spv-node-testnet3" 
    user="bitcoins-spv-node-admin" 
    password="" 
    queueSize=5000 
    numThreads=8 
    connectionTimeout=3000 
    maximumPoolSize=100 
    } 
} 

你可以看到這是如何在這裏解析:https://github.com/slick/slick/blob/master/slick-hikaricp/src/main/scala/slick/jdbc/hikaricp/HikariCPJdbcDataSource.scala#L43-L55