如何配置tomcat数据源?
Posted
技术标签:
【中文标题】如何配置tomcat数据源?【英文标题】:How to configure tomcat Datasource? 【发布时间】:2020-03-03 09:01:36 【问题描述】:在 build.gradle 我有:
compile 'org.springframework.boot:spring-boot-starter-web'
compile 'org.springframework.boot:spring-boot-starter-web-services'
compile 'org.springframework.boot:spring-boot-starter-amqp'
compile("org.springframework.boot:spring-boot-starter-jdbc")
exclude module: "spring-boot-starter-hikari"
compile group: 'org.apache.tomcat', name: 'tomcat-jdbc', version: '9.0.21'
我尝试在application.yml中配置DataSource(位于tomcat/../resource_directory)
spring:
datasource:
jdbc-url: "jdbc:oracle:thin: ...."
username: "admin"
password: "admin"
driver-class-name: "oracle.jdbc.driver.OracleDriver"
type: "org.apache.tomcat.jdbc.pool.DataSource"
tomcat:
initialSize: 55
max-wait: 10000
max-active: 50
max-idle: 15
min-idle: 8
default-autoCommit: false
我在我的代码中使用了@Autowired。但是当我调试我的代码时,我有下一个:
log.info("dataSource: " + dataSource.toString());1
log.info("dataSourceClass: " + dataSource.getClass());2
dataSource: HikariDataSource (null) 1
dataSourceClass: class com.zaxxer.hikari.HikariDataSource 2
在我接下来看到的日志文件中:
Loaded 1 document from YAML resource // with correct path to file.
并正确加载数据:
spring=datasource=jdbc-url=jdbc...., username=admin, password=admin, driver-class-name=oracle.jdbc.driver.OracleDriver,
type=org.apache.tomcat.jdbc.pool.DataSource, tomcat=initialSize=55, max-
wait=10000, max-active=50, max-idle=15, min-idle=8, default-
autoCommit=false
当我将配置放入 src/resources 中的 application.propertes 时,我得到了正确的 tomcat 数据源。
dataSource: org.apache.tomcat.jdbc.pool.DataSourc //1
dataSourceClass: class org.apache.tomcat.jdbc.pool.DataSource//2
我做错了什么!??请帮我解决这个困惑。
【问题讨论】:
为什么不将 yml 放在属性文件之类的资源中。如果两个属性都会被选中,那么只保留一个 yml。 【参考方案1】:你实际上应该排除:
com.zaxxer:HikariCP
编辑:另外,我认为this answer 也可能有帮助
【讨论】:
以上是关于如何配置tomcat数据源?的主要内容,如果未能解决你的问题,请参考以下文章