嵌入式码头服务器的 Spring Boot 数据源特定属性

Posted

技术标签:

【中文标题】嵌入式码头服务器的 Spring Boot 数据源特定属性【英文标题】:Spring boot datasource specific properties for embedded jetty server 【发布时间】:2018-01-08 14:07:14 【问题描述】:

我有 spring boot 应用程序,它基本上是一个 gradle 项目,所以,我在我的 gradle 文件中添加了以下依赖项:

org.springframework.boot:spring-boot-gradle-plugin:1.5.1.RELEASE

应用程序被部署在嵌入式码头服务器中。我在 application.properties 中有以下一组属性用于数据库连接轮询:

spring.datasource.driver-class-name
spring.datasource.max-active
spring.datasource.max-idle
spring.datasource.min-idle
spring.datasource.validation-query
spring.datasource.name

我指的是以下两个链接:

https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-1.4-Configuration-Changelog

https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-1.5-Configuration-Changelog

我了解到,我的应用程序的 application.properties 文件中使用的一些数据源属性从 sprint 启动版本 1.4 开始被删除,但问题是他们没有提到要使用的新属性是什么。与 tomcat 服务器一样,它们提供了所有属性集,但不适用于 jetty 服务器。在我的应用程序运行一段时间后,我遇到了一些与数据库相关的错误,例如“连接太多”,我的假设是我当前使用的数据源道具不正确,应该用正确的值替换,但不幸的是我无法找到正确的属性名字。

【问题讨论】:

【参考方案1】:

Jetty 没有自己的 Pooling DataSource 实现。您可以在项目中包含 HikariCP 并使用 spring.datasource.hikari.* 属性进行自定义。每个属性都与可以在 Hikari 的数据源实现上设置的 bean 属性匹配。

【讨论】:

感谢您的回答。我已经添加了 hikari 道具,您知道如何确保这些新属性是否真的被读取并创建了连接池吗?

以上是关于嵌入式码头服务器的 Spring Boot 数据源特定属性的主要内容,如果未能解决你的问题,请参考以下文章

用于 Spring Boot 的嵌入式 Redis

Spring Batch 使用带有 Spring Boot 的 MongoDB 抛出无法确定数据库类型的嵌入式数据库驱动程序类 NONE

Spring Boot postgresql嵌入式tomcat启动失败

如何在嵌入式 tomcat 服务器上部署 Spring Boot Web 应用程序,来自 Spring Boot 本身

Spring boot Artemis 嵌入式代理行为

如何为嵌入式码头/弹簧安全启用 HTTP 摘要?