I'm trying to setup c3p0 on my spring boot server. This is my config right now
spring.datasource.url=jdbc:mysql://url/db
spring.datasource.username=username
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.test-on-borrow=true
#spring.datasource.test-while-idle=true
spring.datasource.validation-query=SELECT 1
#spring.datasource.time-between-eviction-runs-millis=10000
#spring.datasource.min-evictable-idle-time-millis=30000
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.globally_quoted_identifiers=true
spring.jpa.properties.hibernate.connection.provider_class=org.hibernate.connection.C3P0ConnectionProvider
spring.jpa.properties.hibernate.connection.driver_class=com.mysql.jdbc.Driver
spring.jpa.properties.hibernate.connection.url=jdbc:mysql://url/db
spring.jpa.properties.hibernate.connection.username=username
spring.jpa.properties.hibernate.connection.password=password
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
spring.jpa.properties.hibernate.show_sql=true
#spring.jpa.properties.hibernate.hbm2ddl.auto=create-drop
spring.jpa.properties.hibernate.c3p0.max_size=30
spring.jpa.properties.hibernate.c3p0.min_size=7
spring.jpa.properties.hibernate.c3p0.acquire_increment=1
spring.jpa.properties.hibernate.c3p0.idle_test_period=100
spring.jpa.properties.hibernate.c3p0.max_statements=0
spring.jpa.properties.hibernate.c3p0.max_idle_time=200
spring.jpa.properties.hibernate.c3p0.url=jdbc:mysql://url/db
spring.jpa.properties.hibernate.c3p0.username=username
spring.jpa.properties.hibernate.c3p0.password=password
spring.jpa.properties.hibernate.c3p0.driverClassName=com.mysql.jdbc.Driver
My problem is that I can't figure out how to tell spring.datasource to use
com.mchange.v2.c3p0.ComboPooledDataSource
All XML definitions I saw use something along the lines of
<bean id="dataSource" class = "com.mchange.v2.c3p0.ComboPooledDataSource">
Is it not possible to set the datasource type/class in application.properties?
According to this
https://github.com/spring-projects/spring-boot/blob/master/spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc
there is
spring.datasource.type= # fully qualified name of the connection pool implementation to use
but according to this
http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
(and to my STS) the .type option doesn't exist. Is this a bug or am I supposed to use this differently?
Your help will be much appreciated!
Cheers!
spring.datasource.type
has been introduced in the 1.3 line so you need Spring Boot 1.3.0.M5
to use that property (content assistance in your IDE should have give you the proper hint).
On 1.2.x you need to create the DataSource
bean yourself to force the type, something like
@Bean
@ConfigurationProperties("spring.datasource")
public DataSource dataSource() {
return DataSourceBuilder.create().type(ComboPooledDataSource.class)
.build();
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With