Saturday, 15 March 2014

java - How do I configure HikariCP in my Spring Boot app in my application.properties files? -



java - How do I configure HikariCP in my Spring Boot app in my application.properties files? -

i'm trying set hikaricp in spring boot (1.2.0.m1) app can test using in place of tomcat dbcp. i'd configure connection pool in application.properties file doing tomcat, can't figure out how should doing it. examples i've found show either javaconfig style, or using separate hikaricp properties file. can help me figure out property names configure in application.properties? i'd switch using driverclassname approach datasourceclassname approach since looks cleaner , recommended. possible in application.properties file(s)?

here's had tomcat dbcp (just basic config, not flushed out)

spring.datasource.validation-query=select 1 spring.datasource.max-active=10 spring.datasource.max-idle=8 spring.datasource.min-idle=8 spring.datasource.initial-size=5 spring.datasource.test-on-borrow=true spring.datasource.test-on-return=true

and i'm using driverclassname , jdbc url set connection:

spring.datasource.url=jdbc:mysql://localhost:3306/mydb spring.datasource.driverclassname=com.mysql.jdbc.driver

this works boot application in case helps. class tells properties config object looking for:

https://github.com/brettwooldridge/hikaricp/blob/2.3.x/hikaricp-common/src/main/java/com/zaxxer/hikari/abstracthikariconfig.java

i think multiple datasources supporting adding datasource_whatever property keys in source config file. cheers!

@configuration class datasourceconfig { @value('${spring.datasource.username}') private string user; @value('${spring.datasource.password}') private string password; @value('${spring.datasource.url}') private string datasourceurl; @value('${spring.datasource.datasourceclassname}') private string datasourceclassname; @value('${spring.datasource.connectiontimeout}') private int connectiontimeout; @value('${spring.datasource.maxlifetime}') private int maxlifetime; @bean public datasource primarydatasource() { properties dsprops = [url: datasourceurl, user: user, password: password] properties configprops = [ connectiontestquery: 'select 1 dual', connectiontimeout: connectiontimeout, datasourceclassname: datasourceclassname, datasourceproperties: dsprops, maxlifetime: maxlifetime ] // default max pool size of 10 seems reasonable now, no need configure now. hikariconfig hc = new hikariconfig(configprops) hikaridatasource ds = new hikaridatasource(hc) ds } }

java spring spring-boot hikaricp

No comments:

Post a Comment