小编典典

无法设置spring.datasource.type

spring-boot

我正在尝试在我的Spring Boot服务器上设置c3p0。这是我的配置

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

我的问题是我不知道如何告诉spring.datasource使用

com.mchange.v2.c3p0.ComboPooledDataSource

我看到的所有XML定义都使用类似

<bean id="dataSource" class = "com.mchange.v2.c3p0.ComboPooledDataSource">

无法在application.properties中设置数据源类型/类吗?

根据这个

https://github.com/spring-projects/spring-boot/blob/master/spring-boot-
docs/src/main/asciidoc/appendix-application-
properties.adoc

spring.datasource.type= # fully qualified name of the connection pool implementation to use

但据此

http://docs.spring.io/spring-boot/docs/current/reference/html/common-
application-properties.html

(对于我的STS).type选项不存在。这是一个错误还是我应该以不同的方式使用?

您的帮助将不胜感激!

干杯!


阅读 1233

收藏
2020-05-30

共1个答案

小编典典

spring.datasource.type在1.3行中已引入,因此您需要Spring Boot
1.3.0.M5才能使用该属性(IDE中的内容帮助应为您提供适当的提示)。

在1.2.x上,您需要自己创建DataSourcebean来强制类型,例如

@Bean
@ConfigurationProperties("spring.datasource")
public DataSource dataSource() {
   return DataSourceBuilder.create().type(ComboPooledDataSource.class)
            .build();
}
2020-05-30